CBROS Notary & Decision Log
Pay-and-anchor a hash or AI decision log on Cardano (CIP-0190). Non-custodial. MCP-native. Mainnet.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"notary": {
"url": "https://nftapi.coudrebros.eu/mcp/notary/"
}
}
}远程端点
https://nftapi.coudrebros.eu/mcp/notary/streamable-http它能做什么
工具清单
工具(6)
🟢get_notary_info
No auth needed. Price, min confirmations, spec version, and supported hash algorithms.
输入模式
{
"type": "object",
"properties": {},
"title": "get_notary_infoArguments"
}🟡prepare_anchor(content_hash, from_address, api_key, algorithm, idempotency_key)
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.
输入模式
{
"type": "object",
"properties": {
"content_hash": {
"title": "Content Hash",
"type": "string"
},
"from_address": {
"title": "From Address",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"algorithm": {
"default": "sha2-256",
"title": "Algorithm",
"type": "string"
},
"idempotency_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Idempotency Key"
}
},
"required": [
"content_hash",
"from_address",
"api_key"
],
"title": "prepare_anchorArguments"
}🟡prepare_decision_log(content_hash, seq, from_address, api_key, algorithm, ...)
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.
输入模式
{
"type": "object",
"properties": {
"content_hash": {
"title": "Content Hash",
"type": "string"
},
"seq": {
"title": "Seq",
"type": "integer"
},
"from_address": {
"title": "From Address",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
},
"algorithm": {
"default": "sha2-256",
"title": "Algorithm",
"type": "string"
},
"prev": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Prev"
},
"idempotency_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Idempotency Key"
}
},
"required": [
"content_hash",
"seq",
"from_address",
"api_key"
],
"title": "prepare_decision_logArguments"
}🟢check_anchor_status(proof_id, api_key)
Looks up a previously prepared anchor or decision-log entry by proof_id. Requires the api_key that created it.
输入模式
{
"type": "object",
"properties": {
"proof_id": {
"title": "Proof Id",
"type": "string"
},
"api_key": {
"title": "Api Key",
"type": "string"
}
},
"required": [
"proof_id",
"api_key"
],
"title": "check_anchor_statusArguments"
}🟢verify_proof(tx_hash, content_hash, content)
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).
输入模式
{
"type": "object",
"properties": {
"tx_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Tx Hash"
},
"content_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content Hash"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
}
},
"title": "verify_proofArguments"
}⚪verify_decision_chain(agent_ref)
Independently checks a decision-log chain's integrity from chain data alone (gap-free seq, prev matches, each entry anchored). No auth needed.
输入模式
{
"type": "object",
"properties": {
"agent_ref": {
"title": "Agent Ref",
"type": "string"
}
},
"required": [
"agent_ref"
],
"title": "verify_decision_chainArguments"
}社区
证据