CBROS Notary & Decision Log
Server Details
Pay-and-anchor a hash or AI decision log on Cardano (CIP-0190). Non-custodial. MCP-native. Mainnet.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The four core verbs map to distinct resources: prepare_* builds transactions, verify_* checks chain data, check_anchor_status looks up a stored proof by proof_id, and get_notary_info is static metadata. The main soft spot is check_anchor_status vs verify_proof, which both report on an anchor, but descriptions clearly separate an authenticated stored-record lookup from a public on-chain receipt check.
All names are snake_case verb_noun with semantically meaningful prefixes (prepare_, verify_, check_, get_). It is not a single uniform verb, but the prefix families align with the workflow stages, which keeps it predictable.
Six tools is tight and well-scoped: info, prepare and status for anchors, prepare and verify for decision logs, and public proof verification. Each tool earns its place with no filler.
The prepare/verify/status lifecycle is covered for both anchors and hash-chained logs, including idempotency and public verification. The notable gap is enumeration: there is no list tool to discover proof_ids or decision-log entries, so an agent must already hold those identifiers.
Available Tools
6 toolscheck_anchor_statusAInspect
Looks up a previously prepared anchor or decision-log entry by proof_id. Requires the api_key that created it.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | ||
| proof_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load. It does disclose a meaningful ownership constraint (only the api_key that created the entry will work), which is real value. It does not say whether the call is read-only, what happens if the proof_id is unknown, or what the response contains.
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, front-loaded with the lookup action, followed by the prerequisite. Zero 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?
Given a two-parameter lookup with no output schema and no annotations, the description covers the action, the key, and the auth scoping constraint. Remaining gaps (not-found behavior, return contents) are moderate but not disqualifying for a simple retrieval 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?
Schema coverage is 0%, so the description must compensate: it does clarify that api_key must be the one that created the entry and that proof_id identifies the prepared item. Parameter formats (proof_id shape, where it comes from) and error semantics remain 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?
States a specific verb+resource: looks up a previously prepared anchor or decision-log entry, keyed by proof_id. This implicitly contrasts with prepare_anchor/prepare_decision_log (which create) and verify_proof (which validates), but no sibling is named explicitly.
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?
'Previously prepared' implies this is a post-creation lookup, and 'Requires the api_key that created it' states a prerequisite. However there is no explicit when-to-use vs. verify_proof/verify_decision_chain guidance and no stated failure conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notary_infoBInspect
No auth needed. Price, min confirmations, spec version, and supported hash algorithms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add one genuinely valuable trait: 'No auth needed', which tells the agent this call is safe to make before any credential setup. It stops there, saying nothing about rate limits, cost, or that the operation is non-mutating, which an unannotated tool should ideally cover.
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, front-loaded fragments with no filler, and the auth prerequisite is placed first. The telegraphic style costs a little clarity because neither fragment has a verb or subject.
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-argument read tool with no output schema, the description partially compensates by naming four returned fields, but the list is not presented as an exhaustive result description and omits the shape/format of those values. An agent can call it correctly but does not fully know what it will receive.
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 takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The listed fields are return data, not inputs, so they do not need to map to schema properties.
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 lists the data the tool surfaces (price, min confirmations, spec version, hash algorithms), which lets an agent infer it is a read-only notary/network info lookup. However, there is no verb and no explicit statement of what the tool does, and nothing distinguishes it from the sibling status/verification tools.
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?
Beyond the note that no auth is required, there is no guidance on when to call this versus check_anchor_status, prepare_anchor, or the verify_* tools. The agent is left to infer that this is a metadata/discovery call rather than a workflow step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_anchorAInspect
Anchors content_hash on chain. Returns a partially-signed transaction (operator co-signed its fee input) -- add your own witness for from_address and submit. idempotency_key (optional) returns the same prior result on retry instead of building a new transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | ||
| algorithm | No | sha2-256 | |
| content_hash | Yes | ||
| from_address | Yes | ||
| idempotency_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the return is a partially-signed transaction co-signed by the operator and that idempotency_key prevents duplicate transaction construction. However, it does not state permanence, fee implications, required permissions, or api_key handling, which are significant for a write-to-chain operation.
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 three compact sentences with zero waste. It front-loads the action, then explains the return value and required next step, then covers retry behavior.
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 complex on-chain mutation with no annotations, no output schema, and 0% schema parameter documentation, the description covers the core workflow and return shape well. It still omits important context about authentication, algorithm selection, and permanence or authorization requirements, leaving an agent with gaps before 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%, so the description must compensate for five undocumented parameters. It explains content_hash, from_address, and idempotency_key meaningfully, but says nothing about api_key or algorithm, leaving two parameters without semantic guidance.
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 specific verb and resource: anchoring content_hash on chain. It also explains the immediate workflow, returning a partially-signed transaction for the caller to witness and submit. It does not explicitly distinguish itself from siblings like check_anchor_status, so it stops 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?
The use case is clear: prepare an on-chain anchor for a content hash, then add a witness for from_address and submit. It also explains the optional idempotency_key retry behavior. It does not name alternatives or exclusions, so it lacks the explicit routing guidance of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_decision_logAInspect
Appends one entry to your hash-chained decision log. content_hash is the hash of your own RFC-8785-canonicalized decision record (never send the record itself -- see docs/decision-record-v1.md). seq starts at 0 and increments by 1 each call; prev must equal the previous entry's content_hash (omit only for seq=0). Returns a partially-signed transaction to sign and submit yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| seq | Yes | ||
| prev | No | ||
| api_key | Yes | ||
| algorithm | No | sha2-256 | |
| content_hash | Yes | ||
| from_address | Yes | ||
| idempotency_key | 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 well: it discloses the hash-chain invariant, the seq/prev linkage, and that the return is a partially-signed transaction requiring external signing. It omits failure modes (e.g., prev mismatch), api_key handling, and idempotency behavior, so not a 5.
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 dense sentences, front-loaded with the core action and the chaining constraint. The parenthetical doc pointer is compact and earns its place; no padding.
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 7-param mutation tool with no annotations, no output schema, and 0% schema descriptions, the description covers the novel chaining semantics but leaves the remaining parameters unexplained. Adequate but clearly incomplete.
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 explains content_hash, seq, and prev semantics well. But from_address, api_key, algorithm, and idempotency_key (4 of 7 params) are untouched, leaving significant gaps for a low-coverage 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?
States a specific verb and resource ('Appends one entry to your hash-chained decision log') and implicitly differentiates from siblings like prepare_anchor and verify_decision_chain. An agent can tell what this does without opening the schema.
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?
Gives the key operational rules: 'never send the record itself', 'omit prev only for seq=0', and 'sign and submit yourself'. It doesn't explicitly route to sibling tools (e.g., when to use verify_decision_chain or prepare_anchor instead), which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_decision_chainBInspect
Independently checks a decision-log chain's integrity from chain data alone (gap-free seq, prev matches, each entry anchored). No auth needed.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_ref | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It does disclose that the check is self-contained (chain data only), requires no auth, and enumerates the three invariants tested — valuable for a verification tool. It omits what a failure looks like (boolean vs. list of broken links), whether it is purely read-only, and any cost/latency profile.
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 tight sentence with the core purpose front-loaded and the enumerated checks in a parenthetical. 'No auth needed' is a slightly abrupt tail clause but still carries real decision value.
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 one-parameter tool with no annotations and no output schema, the description covers the verification semantics well but leaves two real gaps: the meaning of the sole required parameter and the shape of the result (pass/fail vs. defect report). Adequate but not complete.
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?
There is one parameter, agent_ref, with 0% schema description coverage, and the description never mentions it. An agent cannot tell from either source what agent_ref should contain (an ID? a chain handle? a path?) or how it relates to 'chain data alone.' The description needed to compensate here and does not.
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: it 'independently checks a decision-log chain's integrity.' The parenthetical enumerates the exact invariants verified (gap-free seq, prev matching, entry anchoring), which clearly distinguishes it from siblings like verify_proof or check_anchor_status. It does not name a sibling explicitly, so it stops 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?
'Independently ... from chain data alone' and 'No auth needed' imply this is the self-contained verification path versus network/notary-dependent siblings, which is useful implied guidance. However, it never states when to choose this over verify_proof or check_anchor_status, nor any preconditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_proofAInspect
Authoritative on-chain check by tx_hash (and/or content_hash to compare against). No auth needed -- anyone holding a tx hash can verify it, like a receipt. Optionally pass content to re-hash locally server-side (never stored/logged).
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | ||
| tx_hash | No | ||
| content_hash | 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 discloses meaningful behavior: no authentication required, the check is authoritative/on-chain, and any supplied content is re-hashed server-side and never stored or logged. It does not describe error cases, result shape, or rate limits, but the privacy and auth disclosures are substantive.
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 compact sentences, front-loaded with purpose followed by auth and privacy details. Every sentence adds useful information 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 three-parameter verification tool with no annotations and no output schema, the description covers purpose, auth, and content-privacy handling well. But it never explains what a verification result looks like or how failure is reported, leaving an important gap for an agent deciding what to expect from the call.
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 does: tx_hash is presented as the primary lookup key, content_hash as a comparison target, and content as optional input that is locally re-hashed. It still omits format requirements and what happens if all optional parameters are omitted.
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: an authoritative on-chain check keyed by tx_hash and/or content_hash. It is clear what the tool does, but it does not explicitly differentiate itself from siblings like verify_decision_chain or check_anchor_status.
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 explains how to invoke it (by tx_hash and/or content_hash, optionally with content for local re-hashing) and notes that no auth is needed. However, it gives no explicit when-not-to-use guidance or named alternatives among the sibling verification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Publisher details
- Operator
- CBROS Cardano Stake Pool · Publisher source
- Operator website
- https://www.coudrebros.eu · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://www.coudrebros.eu/notary/ · Publisher source
- Trust center
- https://www.coudrebros.eu · Publisher source
- Restrictions
- Unknown
Related MCP Connectors
Proof of existence for files: anchor a SHA-256 hash on Base, look up proofs. Paid with x402.
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Timestamped proof that AI outputs and data existed, anchored on the Privi blockchain.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables tamper-evident anchoring of file, text, or JSON hashes to the BSV blockchain via MCP tools, with verification and lookup capabilities.MIT

Orphographofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP hosts to anchor file hashes to Bitcoin via OpenTimestamps and verify proofs, ensuring files existed before a given time with privacy-preserving local hashing.MIT- AlicenseNot gradedqualityCmaintenancePost-quantum document anchoring for AI agents. Anchor any SHA-256 hash to Algorand mainnet with ML-DSA-65 (NIST FIPS-204) signatures and receive a self-contained proof bundle verifiable offline — decades from now, without trusting any vendor.9 npm1MIT
- FlicenseNot gradedqualityDmaintenanceCryptographically anchored, tamper-evident evidence receipts for AI agents — verified run receipts, existence-at-time proofs, and cited answers from an anchored public record. Remote MCP with proof-gated settlement; attests existence and integrity, never truth.-
Glama MCP Gateway
Add one secure layer between your agents and this server.