Thin MCP wrapper exposing content-provenance and quality-scoring as 5 tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Inspect callable tools, capabilities, and parameters exposed to AI agents by Agent Services Mcp.
certify_provenancecontent` (string), `generator_metadata` (object, optional)
verify_provenancecontent` (string), `receipt` (object)
score_qualitycontent` (string), `rubric_version` (string, optional), `target_score` (number 0β100, optional)
verify_qualitycontent` (string), `receipt` (object)
get_quality_rubricnone
audit_actionaction` (string), `actor_metadata` (object), `context` (object, optional)
A single thin MCP (Model Context Protocol) server that exposes three existing services as discoverable tools, so AI agents and MCP-compatible clients can find and use them through one connection:
It is a thin wrapper. Every tool forwards an HTTP call to the underlying Worker and returns its response verbatim. It does not reimplement signing, scoring, or payment logic β those live in the underlying services. The honesty about what each service proves carries through to the tool descriptions.
examples/free-call.mjs runs an MCP client against this server (pointed at the live
deployments) and calls get_quality_rubric and verify_audit β both free, no
wallet needed. To wire the server into an MCP client (Claude Desktop / Claude Code
style), see Connecting an MCP client below.
Free vs paid at a glance: verify_provenance, verify_quality, verify_audit,
and get_quality_rubric are free. certify_provenance, score_quality, and
audit_action are paid (an x402 USDC micropayment on Base) β see Calling paid
tools for the two-step payment flow and a working example.
generator_metadata is caller-attested
β it proves you claimed it, not that a specific model ran. Not AI-detection,
not a truth guarantee.get_quality_rubric tool.action, actor_metadata,
and context are caller-attested β it proves you claimed this record, not
that the agent's claim is true. An accountability/audit tool, not a
lie-detector.| Tool | Forwards to | Paid? | Input |
|---|---|---|---|
certify_provenance | provenance-receipts POST /v1/certify | yes (x402) | content (string), generator_metadata (object, optional) |
verify_provenance | provenance-receipts POST /v1/verify | no | content (string), receipt (object) |
score_quality | quality-gate POST /v1/score | yes (x402) | content (string), rubric_version (string, optional), target_score (number 0β100, optional) |
verify_quality | quality-gate POST /v1/verify | no | content (string), receipt (object) |
get_quality_rubric | quality-gate GET /v1/rubric | no | none |
audit_action | agent-action-audit POST /v1/audit | yes (x402) | action (string), actor_metadata (object), context (object, optional) |
verify_audit | agent-action-audit POST /v1/verify | no | action (string), actor_metadata (object), context (object, optional), receipt (object) |
Full descriptions and Zod input/output schemas: src/tools.ts.
Each tool returns the service's raw JSON (or markdown, for the rubric) as text; the
verify_* and score_quality tools also declare an outputSchema and return
parsed structuredContent you can read directly (e.g. result.structuredContent.valid).
A non-2xx response (including a 402 Payment Required) is surfaced with
isError: true and the body preserved β for a 402 the wrapper prepends a short,
actionable note on how to pay. The three paid tools also accept an optional
x_payment input (the x402 X-PAYMENT token) to settle payment through the
wrapper β see Calling paid tools.
The three service URLs are environment-configurable (no secrets β just base URLs):
| Env var | Live (deployed) | Local dev fallback |
|---|---|---|
PROVENANCE_URL | https://provenance-receipts.gpmiddleton71.workers.dev | http://localhost:8787 |
QUALITY_GATE_URL | https://quality-gate.gpmiddleton71.workers.dev | http://localhost:8788 |
AUDIT_URL | https://agent-action-audit.gpmiddleton71.workers.dev | http://localhost:8789 |
.env.example and the client config below point at the live deployments. If
the vars are unset, the server falls back to localhost for local wrangler dev
(the Workers default to :8787, so run quality-gate on :8788 and
agent-action-audit on :8789 to avoid clashes).
Against the live services, the paid tools (
certify_provenance,score_quality,audit_action) require x402 β this wrapper forwards the request and holds no wallet, so without anX-PAYMENTthey return a402(the payment requirements) surfaced asisError. The free tools work as normal.
The three paid tools require an x402 micropayment (USDC on Base mainnet). The wrapper holds no wallet β it never spends on your behalf β so paying is a two-step flow:
x_payment. You get back a 402 whose body is the x402
payment requirements (network, asset, amount, payTo). The wrapper prepends a
one-line note explaining what to do next.X-PAYMENT token from those requirements with an x402 client +
a funded wallet, then call the tool again with that token in the x_payment
input. The wrapper forwards it as the X-PAYMENT header; the underlying service
verifies, settles, and returns the signed receipt.Easiest path to a working paid call β let an x402 client settle for you against the underlying service directly:
examples/paid-call.mjs uses x402-fetch + a throwaway Base-mainnet wallet
(holding a little real USDC) to pay for and call audit_action. ~$0.01 USDC moves
buyer β the service's payTo, gasless (the facilitator pays gas). Real money β use
a disposable key with a few cents only. The same applies to certify_provenance
and score_quality.
scripts/test-client.mjs exercises the free tools locally; scripts/test-score.mjs
makes one real Anthropic scoring call through score_quality;
scripts/test-live.mjs points the wrapper at the deployed workers.dev URLs and
asserts the free tools work and the paid tools forward the x402 402.
This server speaks MCP over stdio (stdin/stdout). Any MCP client launches it
as a subprocess. Example for a Claude Desktop / Claude Code style
mcpServers config:
npm run build first so dist/index.js exists.tools/list (it will see the 7 tools above), and
invokes them via tools/call.Programmatically, connect with the SDK's Client + StdioClientTransport
(command: "node", args: ["dist/index.js"]) β see scripts/test-client.mjs.
The paid endpoints (/v1/certify, /v1/score, /v1/audit) are gated by
x402 on the underlying services. This wrapper
forwards requests and does not hold a wallet. If a service has payments
enabled and no valid X-PAYMENT is supplied, it returns 402 with the payment
requirements β the wrapper surfaces that as isError with the requirements body
intact. Settling a payment (signing an x402 authorization) is the client's
responsibility against the underlying service. See each service's README.md /
docs/API.md for the x402 details. Base Sepolia testnet only β no mainnet.
The receipts returned by certify_provenance, score_quality, and audit_action
are Ed25519-signed and verifiable without trusting any of these services β
re-hash the content/record and check the signature against the service's public
key. Each service ships a runnable independent verifier and recipe: see
provenance-receipts/docs/VERIFYING.md,
quality-gate/docs/VERIFYING.md,
and agent-action-audit's docs/VERIFYING.md.
src/tools.ts)*.gpmiddleton71.workers.dev)
and verified end-to-end via scripts/test-live.mjs: free tools work; paid
tools forward the x402 402.All seven tool paths verified against the live deployments (including one paid
score_quality call end-to-end through the wrapper); the paid tools
(certify_provenance, score_quality, audit_action) forward the x402 402.
@modelcontextprotocol/sdk
v1.29.0 (TypeScript), stdio transport, zod
input schemas.tsc β dist/).Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/agent-services-mcp)<a href="https://allmcps.com/mcp/agent-services-mcp"><img src="https://allmcps.com/api/badge/agent-services-mcp?style=directory" alt="Agent Services Mcp on AllMCPs" /></a>