Skip to main content

MCP Server

Model Context Protocol server for AI agents and coding assistants. Verify decision trails natively without sitting in the pipeline or adding latency.

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI agents and coding assistants call external tools and resources in a structured way. Decision Keep's MCP server exposes the forensic witness as a first-class tool so agents can verify decision trails natively, without hitting the verification endpoint from application code.

The server is dependency-free (plain Node, no MCP SDK) and runs over stdio. It is designed for AI consumption: every response is a compact, hash-preserving summary that never exhausts an LLM context window and never exposes raw payloads.

Available tools

verify_receiptPublic

Verify a receipt (content, chain, signature, sequence continuity, TSA, erasure). No token required.

Parameters

{ "receipt": "RCP-20260710-1A2B3C" }
get_receiptMCP token

Fetch a stored decision as a compact, hash-preserving summary. Requires DECISIONKEEP_MCP_TOKEN.

Parameters

{ "receipt": "RCP-20260710-1A2B3C" }
export_ledgerMCP token

Export a compact, cryptographically-integrity-preserving summary of an org's ledger for capture-completeness auditing.

Parameters

{ "org_id": "org-abc", "limit": 100 }
get_attestationMCP token

Fetch reconciliation/attestation summaries (the auditor's 'did you capture everything?' cross-check) for an org.

Parameters

{ "org_id": "org-abc" }

Available resources

MCP resources expose data as URI-addressed documents. The Decision Keep server provides:

decisionkeep://verify/{receipt}

Verification result for a receipt.

decisionkeep://org/{org_id}/ledger?limit=N

Paginated, hash-preserving ledger summary.

Configuration

The MCP server is configured via environment variables and registered in your MCP client's config file. The server requires Node >=18.

Environment variables

  • DECISIONKEEP_BASE_URLYour instance URL.
  • DECISIONKEEP_MCP_TOKENScoped read token (maps to server-side DK_MCP_TOKEN).

Server-side (operator)

  • DK_MCP_TOKENBearer token for the /api/mcp read endpoint.
  • DK_MCP_ORGThe org the token is scoped to.

Example usage

Register the server in your MCP client configuration. Below are examples for common clients.

Claude Desktop

{
  "mcpServers": {
    "decisionkeep": {
      "command": "node",
      "args": ["mcp/server.mjs"],
      "env": {
        "DECISIONKEEP_BASE_URL": "https://decisionkeep.com",
        "DECISIONKEEP_MCP_TOKEN": "..."
      }
    }
  }
}

Cursor

{
  "mcpServers": {
    "decisionkeep": {
      "command": "node",
      "args": ["mcp/server.mjs"],
      "cwd": "/path/to/decisionkeep",
      "env": {
        "DECISIONKEEP_BASE_URL": "https://decisionkeep.com",
        "DECISIONKEEP_MCP_TOKEN": "..."
      }
    }
  }
}

Security

The MCP server enforces strict org scoping and token validation:

  • verify_receipt is public and requires no token.
  • get_receipt, export_ledger, and get_attestation require DECISIONKEEP_MCP_TOKEN.
  • The server-side DK_MCP_TOKEN is pinned to a single org via DK_MCP_ORG. Tokens are compared in constant time to prevent timing attacks.
  • Responses are hash-preserving summaries. Raw payloads are never exposed to the agent, protecting PII and preserving zero-knowledge guarantees.

Source & issues

The MCP server lives in the mcp/ directory of the main repository.

github.com/jluketic/decisionkeep

See the Forensic Witness on your stack

Book a personalised demo and we'll map Decision Keep to your automated-decision obligations and show the evidence trail end to end.

See the Forensic Witness on your stack

Book a personalised demo and we'll map Decision Keep to your automated-decision obligations and show the evidence trail end to end.