| 2026-06-17 |
Enable realtor profile to create listings via vmk_data create_listing_tool
...
- Persist all inline images to session_files/ and expose public URLs in user context
- Add vmk_data MCP group 'create' with create_listing_tool
- Enable 'create' group in realtor profile config
- Extend realtor system prompt with listing creation workflow and form usage
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
8 days ago
|
| 2026-06-16 |
Simplify navi_ui instructions for small models
...
- mcp_servers.d/navi_ui.json: one-line tool call format, explicit component_name=card_grid, minimal schema, session_id auto-injected.
- navi/mcp/ui_server.py: flatten SERVER_INSTRUCTIONS to a strict JSON schema + numbered hard rules, remove mixed-format examples.
- navi/profiles/realtor/system_prompt.txt: replace YAML-ish example with exact JSON payload, numbered rules, clear session_id auto-injected note.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
9 days ago
|
Add internal navi_ui MCP server for structured UI components
...
- Add navi/mcp/ui_server.py: FastMCP streamable_http server on port 8001
exposing render_component(component_name, payload, session_id).
- Start server in main lifespan before container creation so McpManager can
connect; wire orchestrator once container is ready; clean up on shutdown.
- Add env settings NAVI_UI_MCP_ENABLED/HOST/PORT.
- Add mcp_servers.d/navi_ui.json config with the 'ui' tool group.
- Frontend: dispatch ui_component websocket event, store in chat.js, render
placeholder UiComponentCard inside AssistantMessage.vue.
- Unit tests for ui_server tool and chat.onUiComponent.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
9 days ago
|
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
|