| 2026-06-16 |
Harden realtor profile search rules and filters
...
- Add hard rule: only listings returned by MCP tools may be reported;
no invented addresses, prices, contacts, or 'similar' examples.
- Replace weak fallback with mandatory multi-attempt fallback order
(switch search type, drop filters, simplify query, widen location,
minimal search) before reporting no results.
- Expand filter list to full MetadataFilters set with enum values.
- Add explicit mapping of vague user phrases to concrete filters
(e.g. 'с ремонтом' -> renovation_status, 'у метро' -> metro_distance).
- Add forbidden query patterns and good/bad Ukrainian query examples.
- Sync MCP server instructions with same anti-hallucination and filter
rules, including example queries.
Eugene Sukhodolskiy
committed
9 days ago
|
Apply rent_bot user flow to realtor profile
...
- Expand realtor system prompt with full user-flow semantics:
onboarding, parameter extraction, clarifying questions, semantic vs FTS
search, carousel-style results, detail card, contact/favorite/more/passive
search follow-up actions. Add image rendering instructions.
- Extend vmk_data MCP server instructions to mention listing image URLs.
Eugene Sukhodolskiy
committed
9 days ago
|
| 2026-06-12 |
Fix vmk_data MCP server URL: add /mcp endpoint path
...
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
13 days ago
|
Add vmk_data MCP server and realtor profile for real estate search
...
- mcp_servers.d/vmk_data.json: streamable_http to localhost:8080
- navi/profiles/realtor/: config + system_prompt + subagent_system_prompt
Profile includes semantic & FTS search, listing details, schema tools
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
13 days ago
|
| 2026-05-24 |
Update gnexus-creds MCP instructions: require tags, category, and allow_mcp
...
- Add rule to always include `tags` and `category` when creating secrets
- Add rule to always set `allow_mcp=true` so secrets remain visible through MCP
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 24 May
|
Add MCP streamable_http transport, integrate gnexus-creds, and document headless nodes
...
- navi/mcp/client.py: add streamable_http transport via httpx + mcp.client.streamable_http
- navi/mcp/config.py: add "streamable_http" to transport literal and is_streamable_http property
- mcp_servers.d/gnexus-creds.json: new MCP server config with overlay instructions for secret workflow
- docs/future_headless_nodes.md: architecture exploration for headless Navi node swarm
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 24 May
|
| 2026-05-21 |

Migrate MCP tool naming from mcp:server:tool to mcp__server__tool
...
The colon separator (mcp:server:tool) confuses many LLMs during
tool-calling because colons appear in schemas and URLs. Switch to
double-underscore separator (mcp__server__tool) for robust parsing.
Key changes:
- navi/mcp/tools.py: add build_mcp_name(), parse_mcp_name(), is_mcp_tool()
- navi/core/tool_executor.py: update _resolve_tool() with new helpers
and legacy colon fallback for old sessions
- navi/core/tool_utils.py, subagent_runner.py: use build_mcp_name()
- navi/api/routes/{admin,agents}.py: prefix via build_mcp_name()
- navi/tools/{list_tools,reload_tools}.py: migrated
- All profile configs + system_prompt.txt: replace mcp: with mcp__
- manuals/{model_3d,lint_scad,render_3d,spawn_agent}.md: updated
- mcp_servers.d/gnexus-book.json: instructions updated
- docs/{api,profiles,tools,mechanics,visual.html}: updated
- tests: test_tool_executor.py and test_mcp.py aligned
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 21 May
|
| 2026-05-15 |
chore: remove test MCP servers from repo
...
project_health and time_toolkit were created for development testing
and should not be part of the committed codebase.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 15 May
|
refactor: migrate MCP config to directory-based mcp_servers.d
...
Replaces monolithic mcp_servers.json with per-server files in
mcp_servers.d/<name>.json. Filename stem becomes the server name.
- load_mcp_servers() reads directory globs, auto-migrates legacy file
- save_mcp_servers() writes per-server files, cleans up stale ones
- Update docstrings in manager.py and context_builder.py
Auto-migration: existing servers (gnexus-book, navi-3d, navi-web) plus
new ones (project_health, time_toolkit) now live in mcp_servers.d/.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 15 May
|