Skip to content
Dark MatterDark Matter
MCP

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

  1. 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.
Edit this page on GitHub

Last reviewed: March 13, 2026

Was this page helpful?