clearsigned-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clearsigned-mcpVerify the claim that the Great Wall of China is visible from space."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
clearsigned-mcp
An MCP server that gives any agent a verify_claim tool: calibrated claim verification against
live web evidence, paid per call over x402 ($0.05 USDC on Base), with an Ed25519-signed receipt
the server verifies offline against Clearsigned's pinned published key before your agent sees it.
Tools
Tool | Paid? | What it returns |
| $0.05 USDC |
|
| free | the price an unpaid request is quoted right now, decoded from the 402 |
| free | what is serving, ledger height, published buyer counts |
UNVERIFIABLE is a real answer, not an error: the engine abstains instead of guessing. The price
never depends on the verdict; refunds exist only for failure to deliver. A request with no claim
is refused locally, before any payment.
Related MCP server: Recommend Agentic Trust Layer
Install
pip install clearsigned-mcp # or: pipx install clearsigned-mcp
export CLEARSIGNED_BUYER_KEY=0x… # an EVM key holding a little USDC on Base mainnet
clearsigned-mcp # stdio transportClaude Desktop / Claude Code / any MCP client:
{
"mcpServers": {
"clearsigned": {
"command": "clearsigned-mcp",
"env": { "CLEARSIGNED_BUYER_KEY": "0x…" }
}
}
}The key signs x402 payment authorizations wherever this server runs: on your machine for a local install, or on the registry's runner if you connect through a hosted URL (Smithery offers one). It is never sent to Clearsigned; the service sees the payment, not the key.
How to check us
Pin the key at https://verify.clearsigned.com/pubkey; this server does, and refuses a receipt whose signature does not verify against it.
Walk the public hash-chained ledger at https://verify.clearsigned.com/ledger/verify; every paid receipt and its on-chain settlement are separate events joined on payer and nonce.
Read the live figures at https://clearsigned.com/quality (counts and timings, never a claim) and the serving calibration curve at https://clearsigned.com/stats.json.
Source of truth
This package is developed inside the Clearsigned monorepo (products/mcp-server/) and mirrored
to a public repository for registries and installs. Issues and pull requests on the mirror are
welcome; changes land in the monorepo first.
Development
python -m pytest tests/The tests never touch the network or a wallet: the exchange is injected, and receipts are signed with a throwaway Ed25519 key to exercise the offline verification exactly as production does it.
Available Tools
3 toolsquoteA
Free. The price an unpaid request is quoted right now (USDC atomic units, asset, network, scheme, pay-to address), decoded from the service's HTTP 402 challenge.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This tool has no annotations, so the description carries the full burden of behavioral disclosure. It adds useful context by indicating the quote is free, real-time, and derived from an HTTP 402 challenge, which implies a read-only, side-effect-free operation. It does not, however, mention whether authentication is required, failure modes, or what happens if no 402 challenge is available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with 'Free.', and covers the essential purpose and output fields in a single sentence. The 'Free.' fragment is somewhat cryptic but not wasteful; overall, the definition is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides a solid summary of what the quote contains and where it comes from. It is slightly incomplete regarding the exact invocation context (i.e., that a prior HTTP 402 is required) and the precise format of the decoded data, but it is largely sufficient for an agent to understand and call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the empty input schema requires no explanation; the baseline of 4 applies. The description adds value by describing the output contents (USDC atomic units, asset, network, scheme, pay-to address), which compensates for the absence of an output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool returns the current price for an unpaid request, decoded from an HTTP 402 challenge, and lists concrete fields (USDC atomic units, asset, network, scheme, pay-to address). It is clear enough to identify the tool's purpose and distinguish it from the sibling tools, though it lacks an explicit verb like 'get' or 'retrieve' and the leading 'Free.' adds slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'decoded from the service's HTTP 402 challenge' implies the tool should be used when an unpaid request receives a 402 response, giving meaningful context. However, it does not explicitly state when to use this tool versus verify_claim or service_status, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_statusA
Free. What the service is serving (calibrated engine or stub, curve version), the public ledger height, and the published buyer counts (receipts, distinct payers, external payers).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The description is transparent about being free ('Free') and details the exact data fields returned (engine, curve version, ledger height, buyer counts). This goes beyond a generic status message and informs the agent of the operational context. It doesn't mention side effects or return format, but for a read-only status tool, the description is sufficient. Since annotations are absent, this adds significant value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with 'Free' and the core purpose. It lists key data points in a compact manner. The structure is a single sentence that efficiently packs information without fluff. It could be slightly improved by breaking into a list, but it's clear and direct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides all essential information about what the tool does and what it returns. It includes enough detail about the data fields (engine, curve version, ledger height, buyer counts) to help an agent interpret the result. The lack of an output schema is compensated by this descriptive detail. The description is complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is essentially empty. The description compensates by explaining what data will be returned, which is critical for an agent to know what to expect. Even though there are no parameters, the description's detail about the return contents provides semantic value beyond the empty schema. With zero params, baseline is 4, and the description meets that by adding context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides service status information, including engine type, curve version, ledger height, and buyer counts. It distinguishes this status tool from sibling tools (verify_claim and quote) by its focus on service-level data rather than claims or pricing. While it doesn't explicitly name siblings, the purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for checking service status, which is a standalone health/status check. It doesn't explicitly say when to use it versus alternatives, but given that siblings are 'verify_claim' and 'quote', the context makes it clear this is for status checks, not operations. No explicit exclusions or alternatives provided, but the purpose is distinct enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_claimA
Verify one factual claim (PAID: $0.05 USDC over x402). Returns verdict, calibrated
confidence, per-source stances, receipt id, settlement transaction, and whether the receipt's
signature verified offline against the pinned published key. Optional evidence: strings the
caller already holds, admitted as secondary-tier evidence. Takes about 5-15 seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden—and it delivers. It discloses the payment requirement, latency, the offline signature-verification behavior against the pinned published key, and the verdict/confidence/stances outputs. This is comprehensive behavioral disclosure for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph, properly front-loaded with the core purpose ('Verify one factual claim') before cost and return details. Every clause earns its place—cost, latency, outputs, and evidence semantics—with no filler. It could be slightly more structured, but it remains efficient for the information carried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must fully explain return format and behavior, and it does—listing all return fields (verdict, confidence, stances, receipt id, settlement transaction, signature verification) plus cost and latency. Nothing an agent needs to call this 2-param tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It fully explains `evidence` (strings the caller already holds, admitted as secondary-tier evidence) beyond the bare schema type. The `claim` parameter is only described as 'one factual claim'; its expected format is not elaborated, leaving a minor semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Verify one factual claim') and enumerates its concrete outputs (verdict, calibrated confidence, per-source stances, receipt id, settlement transaction, signature verification). It is clearly distinguishable from siblings quote and service_status, which are obviously different operations, so an agent can route correctly from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when this is appropriate: it is a paid call ($0.05 USDC over x402), takes 5-15 seconds, and the optional `evidence` parameter's role is explained. It does not name a sibling alternative or state when-not-to-use, but quote and service_status differ enough that no routing ambiguity exists, so the absence of exclusions is not a meaningful gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
quote - First observed
service_status - First observed
verify_claim
TDQS
Scored across 3 tools
Each tool serves a completely distinct purpose: verify_claim handles paid claim verification, quote provides pricing information, and service_status reports operational metrics. There is no overlap or ambiguity between them.
Names are clear and follow a lowercase_with_underscores convention, but the pattern is not uniform: verify_claim is verb_noun, quote is a bare verb, and service_status is noun_noun. This minor inconsistency is easily readable.
With only 3 tools, the set is on the smaller side, but it is well-scoped for a focused service that offers claim verification, pricing, and status. Each tool earns its place without feeling sparse.
The core workflow of verifying a single claim is fully covered, along with necessary supporting operations for pricing and status. A potential gap is lack of batch verification, but that may be outside the intended scope.
Related MCP Connectors
Evidence-backed x402 web verification for AI agents, with auditable decisions for every condition.
Verify official facts with Bitcoin-anchored proof. 180+ signals, x402 pay-per-call.
Trust layer for the x402 agent economy: 40 pay-per-call SKUs, USDC on Base, verifiable proofs.
Pay-per-call x402 services for agents: risk scoring, DeFi, wallet and market data.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceFacilitates fact-checking claims by searching the web and returning evidence snippets, with pay-per-call via x402 micropayments on Base L2.MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to verify claims with evidence-based truth scores and confidence levels by running a deterministic pipeline of evidence lanes and adversarial checks.26MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access premium web intelligence tools like fetching pages as markdown, web search, structured extraction, and deep research, with x402 micropayments.0MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to run pay-per-call checks on US freight carriers and brokers, OFAC sanctions lists, and African FX rates using x402 micropayments or a prepaid pass without an API key.MIT