DarkMatter MCP Server
Universal MCP server that emits Context Passport records for AI agent decisions and actions. Drop into any MCP-compatible client to give your agent a commit/verify/replay/export toolset for verifiable, tamper-evident records.
README
DarkMatter MCP Server
Universal MCP server that emits Context Passport records for AI agent decisions and actions. Drop into any MCP-compatible client (Claude Code, Cursor, Cline, Continue, ChatGPT Desktop, Zed, Goose, and others) to give your agent a commit / verify / replay / export toolset for verifiable, tamper-evident records.
Built by DarkMatter. Implements Context Passport v2.0, an open CC0 standard. Records emitted by this server use RFC 8785 (JCS) canonicalization and are byte-equivalent across the Python and TypeScript reference SDKs.
Install
In your MCP client's config (claude_desktop_config.json, Cursor's mcp.json, etc.):
{
"mcpServers": {
"darkmatter": {
"command": "npx",
"args": ["-y", "@darkmatterhub/mcp-server"]
}
}
}
Restart the client. Five tools become available to your agent:
darkmatter_commit— record an agent decision or actiondarkmatter_verify— check that the chain has not been tampered withdarkmatter_replay— walk the full chain in orderdarkmatter_export— produce a portable proof bundledarkmatter_list_sessions— see what sessions exist locally
What gets captured
Whatever the agent (or user) explicitly invokes via darkmatter_commit. Auto-capture of every tool call without explicit invocation is a separate component (see Auto-capture below).
Example agent flow:
User: Approve the refund for order #1247 and record the decision.
Agent: Calls refund_order(1247).
Agent: Calls darkmatter_commit({
input: "Approve refund for order #1247",
output: "Approved. $84.00 refunded to original payment method.",
role: "compliance",
event_type: "commit"
})
Result: { ok: true, passport: {...}, verify_url: "https://darkmatterhub.ai/r/ctx_..." }
The passport is signed (if a key is configured), hash-chained to the previous commit in the session, and stored locally at ~/.darkmatter/mcp/<session_id>/chain.jsonl.
Storage
Default: local-only. Passports never leave the machine.
~/.darkmatter/mcp/
├── default/
│ ├── chain.jsonl # append-only stream of all commits
│ └── latest.json # most recent passport (used as parent for the next)
└── <other-session-id>/
└── ...
To forward each passport to a DarkMatter receiving server in addition to local storage, set:
export DARKMATTER_API_KEY="dm_sk_..."
The forwarding is best-effort and never blocks the agent's tool call. Local storage remains the source of truth.
Auto-capture
The MCP server captures only what the agent explicitly invokes. To auto-capture every tool call and turn boundary in a specific dev tool (without the agent having to remember to call darkmatter_commit), install one of the dev-tool-specific adapters:
- darkmatter-hub/claude-code — auto-capture for Claude Code (Anthropic)
- Cursor adapter — planned
- OpenAI Codex adapter — planned
- Aider adapter — community-built welcome
Each adapter hooks into its specific dev tool's event lifecycle and routes events through this MCP server's darkmatter_commit tool. One canonical endpoint, many capture surfaces.
Verification
Records are valid Context Passport v2.0 artifacts. Verify with any conformant implementation:
pip install context-passport context-passport-conformance
context-passport-conformance --level signed # 9/9 vectors, no --vectors-dir needed
The conformance package ships its vectors inside the wheel, so this is a one-line check against the public reference suite.
Or use the offline reference verifier directly on the JSONL file:
import json
from context_passport import verify_chain
with open("~/.darkmatter/mcp/default/chain.jsonl") as f:
chain = [json.loads(line) for line in f]
print(verify_chain(chain)) # True if intact, False if tampered
Why MCP
MCP (Model Context Protocol) is becoming the universal interop layer for AI tools. Writing this server once means it works in every MCP-compatible client without per-client integration code. See the Context Passport for MCP proposal for the broader architectural rationale.
License
Apache-2.0. See LICENSE.
The Context Passport schema this server implements is released separately under CC0 1.0 at github.com/contextpassport/spec.
Related repositories
- github.com/contextpassport/spec — the open standard
- github.com/contextpassport/python — Python reference SDK
- github.com/contextpassport/typescript — TypeScript reference SDK
- github.com/darkmatter-hub/claude-code — auto-capture for Claude Code
- github.com/darkmatter-hub/darkmatter — DarkMatter receiving server
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.