Countersignatory MCP
This MCP server allows AI agents to access verified human judgment services. It provides tools to query spot prices for human tasks, register interest in markets, place paid orders for human responses, and retrieve order status, facilitating the integration of human-in-the-loop verification into automated workflows.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://countersignatory.com/mcpWhat its tools do
5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Can change data (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to countersignatory.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Query current rates for human verification tasks
- Place an order for human approval or judgment
- Register interest in upcoming market prices
- Retrieve the status and result of a human-verified order
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- countersignatory 0.4.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 5 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
5 advertised
countersignatory_quote — Price a task
Get the current spot price to have a verified human check, agree on, sign off or notarise something. Use when an agent needs human judgment, accountability or a signature, and needs to know the cost and time before committing. Returns an indicative price, a band, what would clear at a lower bid, and the implied rate per human minute.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_type",
"sla_seconds"
],
"properties": {
"tier": {
"enum": [
"check",
"consensus",
"countersign",
"seal"
],
"type": "string",
"description": "check: one screened human, a score at stake. consensus: N humans, majority resolves. countersign: a named, register-verified professional attaches their name. seal: a regulated act by a licensed partner."
},
"market": {
"type": "string",
"maxLength": 64,
"description": "The market id from the spot index, e.g. countersign.accessibility_statement. Pass the id verbatim."
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "A WCAG 2.2 success criterion, e.g. 1.4.3: the leading token of an evidence pack's criterion string."
},
"status": {
"enum": [
"automated-fail",
"automated-review",
"not-flagged",
"not-run",
"manual-only",
"agent-verified"
],
"type": "string",
"description": "The machine's result for this criterion, from the evidence pack row."
},
"measured": {
"type": "boolean",
"description": "True when the pack row carries a measured value. A measured automated-fail is priced as a confirmation, which is cheaper."
}
},
"additionalProperties": false
},
"maxItems": 55,
"minItems": 1,
"description": "Required for a market priced per criterion, currently countersign.accessibility_statement, and rejected for any other. The criteria to examine, each priced from its published effort class and summed. GET /v1/methodology publishes the class table and every valid id."
},
"max_price": {
"type": "number",
"description": "Your maximum bid in USD. The response says whether it clears.",
"exclusiveMinimum": 0
},
"task_type": {
"enum": [
"judgment",
"verification",
"approval",
"physical",
"signature"
],
"type": "string"
},
"unassisted": {
"type": "boolean",
"description": "Require unassisted human perception. Carries a premium."
},
"consensus_n": {
"type": "integer",
"maximum": 9,
"minimum": 3,
"description": "Odd quorum size for the consensus tier."
},
"sla_seconds": {
"type": "integer",
"description": "Deadline in seconds. 300 is five minutes.",
"exclusiveMinimum": 0
},
"jurisdiction": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter ISO 3166-1 alpha-2 country code, for example GB or US. UK is accepted as an alias for GB."
}
},
"additionalProperties": false
}{
"title": "Price a task",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}countersignatory_register_interest — Register interest
Record that you would buy. Send the quote_id from a countersignatory_quote response to say the quoted price would clear your use case. For a market on the spot index whose state is opening, which cannot be quoted yet, send its market id instead. This is the demand signal that decides which markets open first.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"note": {
"type": "string",
"maxLength": 500,
"description": "What you would use it for, or what would have to change."
},
"market": {
"type": "string",
"maxLength": 64,
"description": "The market id from the spot index, for a market whose state is opening. Pass the id verbatim. Send this or quote_id, not both."
},
"quote_id": {
"type": "string",
"maxLength": 64,
"description": "The quote_id from a countersignatory_quote response. Send this or market, not both."
},
"would_pay": {
"type": "boolean",
"description": "Whether you would buy at the quoted price."
}
},
"additionalProperties": false
}{
"title": "Register interest",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}countersignatory_spot_index — Spot Index
The public Countersignatory Spot Index: the going rate for verified human judgment by market, with the urgency and off-hours multipliers, the published wage floor, and the derivation of every seeded number. Use it for the reference rate table across all markets; use countersignatory_quote when you have a specific task and need a price for it.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Spot Index",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}countersignatory_place_order — Place an order
Buy one task from a verified human in a market whose state is live on the spot index: an approval (should this action go ahead), a verification (does this page, document or screenshot show X), or a judgment (which is better, or which label applies). The order is priced at current spot and created unpaid; nothing is charged by this call. The response carries a checkout_url a person can open to pay by card. Once paid it is answered by hand within the SLA, or refunded in full. Read the answer with countersignatory_get_order. Refused at intake: CAPTCHAs and bot checks, logging in or entering credentials, contacting third parties, medical, legal or financial advice, anything sexual or involving minors.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"market",
"template",
"input",
"sla_seconds",
"max_price"
],
"properties": {
"input": {
"type": "object",
"description": "The task. approval: {action, context (up to 20,000 characters), urls? (up to 5), policy?}. verification: {claim, evidence: {url}, instructions?}. judgment: {item, labels (2 to 10)} or {pair: [a, b], labels?}, with an optional rubric.",
"additionalProperties": {}
},
"market": {
"type": "string",
"maxLength": 64,
"description": "The id of a market whose state is live on the spot index, e.g. check.general or consensus.3.general. Pass the id verbatim."
},
"template": {
"enum": [
"approval",
"verification",
"judgment"
],
"type": "string",
"description": "approval: answers approve or reject. verification: answers true, false or cannot_tell. judgment: answers one label. Every answer comes with a reason."
},
"max_price": {
"type": "number",
"description": "The most you will pay, in USD. If the price is above it the order is refused and nothing is charged.",
"exclusiveMinimum": 0
},
"sla_seconds": {
"type": "integer",
"description": "Seconds from payment to answer. 86400 is the base price; a shorter deadline costs more. Not answered in time is refunded in full.",
"exclusiveMinimum": 0
},
"webhook_url": {
"type": "string",
"maxLength": 2000,
"description": "An https URL that receives the order on every status change."
}
},
"additionalProperties": false
}{
"title": "Place an order",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}countersignatory_get_order — Get an order
Read one order by the id countersignatory_place_order returned: its status (awaiting_payment, paid, in_progress, answered, refused, refunded or expired), its price, how to pay while it is unpaid, and once answered the answer, the reason, and who gave it and how they are disclosed. A consensus order returns each responder's answer and the majority.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"order_id"
],
"properties": {
"order_id": {
"type": "string",
"maxLength": 64,
"description": "The order id, e.g. ord_ followed by 32 hex characters."
}
},
"additionalProperties": false
}{
"title": "Get an order",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 908 ms
- 95th percentile latency
- 908 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 908 ms · metadata changed · 5 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http countersignatory-mcp https://countersignatory.com/mcpCodex
codex mcp add countersignatory-mcp --url https://countersignatory.com/mcpCursor
{
"mcpServers": {
"countersignatory-mcp": {
"url": "https://countersignatory.com/mcp"
}
}
}Cline
{
"mcpServers": {
"countersignatory-mcp": {
"type": "streamableHttp",
"url": "https://countersignatory.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"countersignatory-mcp": {
"type": "http",
"url": "https://countersignatory.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http countersignatory-mcp https://countersignatory.com/mcpClaude Desktop
https://countersignatory.com/mcpWindsurf
{
"mcpServers": {
"countersignatory-mcp": {
"serverUrl": "https://countersignatory.com/mcp"
}
}
}Let your agent find its tools
Find servers like Countersignatory MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Countersignatory MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.