Skip to main content

MCP server for validating signed agent execution receipts.

Project description

Agent Receipt Validator MCP

A local stdio MCP server for validating signed agent execution receipts against evidence bundles.

This server wraps the verifiable-tool-invocation-flow Python package and exposes receipt validation as MCP tools for local clients such as Claude Desktop, Cursor, and other MCP-compatible agent runtimes.

What This MCP Server Does

  • Validates an execution_receipt.json payload against an evidence_bundle.json payload and a public key PEM.
  • Generates fresh demo artifacts using the same deterministic demo flow as the core package.
  • Summarizes verification reports into verdict, failed checks, warnings, and errors.
  • Runs locally over stdio.

Installation From Local Checkout

cd agent-receipt-validator-mcp
python3.13 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[test]"

MCP Client Config

Use this stdio configuration after installing the package in your local environment:

{
  "mcpServers": {
    "agent-receipt-validator": {
      "command": "agent-receipt-validator-mcp",
      "args": []
    }
  }
}

Tools

validate_receipt_json

Inputs:

  • receipt_json: JSON string containing an execution receipt.
  • evidence_bundle_json: JSON string containing the evidence bundle.
  • public_key_pem: public key PEM string.
  • audience: expected audience, default demo-validator.

Output:

{
  "verdict": "valid",
  "report": {
    "verdict": "valid"
  }
}

generate_demo_artifacts

Inputs:

  • audience: expected audience, default demo-validator.

Output:

{
  "receipt_json": "{...}",
  "evidence_bundle_json": "{...}",
  "public_key_pem": "-----BEGIN PUBLIC KEY-----...",
  "verification_report_json": "{...}",
  "verdict": "valid"
}

The demo artifacts are generated fresh at runtime. The server does not use static expired samples.

summarize_verification_report

Inputs:

  • verification_report_json: JSON string containing a verification report.

Output:

{
  "verdict": "invalid",
  "failed_checks": ["tool_output_hash_match"],
  "warnings": [],
  "errors": ["tool_output_hash_mismatch"]
}

Boundary Statement

This MCP server validates signed execution evidence. It does not prove semantic correctness of the tool output. It does not prove that the policy itself is correct. It does not protect against a compromised signer. It does not replace sandboxing, IAM, access control, monitoring, or human approval. Do not pass private keys, API tokens, confidential evidence bundles, or production receipts to untrusted MCP clients.

This first release is a local stdio MCP server. Remote Streamable HTTP hosting and Smithery publication are future tasks.

Related Projects

Publishing

This package is intended to be published through PyPI Trusted Publishing using GitHub Actions OIDC.

Workflow:

  • .github/workflows/publish.yml
  • TestPyPI environment: testpypi
  • PyPI environment: pypi

No PyPI API token is stored in this repository.

Trusted Publishing must be configured once in TestPyPI/PyPI before the workflow can publish.

Development

pytest tests/test_tools.py
agent-receipt-validator-mcp --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_receipt_validator_mcp-0.1.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_receipt_validator_mcp-0.1.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file agent_receipt_validator_mcp-0.1.1.tar.gz.

File metadata

File hashes

Hashes for agent_receipt_validator_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 83868b3b6e0f76e32fa946d5fc01272e200943d18ab0bc85273b67ea2c0554a7
MD5 c4338f6ca21e62357074a787f3ef8f3e
BLAKE2b-256 58e8817085ac14270efe71b6fa3962842cc0ba2d817659bbb7076556995e79aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_receipt_validator_mcp-0.1.1.tar.gz:

Publisher: publish.yml on joy7758/agent-receipt-validator-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_receipt_validator_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_receipt_validator_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ad716176b62f41c637c1a70dc527ada3d8ebc7c4ac739179ddf4f9c65a54abf6
MD5 279f2a0d096cc9048de5b045f67896ad
BLAKE2b-256 16c870d8ce9e3cb5e574591f42d7d1ced25926d82f2690cfa5aa09057fd45ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_receipt_validator_mcp-0.1.1-py3-none-any.whl:

Publisher: publish.yml on joy7758/agent-receipt-validator-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page