Skip to main content
ClaudeWave

Universal MCP server that emits Context Passport records for AI agent actions. Implements Context Passport for MCP.

MCP ServersOfficial Registry0 stars0 forksTypeScriptApache-2.0Updated today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (Apache-2.0)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 8/21/2026
Install in Claude Code / Claude Desktop
Method: pip / Python · context-passport
Claude Code CLI
claude mcp add mcp -- python -m context-passport
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "mcp": {
      "command": "python",
      "args": ["-m", "context-passport"],
      "env": {
        "DARKMATTER_API_KEY": "<darkmatter_api_key>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Install first: pip install context-passport
Detected environment variables
DARKMATTER_API_KEY
Use cases

MCP Servers overview

# DarkMatter MCP Server

Universal MCP server that emits [Context Passport](https://contextpassport.com) 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](https://darkmatterhub.ai). Implements [Context Passport v2.0](https://github.com/contextpassport/spec), 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.):

```json
{
  "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 action
- `darkmatter_verify` — check that the chain has not been tampered with
- `darkmatter_replay` — walk the full chain in order
- `darkmatter_export` — produce a portable proof bundle
- `darkmatter_list_sessions` — see what sessions exist locally

## Local by default, published when you ask

With no configuration the server keeps every record on your own disk. The
chain verifies offline through `darkmatter_verify`, so you can evaluate the
whole idea without an account.

Set an API key to publish records and get a link somebody else can check:

| Variable | Effect |
|---|---|
| `DARKMATTER_API_KEY` | Publishes each record to DarkMatter and returns a `verify_url`. Get one at [darkmatterhub.ai](https://darkmatterhub.ai). |
| `DARKMATTER_SHARE` | Set to `true` to make published records readable by anyone with the link. Off by default, because publishing is not something to do to your records without being asked. |
| `DARKMATTER_API_URL` | Override the API host. Defaults to `https://darkmatterhub.ai`. |
| `DARKMATTER_MCP_STORE_DIR` | Where local records are written. |

`commit` reports which of the two happened, in the `storage` field. If
publishing fails the record is still committed locally and the error is
returned alongside it, so a network problem cannot cost you the record.

> **Changed in 0.3.0.** Earlier versions returned a
> `https://darkmatterhub.ai/r/{id}` link for every commit while making no
> network calls at all, so the link always 404ed. A verification URL is now
> returned only when there is a published record behind it.

## 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](#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: {...}, storage: "local", verify_url: null,
           note: "Saved locally and verifiable offline..." }
```

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:

```bash
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](https://github.com/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:

```bash
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:

```python
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](https://github.com/contextpassport/spec/blob/main/proposals/context-passport-for-mcp.md) 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](https://github.com/contextpassport/spec).

## Related repositories

- [github.com/contextpassport/spec](https://github.com/contextpassport/spec) — the open standard
- [github.com/contextpassport/python](https://github.com/contextpassport/python) — Python reference SDK
- [github.com/contextpassport/typescript](https://github.com/contextpassport/typescript) — TypeScript reference SDK
- [github.com/darkmatter-hub/claude-code](https://github.com/darkmatter-hub/claude-code) — auto-capture for Claude Code
- [github.com/darkmatter-hub/darkmatter](https://github.com/darkmatter-hub/darkmatter) — DarkMatter receiving server
agentsaiauditcontextpassportdarkmattermcpmodel-context-protocolprovenanceverification

What people ask about mcp

What is darkmatter-hub/mcp?

+

darkmatter-hub/mcp is mcp servers for the Claude AI ecosystem. Universal MCP server that emits Context Passport records for AI agent actions. Implements Context Passport for MCP. It has 0 GitHub stars and its last recorded update is dated 2026-08-20.

How do I install mcp?

+

You can install mcp by cloning the repository (https://github.com/darkmatter-hub/mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is darkmatter-hub/mcp safe to use?

+

Our security agent has analyzed darkmatter-hub/mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains darkmatter-hub/mcp?

+

darkmatter-hub/mcp is maintained by darkmatter-hub. The last recorded GitHub activity is dated 2026-08-20, with 0 open issues.

Are there alternatives to mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: darkmatter-hub/mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/darkmatter-hub-mcp)](https://claudewave.com/repo/darkmatter-hub-mcp)
<a href="https://claudewave.com/repo/darkmatter-hub-mcp"><img src="https://claudewave.com/api/badge/darkmatter-hub-mcp" alt="Featured on ClaudeWave: darkmatter-hub/mcp" width="320" height="64" /></a>

More MCP Servers

mcp alternatives