proofrun
Server Details
ProofRun: bounded HTTP acceptance checks for agent deployments. $0.01 USDC per pack.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a fairly distinct role: preflight_pack (free config check), enroll_target (start enrollment), verify_target (verify enrollment proof file), verify_deployment (paid x402 deployment assertion), read_report (fetch purchased report). The two 'verify_' tools overlap in verb and could momentarily be confused since both validate proof, but descriptions clearly separate the free enrollment proof-file check from the paid deployment challenge.
Four tools follow a clean verb_noun pattern (enroll_target, read_report, verify_deployment, verify_target). preflight_pack is the lone deviation, using a noun_noun form, but it remains readable and thematically coherent.
Five tools is a tight, well-scoped set for the proof/enrollment workflow with each tool earning its place. It sits at the lower end of the ideal range but nothing feels redundant or missing enough to be problematic.
The lifecycle is covered end-to-end: preflight validation, enrollment, proof-file verification, paid deployment verification, and report retrieval. There is no list/revoke/cancel-enrollment operation, but the core happy-path and reconciliation workflow is complete.
Available Tools
5 toolsenroll_targetBInspect
Start authorization and origin-control proof for up to five exact read-only HTTPS GET paths. Serve the returned proof JSON at proof_url before verifying. Private read_token must be generated and saved by the caller.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | ||
| origin | Yes | ||
| read_token | Yes | ||
| read_only_paths | Yes | ||
| owner_authorized | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the burden. It usefully discloses the five-path cap, the read-only HTTPS GET restriction, and that the caller must generate/save read_token and host the proof JSON at proof_url. It omits auth requirements, whether enrollment creates persistent state, and any failure/rate-limit behavior.
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?
Three dense sentences, front-loaded with the core action and followed by the workflow prerequisite and token requirement. No filler, though domain jargon slightly reduces immediate scannability.
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, the description helpfully indicates a proof JSON with proof_url is returned, covering the key return artifact. But for a five-required-parameter enrollment tool with zero annotation coverage, the unaddressed 'origin' and 'owner_authorized' semantics leave an agent under-informed.
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 clarifies read_token (caller-generated, private, must be saved) and the read-only-paths constraint, but leaves 'origin' and especially 'owner_authorized' unexplained despite both being required.
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 action (start authorization/origin-control proof enrollment) and its scope: up to five exact read-only HTTPS GET paths. The verb and resource are identifiable, but it does not explicitly distinguish itself from the verification siblings, leaving the agent to infer this is the enrollment step preceding verify_target.
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?
Implies ordering via 'Serve the returned proof JSON at proof_url before verifying,' which signals this precedes verification. However, it never names an alternative or states when NOT to use it, so the routing against preflight_pack or verify_target is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflight_packAInspect
Free configuration and enrollment preflight before paying. Validates exact authorized paths, pack and idempotency format; refuses an existing caller payment attempt. Makes no target request, signature, settlement or ledger write. Not a deployment test, wallet/balance check or capacity reservation.
| Name | Required | Description | Default |
|---|---|---|---|
| checks | Yes | ||
| read_token | Yes | ||
| enrollment_id | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the safety profile well: no target request, signature, settlement, or ledger write, plus the fact that it refuses an existing caller payment attempt and is free. It does not describe auth requirements for read_token or any rate limits, so it is not fully complete.
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?
Three dense sentences, front-loaded with what it is and followed by its guarantees and exclusions. Every sentence carries information, though the compressed phrasing borders on cryptic in places.
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?
There is no output schema and no annotations, so the description is the only source of behavior and return expectations. It covers side-effect and refusal semantics adequately but leaves the four required parameters and the resulting report undocumented, which is a real gap for a validation tool with a structured checks input.
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% across four required parameters, so the description must compensate, but it only loosely gestures at 'authorized paths' (url/path), 'pack', and 'idempotency format'. The nested checks structure (id, url, status, json path/equals, text) and read_token are left unexplained. The hints are marginal against a complex untyped input 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 a concrete action and scope: a free configuration/enrollment preflight that validates authorized paths, pack, and idempotency format. It also carves out what it is not (deployment test, wallet/balance check, capacity reservation), which distinguishes it from siblings like verify_deployment and verify_target. It stops short of 5 because the domain jargon ('pack') is never grounded in plain terms.
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?
'Free configuration and enrollment preflight before paying' gives a clear trigger condition, and 'refuses an existing caller payment attempt' gives a negative condition. The final sentence lists excluded use cases (deployment test, wallet/balance check, capacity reservation) that map onto sibling tools. It doesn't name the sibling alternatives explicitly, so it lands at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_reportAInspect
Read or reconcile the original private report for a purchase. Use the ORIGINAL idempotency_key, not the report_id UUID. Free; never signs or charges. If state is uncertain do not pay again. Requires the original private read token; reports expire after seven days.
| Name | Required | Description | Default |
|---|---|---|---|
| read_token | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it declares the operation is free, 'never signs or charges', requires the original private read token, and that reports expire after seven days. These are genuine side-effect, auth, and lifecycle disclosures. It stops short of describing what comes back or any rate/pagination behavior.
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?
Four short sentences, purpose front-loaded, then parameter identity, cost/safety, and expiry. Every sentence carries distinct information (what, which key, no charge, token + TTL) with no repetition or filler.
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 2-param tool with no annotations and no output schema, the description covers purpose, safety semantics, auth requirement, and expiry well. The notable gap is that with no output schema it does not say what the 'report' contains or what a read returns, leaving return-value expectations unset.
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 description coverage is 0%, so the description must compensate, and it partially does: it clarifies idempotency_key must be the ORIGINAL key and not the report_id UUID, and that read_token is the original private read token. It adds no constraint details (16-64 pattern on the key, 32-128 length on the token), so the schema's format rules remain undocumented in prose.
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 ('Read or reconcile the original private report for a purchase'), scoping it to purchased reports and to the original/private variant. An agent can tell exactly what object is being acted on without opening the schema, and the sibling tools (enroll/verify/preflight) operate on entirely different resources, so no sibling collision exists.
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?
Usage is implied rather than stated: it is for reading/reconciling an already-purchased report, and it warns 'If state is uncertain do not pay again,' which steers the agent away from a re-payment path. However, it never names an alternative tool or an explicit when-not-to-use-this condition, so routing guidance is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_deploymentCInspect
Return a $0.01 native Base USDC x402 challenge without paying. For execution supply a verified enrollment, private read token, idempotency key and caller-created payment_signature or headers.PAYMENT-SIGNATURE. Only that payment header is accepted; enrollment/read token/idempotency remain explicit. Never creates a wallet signature. Returns bounded independent HTTP assertions, not security or full-application certification.
| Name | Required | Description | Default |
|---|---|---|---|
| checks | Yes | ||
| headers | No | ||
| read_token | No | ||
| enrollment_id | No | ||
| idempotency_key | No | ||
| payment_signature | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: it discloses that only the PAYMENT-SIGNATURE header path is accepted, that enrollment/read token/idempotency are always explicit, that it 'never creates a wallet signature', and it constrains the output's meaning ('bounded independent HTTP assertions, not security or full-application certification'). It still leaves unclear whether the calls are read-only and what happens if payment fails, so it is not complete.
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 prose is dense with no obvious filler sentences, but it is mis-front-loaded: the payment-challenge framing leads ahead of what the tool actually does, forcing the reader to reverse-engineer the purpose from later clauses. Structure could be reordered so the verification function comes first.
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 6-parameter, nested-schema, annotation-free tool with no output schema, the description does explain the auth flow and gives a rough characterization of returned assertions, which partly substitutes for a missing output schema. However, the required checks structure and the failure/error behavior are undocumented, leaving real gaps for correct invocation.
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 description coverage is 0% with 6 parameters, so the description must compensate. It gives the roles of enrollment, read token, idempotency key, and payment_signature (including the headers.PAYMENT-SIGNATURE alternative), but it completely omits the required 'checks' parameter, which is the core payload (id/url/status plus json/text assertions) and the hardest part to construct, so the coverage gap is only partially closed.
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 is dominated by payment-challenge mechanics ('Return a $0.01 native Base USDC x402 challenge without paying') and only later implies the real function of running HTTP checks ('Returns bounded independent HTTP assertions'). The verb/resource pairing is muddled, and it never distinguishes itself from the sibling verify_target, so an agent could easily pick the wrong one.
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?
It states the conditions for the execution path ('For execution supply a verified enrollment, private read token, idempotency key...'), which is partial value, but there is no when-to-use guidance relative to siblings like verify_target, preflight_pack, or read_report, and no exclusions or prerequisites (e.g. that a verified enrollment must pre-exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_targetBInspect
Verify the exact proof file for a previously started enrollment. Successful enrollment expires after 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| read_token | Yes | ||
| enrollment_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the enrollment expires after 24 hours and that an enrollment must already exist, but it never states whether verification consumes or invalidates the proof/read_token, whether the call is idempotent, or what happens on an expired enrollment.
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?
Two short sentences, zero filler, with the core action stated first and the expiry caveat second. Nothing needs trimming.
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 two-parameter tool with no annotations, no output schema, and 0% parameter description coverage, the description is too thin: it does not explain what a successful verification returns or means, how the token relates to the enrollment, or the failure modes. The 24-hour note is the only substantive addition.
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 description coverage is 0% — the schema only supplies a pattern and length bounds with no meaning. The description never mentions enrollment_id or read_token; only the phrase 'previously started enrollment' loosely implies where enrollment_id comes from. The read_token's purpose is entirely undocumented.
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 gives a specific verb ('Verify') and resource ('the exact proof file for a previously started enrollment'), which ties it to enroll_target rather than the other siblings. It does not explicitly distinguish itself from verify_deployment, which also performs a verification, so it falls short of a 5.
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?
There is an implied prerequisite ('previously started enrollment') that tells the agent this must follow enroll_target, and the 24-hour expiry gives a timing constraint. However, there is no explicit when-to-use guidance, no statement of when not to use it, and no naming of the alternative verify_deployment.
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.
2 tool updates
- Added
preflight_pack - Added
read_report
1 tool update
- Changed
verify_deployment1 field changed- added
Input schema / properties / headersAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "type": "object" +}
3 tool updates
- First observed
enroll_target - First observed
verify_deployment - First observed
verify_target
Related MCP Connectors
Model proof-of-work policy and latency for AI agents. $1 USDC rehearsal; no runtime protection.
Pre-launch website QA in 60s via real Chromium. $3/check; agents can pay in USDC (x402).
Verify what an AI agent observed before it trusts, pays, or acts. FreshProof provides timestamped public URL observations, Proof Receipts, and policy verification, with paid x402 tools in USDC on Base.
Paid agent work and paid verification, settled in USDC. Verified outcomes get signed receipts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to obtain independent, Ed25519-signed receipts confirming real-world facts: whether a page is online, a domain is legitimate, an email address is deliverable, a heartbeat was declared, or a scheduled task actually ran. Each response includes a verifiable cryptographic receipt, so agents can prove to their users that an asserted outcome was observed by a neutral third party rather than self-attested.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to run deterministic API validation and UI DOM checks, verifying HTTP status codes, JSON schema fields, and page elements with programmatic proof instead of LLM guesswork.MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to purchase and run paid acceptance tests against public HTTPS websites, with tools for quoting, ordering, submitting jobs, checking credits, and retrieving results. Jobs execute deterministic Playwright checks that return a signed acceptance report with evidence once Stripe payment or prepaid credit is confirmed.MIT
- AlicenseAqualityBmaintenanceGive AI agents cryptographically signed proof of web observations: Ed25519-signed proof packets (HTTP status, page title, body SHA-256, DNS, TLS) for any public URL.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.