Council of AI GSPC (free)
What this MCP does
Retrieves and verifies signed measurement cards, Merkle roots, inclusion proofs, trust snapshots, and MCP handshake evidence.
Tools
Input schema
{'type': 'object', 'properties': {'detail': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': "summary (default): counts, public_count, the separation line, dates and source. full: also count_grammar, by_family and the board's measured_on block."}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'as_of': {}, 'state': {'type': 'string', 'description': 'LIVE or UNREACHABLE'}, 'counts': {'type': 'array', 'items': {'type': 'object', 'properties': {'kind': {'type': 'string'}, 'name': {'type': 'string'}}}}, 'detail': {'type': 'string', 'description': 'summary or full'}, 'source': {'type': 'string'}, 'by_family': {}, 'separation': {}, 'public_count': {'type': ['string', 'null']}, 'count_grammar': {}, 'not_a_certification': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['obligation'], 'properties': {'subject': {'type': 'string', 'maxLength': 120, 'description': 'Optional: a model id, vendor or instrument the cards must name. Omit for the obligation-wide selection.'}, 'obligation': {'enum': ['article-50', 'article-53', 'dora', 'cra'], 'type': 'string', 'description': 'article-50 (AI-generated content marking), article-53 (GPAI provider documentation), dora (ICT third-party oversight) or cra (Cyber Resilience Act).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object'}}, 'state': {'enum': ['RELEVANT_CARDS_FOUND', 'EMPTY', 'UNKNOWN_OBLIGATION', 'BAD_ARGUMENTS', 'UNREACHABLE'], 'type': 'string'}, 'corpus': {}, 'reason': {'type': 'string'}, 'source': {'type': 'string'}, 'subject': {'type': ['string', 'null']}, 'relation': {'type': 'string'}, 'obligation': {'type': 'object'}, 'review_note': {'type': 'string'}, 'determination': {'type': 'string', 'const': 'NONE'}, 'counsel_confirmed': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}, 'relevant_signed_cards': {'type': 'integer'}}}
Input schema
{'type': 'object', 'required': ['axis'], 'properties': {'axis': {'type': 'string', 'description': 'The axis name as it appears on the board, e.g. governance, safety, jail, provenance-controls. Case-insensitive. An unknown name returns the list of names the board actually carries.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'n': {}, 'axis': {'type': ['string', 'null']}, 'state': {'type': 'string', 'description': 'LIVE, NOT_ON_BOARD, BAD_INPUT or UNREACHABLE'}, 'family': {}, 'leader': {}, 'source': {'type': 'string'}, 'status': {'type': ['string', 'null']}, 'dataset': {}, 'accuracy': {}, 'interval': {}, 'measured': {'type': 'boolean'}, 'board_carries': {'type': 'array'}, 'resolved_from': {'type': 'string', 'description': 'present when the caller named an alias (e.g. gov) that resolved to this board axis'}, 'not_a_certification': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['sha256'], 'properties': {'sha256': {'type': 'string', 'description': '64-char hex payload SHA-256 of the card-v0 leaf.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'next': {'type': 'object', 'description': 'With NOT_IN_THIS_CORPUS: the tool call that checks this id.'}, 'state': {'type': 'string', 'description': 'VALID, NOT_IN_THIS_CORPUS, INVALID or UNCHECKABLE'}, 'corpus': {'type': 'string', 'description': 'With NOT_IN_THIS_CORPUS: the set the id belongs to (signed_card_index).'}, 'reason': {'type': 'string'}, 'sha256': {'type': 'string'}, 'source': {'type': 'string'}, 'surface': {}, 'card_url': {'type': ['string', 'null'], 'description': 'With NOT_IN_THIS_CORPUS: the signed card body to pass to verify_card.'}, 'not_gspc': {'type': 'boolean'}, 'unmeasured': {}, 'sig_ed25519': {}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'kind': {}, 'as_of': {}, 'state': {'type': 'string', 'description': 'VALID, UNREACHABLE or UNCHECKABLE'}, 'source': {'type': 'string'}, 'not_gspc': {'type': 'boolean'}, 'card_count': {}, 'merkle_root': {'type': ['string', 'null']}}}
Input schema
{'type': 'object', 'properties': {'axis': {'type': 'string', 'description': 'Only list rows whose axis matches this name (case-insensitive).'}, 'limit': {'type': 'integer', 'maximum': 150, 'minimum': 0, 'description': 'How many rows to include in the listing (newest first). Default 10. The two counts are always reported in full regardless of this limit.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'rows': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'ts': {}, 'axis': {'type': 'string'}, 'card': {'type': 'string'}, 'signed': {}, 'card_url': {'type': ['string', 'null'], 'description': 'The signed card body, https://councilof.ai/signed/cards/{id}.json. verify_card takes this URL or the bare card id.'}}}}, 'index': {'type': ['object', 'null']}, 'state': {'enum': ['LIVE', 'UNREACHABLE'], 'type': 'string', 'description': 'Read state of the signed card index on this call: LIVE (read now) or UNREACHABLE. Listing is not verification; verify_card checks a row.'}, 'doctrine': {'type': 'string'}, 'axis_query': {'type': 'object', 'properties': {'asked': {'type': 'string'}, 'canonical': {'type': 'string'}, 'spellings': {'type': 'array', 'items': {'type': 'string'}}, 'index_names_matched': {'type': 'array', 'items': {'type': 'string'}}}}, 'state_basis': {'type': 'string'}, 'not_a_certification': {'type': 'boolean'}, 'card_store_count_endpoint': {'type': ['object', 'null']}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'diff': {}, 'kind': {}, 'as_of': {'type': ['string', 'null']}, 'state': {'type': 'string', 'description': 'VALID or UNREACHABLE'}, 'counts': {'type': ['object', 'null']}, 'source': {'type': 'string'}, 'partial': {'type': 'boolean', 'description': 'true whenever the enumeration did not complete â\x80\x94 a cap-limited read is partial'}, 'headline': {'type': ['string', 'null']}, 'enumeration': {'type': ['object', 'null']}, 'partial_reason': {'type': ['string', 'null']}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'state': {'enum': ['PUBLISHED', 'NOT_PUBLISHED', 'UNREACHABLE', 'UNCHECKABLE'], 'type': 'string'}, 'reason': {'type': 'string'}, 'anchors': {'type': 'object'}, 'batches': {'type': 'array', 'items': {'type': 'object'}}, 'version': {'type': 'string'}, 'doctrine': {'type': 'string', 'const': 'measurement, not endorsement'}, 'n_batches': {'type': 'integer'}, 'signature': {'type': 'object'}, 'index_root': {'type': ['string', 'null']}, 'n_capsules_total': {'type': ['integer', 'null']}}}
Input schema
{'type': 'object', 'properties': {'mode': {'enum': ['decide', 'execute'], 'type': 'string', 'description': 'decide (default). execute is not enabled and answers NOT_ENABLED.'}, 'task': {'type': 'string', 'maxLength': 20000, 'description': 'The task. Hashed (sha256) and never stored or echoed.'}, 'policy': {'type': 'object', 'properties': {'presets': {'type': 'array', 'items': {'type': 'string'}}, 'allow_kinds': {'type': 'array', 'items': {'type': 'string'}}, 'caller_wallet': {'type': 'boolean'}, 'forbid_providers': {'type': 'array', 'items': {'type': 'string'}}, 'confirm_destructive': {'type': 'boolean'}}, 'description': 'presets [read-only, local-only, eu-only, no-unmeasured], forbid_providers [..], allow_kinds [..], confirm_destructive, caller_wallet. Unknown keys grant nothing.'}, 'objective': {'type': 'object', 'properties': {'weights': {'type': 'object', 'properties': {'cost': {'type': 'number'}, 'latency': {'type': 'number'}, 'quality': {'type': 'number'}}}, 'tie_break': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'cheapest_declared, local_first, lexical_id (default in that order)'}, 'quality_axis': {'type': 'string', 'description': 'A board axis id, e.g. governance'}}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['model', 'mcp_tool', 'a2a_agent', 'x402_resource', 'local_gpu'], 'type': 'string'}, 'paid': {'type': 'boolean'}, 'model': {'type': 'string'}, 'region': {'type': 'string'}, 'endpoint': {'type': 'string', 'description': 'https://public-host/... or local:<name> for an endpoint you run'}, 'provider': {'type': 'string'}, 'read_only': {'type': 'boolean'}, 'destructive': {'type': 'boolean'}, 'cost_declared': {'type': 'number', 'minimum': 0}, 'data_class_allowed': {'type': 'array', 'items': {'enum': ['public', 'internal', 'confidential', 'pii'], 'type': 'string'}}, 'latency_declared_ms': {'type': 'number', 'minimum': 0}}}, 'maxItems': 32, 'description': 'Omit to route among the GSPC MCP tools. A candidate field the router does not know makes that candidate UNCHECKABLE (never permitted); sponsor/bid/placement fields are ignored.'}, 'data_class': {'enum': ['public', 'internal', 'confidential', 'pii'], 'type': 'string', 'description': 'Default public. A non-public class is routed only to candidates that declare it in data_class_allowed.'}, 'needs_write': {'type': 'boolean'}, 'task_sha256': {'type': 'string', 'pattern': '^[0-9a-fA-F]{64}$', 'description': 'Alternative to task: its sha256.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'mode': {'type': 'string'}, 'note': {'type': 'string'}, 'label': {'type': ['string', 'null']}, 'state': {'enum': ['ROUTED', 'NO_PERMITTED_CANDIDATE', 'BAD_ARGUMENTS', 'NOT_ENABLED'], 'type': 'string'}, 'chosen': {'type': ['object', 'null']}, 'errors': {'type': 'array'}, 'record': {'type': 'object'}, 'signed': {'type': 'boolean'}, 'preview': {'type': 'boolean'}, 'forbidden': {'type': 'array'}, 'permitted': {'type': 'integer'}, 'considered': {'type': 'integer'}, 'separation': {'type': 'string'}, 'http_status': {'type': 'integer'}}}
Input schema
{'type': 'object', 'required': ['endpoint_url'], 'properties': {'endpoint_url': {'type': 'string', 'description': 'The endpoint URL, e.g. https://example.com/mcp or an agent-card URL.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'state': {'enum': ['MEASURED', 'NOT_MEASURED', 'NOT_PUBLISHED', 'UNREACHABLE', 'UNCHECKABLE'], 'type': 'string'}, 'reason': {'type': 'string'}, 'capsules': {'type': 'array', 'items': {'type': 'object'}}, 'doctrine': {'type': 'string', 'const': 'measurement, not endorsement'}, 'endpoint': {'type': ['string', 'null']}, 'n_capsules': {'type': 'integer'}}}
Input schema
{'type': 'object', 'required': ['capsule_json'], 'properties': {'capsule_json': {'type': ['string', 'object'], 'description': 'The capsule: its JSON text (preferred, byte-exact) or the parsed object.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'batch': {'type': 'object'}, 'state': {'enum': ['INCLUDED', 'NOT_INCLUDED', 'ID_MISMATCH', 'UNCHECKABLE', 'NOT_PUBLISHED', 'UNREACHABLE'], 'type': 'string'}, 'reason': {'type': 'string'}, 'doctrine': {'type': 'string', 'const': 'measurement, not endorsement'}, 'inclusion': {'type': 'object'}, 'capsule_id': {'type': 'object'}, 'index_signature': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['card'], 'properties': {'card': {'anyOf': [{'type': 'object'}, {'type': 'string'}], 'description': 'The signed card: an object, a JSON string, a councilof.ai / csoai.org URL to one, or a 64-hex card id (resolved to https://councilof.ai/signed/cards/{id}.json).'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'id': {'type': ['string', 'null']}, 'note': {'type': 'string'}, 'rule': {'type': 'string'}, 'state': {'type': 'string', 'description': 'VALID, INVALID or UNCHECKABLE'}, 'checks': {'type': 'array', 'items': {'type': 'object', 'properties': {'ok': {'type': ['boolean', 'null'], 'description': 'true = passed, false = failed, null = not applicable or not run (detail says UNCHECKED)'}, 'code': {'type': 'string'}, 'check': {'type': 'string'}, 'detail': {'type': 'string'}, 'advisory': {'type': 'boolean', 'description': 'true = reported but never decides the verdict (the live did.json cross-check)'}}}}, 'family': {'type': ['string', 'null']}, 'reason': {'type': ['string', 'null']}, 'reasons': {'type': 'array', 'items': {'type': 'string'}}, 'pinned_key': {'type': ['string', 'null']}, 'resolved_from': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}}, 'description': 'Present when a 64-hex card id was passed: the id asked about and the URL fetched for it.'}, 'not_a_certification': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['sha256'], 'properties': {'sha256': {'type': 'string', 'description': '64-char hex digest to test for inclusion.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'string', 'description': 'VALID, INVALID or UNCHECKABLE'}, 'reason': {}, 'sha256': {'type': 'string'}, 'merkle_root': {'type': ['string', 'null']}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['state'], 'properties': {'kind': {}, 'as_of': {'type': ['string', 'null']}, 'state': {'type': 'string', 'description': 'VALID or UNREACHABLE'}, 'counts': {'type': ['object', 'null']}, 'source': {'type': 'string'}, 'headline': {'type': ['string', 'null']}}}
Recent tool changes
Similar MCP servers
AIMEAT
Provides a self-hosted agent operating system with agent work delegation, access controls, federation, hooks, SSO, security admin…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Japan Public Ledgers MCP
Provides agent identity, memory, audit, trust, proxy, temporary email, webhook, CAPTCHA, and alerting capabilities alongside publ…
PHION Agent Trust Infrastructure
Provides agent trust, policy, provenance, evidence, delegation, telemetry, and transaction-control services for MCP and agent wor…
Swamp
Coordinates security agents through scoped bug-bounty programs, target claims, vulnerability submissions, peer review, shared fin…
AgentBIT
Routes pay-per-call tools over x402 on Base, covering discovery, data conversion, company research, counterparty screening, domai…
SaSame MCP Observatory + Gold Rush Town
Audits and profiles MCP servers, provides ecosystem analytics, trust and claim records, and non-custodial transaction or escrow a…
ThinkNEO Control Plane
Provides an enterprise AI control plane for governance, guardrails, spend tracking, compliance, and model or tool routing.