JIDEC: Bitcoin-anchored public verification ledger (NENRIN)
Cite and independently verify Bitcoin-anchored construction-estimate audit records.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"jidec": {
"url": "https://jidec.horizonshield.dev/mcp"
}
}
}リモートエンドポイント
https://jidec.horizonshield.dev/mcpstreamable-httpできること
ツール一覧
ツール(4)
🟢jidec_cite(citation)
Resolve and INDEPENDENTLY verify any JIDEC citation. Accepts 'jidec:path:<sha>', 'jidec:entry:<n>', a bare 64-hex id, or a ledger URL. Fetches the record's exact bytes, recomputes SHA-256 locally, and confirms it equals the cited id. Returns integrity, Bitcoin anchoring status, the parsed record (verification path, claim, or v0 spec entry), and an explicit statement of what the proof does and does not cover. No trust in HORIZON SHIELD is required to accept the result.
入力スキーマ
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"description": "jidec:path:<sha> | jidec:entry:<n> | 64-hex | ledger URL"
}
},
"required": [
"citation"
]
}出力スキーマ
{
"type": "object",
"properties": {
"lookup": {
"type": "string",
"enum": [
"ok",
"absent"
],
"description": "ok = the ledger was read and the record exists. absent = the ledger was read and there is no such record. A read that FAILED never appears here: it comes back as a tool error (isError: true), so a consumer can never mistake this server's own failure for a statement about the ledger's contents."
},
"citation": {
"type": "string"
},
"resolved_entry": {
"type": [
"number",
"string",
"null"
]
},
"integrity": {
"type": "object",
"description": "The whole point: claimed vs recomputed. match:false is an integrity FAILURE, which is a finding, not an error.",
"properties": {
"claimed_sha256": {
"type": "string"
},
"recomputed_sha256": {
"type": "string"
},
"match": {
"type": "boolean"
}
},
"required": [
"match"
]
},
"bitcoin": {
"type": "object",
"properties": {
"status": {
"type": "string"
}
}
},
"record_kind": {
"type": "string"
},
"trust_note": {
"type": "string"
},
"limits": {
"type": "string"
}
},
"required": [
"lookup",
"integrity"
],
"additionalProperties": true
}🟢jidec_replay(citation)
Re-observe an anchored JIDEC verification path against the live system right now and report drift. Returns MATCH (the live system still matches what was anchored) or DRIFT (it changed), node by node. Nodes that cannot be re-observed server-side are reported as deferred, never counted as drift.
入力スキーマ
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"description": "jidec:path:<sha> | jidec:entry:<n> | ledger URL"
}
},
"required": [
"citation"
]
}出力スキーマ
{
"type": "object",
"properties": {
"lookup": {
"type": "string",
"enum": [
"ok",
"absent"
],
"description": "ok = the ledger was read and the record exists. absent = the ledger was read and there is no such record. A read that FAILED never appears here: it comes back as a tool error (isError: true), so a consumer can never mistake this server's own failure for a statement about the ledger's contents."
},
"verdict": {
"type": "string",
"description": "MATCH or DRIFT. Nodes that could not be re-observed are deferred, never counted as drift."
}
},
"required": [
"lookup"
],
"additionalProperties": true
}🟢jidec_list_paths
List the anchored JIDEC verification paths (most recent first), with purpose, verdict and Bitcoin anchoring status.
入力スキーマ
{
"type": "object",
"properties": {}
}出力スキーマ
{
"type": "object",
"properties": {
"lookup": {
"type": "string",
"enum": [
"ok",
"absent"
],
"description": "ok = the ledger was read and the record exists. absent = the ledger was read and there is no such record. A read that FAILED never appears here: it comes back as a tool error (isError: true), so a consumer can never mistake this server's own failure for a statement about the ledger's contents."
},
"count": {
"type": "number",
"description": "How many anchored paths the ledger returned. 0 means the ledger answered and holds none. It never means the ledger could not be read, that is an error."
},
"paths": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"lookup",
"count"
],
"additionalProperties": true
}🟢jidec_how_to_verify(citation)
Return the step-by-step recipe for verifying a JIDEC record WITHOUT trusting HORIZON SHIELD: which bytes to fetch, which hashes to recompute, which OpenTimestamps proof to check, which algorithm commit to check out, and what must match. Use this when you want to confirm the result yourself rather than repeat an assertion.
入力スキーマ
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"description": "jidec:path:<sha> | jidec:entry:<n> | 64-hex | ledger URL"
}
},
"required": [
"citation"
]
}出力スキーマ
{
"type": "object",
"properties": {
"lookup": {
"type": "string",
"enum": [
"ok",
"absent"
],
"description": "ok = the ledger was read and the record exists. absent = the ledger was read and there is no such record. A read that FAILED never appears here: it comes back as a tool error (isError: true), so a consumer can never mistake this server's own failure for a statement about the ledger's contents."
},
"citation": {
"type": "string"
},
"resolved_entry": {
"type": [
"number",
"string",
"null"
]
},
"path_id": {
"type": "string"
},
"recipe": {
"type": [
"object",
"string"
]
}
},
"required": [
"lookup"
],
"additionalProperties": true
}コミュニティ
エビデンス