How nikitakorotaevnikita-sudo/mcp-directum-rx works
MCP Directum RX is a Russian-language chat assistant and backoffice for querying and acting on Directum RX through an LLM tool interface and deterministic routes. The primary workflow runs from the chat UI through FastAPI to the LLM service, which dispatches tools to domain services; those services use the Directum OData client, and results return for display. Creation uses preview followed by explicit user confirmation. Discipline metrics are computed deterministically and visualized in the browser. The map follows README capabilities; several endpoint internals were not sampled, so uncertain wiring is omitted.
Main entry points: tool_registry.py Tool registry · main.py FastAPI API · directum_client.py OData client · app.js Chat UI
Components 16
User interaction
- Chat UI
src/static/app.js - Backoffice UI
src/static/backoffice.js - Analytics charts
src/static/app.js
Chat orchestration
- FastAPI API
src/main.py - LLM service
src/services/llm_service.py - Tool registry
src/services/tool_registry.py
Directum capabilities
- Assignments
src/services/assignments.py - Tasks and search
src/services/action_items.py - Current user
src/services/current_user.py - Meetings
src/services/meetings.py - Discipline analytics
src/services/discipline_analytics.py
External systems and state
- OData client
src/services/directum_client.py - Directum RX
- LLM provider
- Metrics storage
src/services/metrics_storage.py
Other components
- User
Connections 22
- User → Chat UI: sends message
- Chat UI → FastAPI API: submits chat
- FastAPI API → LLM service: streams chat
- LLM service → LLM provider: requests completion
- LLM service → Tool registry: dispatches tools
- Tool registry → Assignments: queries assignments
- Tool registry → Tasks and search: searches or creates
- Tool registry → Current user: resolves user
- Tool registry → Meetings: queries meetings
- Tool registry → Discipline analytics: requests metrics
- Assignments → OData client: queries OData
- Tasks and search → OData client: searches and posts
- Current user → OData client: queries OData
- Meetings → OData client: queries OData
- Discipline analytics → OData client: counts OData
- OData client → Directum RX: reads and writes
- FastAPI API → Metrics storage: records and reads
- FastAPI API → Chat UI: returns response
- FastAPI API → Backoffice UI: serves backoffice
- Backoffice UI → FastAPI API: requests settings
- Chat UI → Analytics charts: renders analytics
- User → Backoffice UI: opens backoffice