JIDEC: Bitcoin-anchored public verification ledger (NENRIN)
Cite and independently verify Bitcoin-anchored construction-estimate audit records.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"jidec": {
"url": "https://jidec.horizonshield.dev/mcp"
}
}
}Remote-Endpunkte
https://jidec.horizonshield.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"description": "jidec:path:<sha> | jidec:entry:<n> | 64-hex | ledger URL"
}
},
"required": [
"citation"
]
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"description": "jidec:path:<sha> | jidec:entry:<n> | ledger URL"
}
},
"required": [
"citation"
]
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"description": "jidec:path:<sha> | jidec:entry:<n> | 64-hex | ledger URL"
}
},
"required": [
"citation"
]
}Ausgabe-Schema
{
"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
}Community
Nachweis