MCP Architecture
How the DMTR MCP server exposes resources, tools, and prompts.
Overview
The DMTR MCP server is a bridge between MCP clients (LLMs) and the DMTR API. It implements the MCP protocol and translates resource fetches and tool invocations into DMTR API calls. The architecture is stateless: the server holds no persistent data; all state lives in DMTR.
Server architecture
The MCP server runs as a standalone process. Clients connect via stdio (for local use) or HTTP (for remote deployment). The server authenticates to DMTR using the API key provided at startup or in the client config. It exposes a fixed set of tools and resources; clients discover these via the MCP protocol's initialization handshake.
Resource model
Resources are read-only data identified by URIs. DMTR exposes four resource types: position://, portfolio://, participant://, and event://. Each URI can include query parameters for filtering (e.g., position://?portfolio_id=xyz). The server fetches data from the DMTR API and returns it in the format requested by the client (typically JSON).
Tool model
Tools are functions the LLM can invoke. Each tool has a name, input schema, and output schema. DMTR tools include query-registry (natural language search), evaluate-transfer (feasibility check), surface-inventory (inventory for copilots), express-intent (IOI), and generate-report (AI reporting). Tools are idempotent where possible; side effects are documented per tool.
Prompt model
Prompts are pre-built templates with variables. The LLM can request a prompt (e.g., portfolio-review) with variables filled in, and the server returns the rendered prompt text. DMTR provides portfolio-review, transfer-feasibility, and compliance-check prompts. Prompts help standardize common workflows across clients.
Data flow
- Client sends tool call or resource request to MCP server. 2. Server validates input and authenticates to DMTR. 3. Server maps request to DMTR API endpoint and executes. 4. Server formats response and returns to client. 5. LLM uses response to generate natural language answer. All DMTR API calls are logged for audit; the MCP layer does not cache responses.