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>
1 parent 92c92f2 commit 29d39ac54e57e634da2ca3c998fda1800141a761
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 9 days ago
Showing 10 changed files
View
mcp_servers.d/navi_ui.json 0 → 100644
View
navi/config.py
View
navi/main.py
View
navi/mcp/ui_server.py 0 → 100644
View
tests/unit/mcp/test_ui_server.py 0 → 100644
View
webclient/src/components/messages/AssistantMessage.vue
View
webclient/src/components/messages/UiComponentCard.vue 0 → 100644
View
webclient/src/composables/useWebSocket.js
View
webclient/src/stores/chat.js
View
webclient/tests/unit/stores/chat.test.js