{"name":"bitcoin-stratigraphy-mcp","homepage":"https://bitcoinstratigraphy.com","origin":"https://bitcoinstratigraphy.com","publisher":"https://bitcoinstratigraphy.com","displayName":"Bitcoin Stratigraphy Data Engine","description":"OpenTimestamps AI Notary Hub: 19 Fiduciary-grade MCP Tools at full capacity across six namespaces, including payment.get_escrow and the host-enabled clearing.create_contract / clearing.settle_contract extension. Production clearing settlement and payouts remain disabled. Use tools/list for the host's enabled catalog. The original core has 14 paid L402 tools and 2 free sandbox tools. LangChain/LlamaIndex Native integrations, 100-call Macro-Macaroons, and Free Sandbox available through stratigraphy.list and proof.list.","version":"2.1.3","serverInfo":{"name":"bitcoin-stratigraphy-mcp","version":"2.1.3","websiteUrl":"https://bitcoinstratigraphy.com"},"url":"https://bitcoinstratigraphy.com/mcp","toolCount":19,"capabilities":{"resources":[{"uri":"stratigraphy://catalog/overview","name":"Bitcoin Stratigraphy Catalog & L402 Overview","mimeType":"application/json"},{"uri":"stratigraphy://compliance/eu-ai-act-article-12","name":"EU AI Act Article 12 & Enterprise Licensing Matrix","mimeType":"application/json"},{"uri":"stratigraphy://security/tool-integrity","name":"Ed25519 Signed Tool Integrity Manifest","mimeType":"application/json"}],"prompts":[{"name":"ground_agent_reasoning","description":"Anchor an AI agent claim in immutable Bitcoin consensus state and thermodynamic proof-of-work to eliminate hallucinations.","arguments":[{"name":"claim","required":true,"description":"The factual or temporal claim to ground"},{"name":"targetHeightOrDate","required":false,"description":"Optional block height or YYYY-MM-DD UTC date; defaults to latest"}]},{"name":"audit_thermodynamic_trajectory","description":"Execute a token-efficient, end-to-end thermodynamic divergence audit between two block heights or UTC dates.","arguments":[{"name":"fromTarget","required":true,"description":"Baseline block height or UTC date"},{"name":"toTarget","required":true,"description":"Comparison block height, UTC date, or 'latest'"}]},{"name":"evaluate_enterprise_compliance","description":"Generate an EU AI Act Article 12 compliance and least-privilege deployment plan for enterprise AI swarms.","arguments":[{"name":"organizationName","required":false,"description":"Enterprise organization name"},{"name":"swarmSize","required":false,"description":"Estimated number of autonomous agents"}]}],"toolGroups":{"stratigraphy":{"description":"Indexed telemetry discovery, records, differences, digests, and bounded ranges.","tools":["stratigraphy.list","stratigraphy.get","stratigraphy.get_digest","stratigraphy.get_diff","stratigraphy.get_range"]},"proof":{"description":"Macaroon attenuation, Groth16/OTS verification, retained evidence, and signed tip receipts.","tools":["proof.attenuate","proof.verify","proof.get_by_hash","proof.list","proof.submit","proof.notarize","proof.ground"]},"mesh":{"description":"Configured peer health, quorum status, and outbound signed snapshot distribution.","tools":["mesh.get_status","mesh.broadcast"]},"payment":{"description":"MCP price discovery and authenticated Lightning or configured Base USDC settlement checks.","tools":["payment.get_info","payment.get_escrow"]},"workflow":{"description":"Deterministic composite thermodynamic trajectory audits with compact boundary proof receipts.","tools":["workflow.audit_trajectory"]}},"tags":["zero-knowledge-data-integrity","zk-snarks","groth16","poseidon","l402","multi-asset-payments","nostr","nip-78"],"tools":[{"name":"stratigraphy.get","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnly":true,"audience":["assistant"],"priority":1,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"stratigraphy.get_digest","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"description":"Retrieve compact SHA-256 fingerprints and minimal telemetry tuples for a target height, UTC date, or 'start..end' date range using the chosen format ('compact', 'minimal', or 'kv'). Use this tool to verify state integrity or minimize token consumption when full payloads are unnecessary. Use stratigraphy.get for full single-record telemetry, stratigraphy.get_range for full multi-record series, stratigraphy.get_diff for two-point deltas, or stratigraphy.list for free catalog browsing. Paid L402 call: on HTTP 402, pay the invoice and retry with Authorization: L402 <macaroon>:<preimage>.","enabled":true},{"name":"stratigraphy.get_diff","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"description":"Calculate signed arithmetic and thermodynamic deltas between fromTarget (baseline height or UTC date) and toTarget (comparison height, UTC date, or 'latest' indexed entry). Use this tool when measuring block-to-block divergence or net change between two points without fetching intermediate records. Use stratigraphy.get_range for full interval series, stratigraphy.get for a single snapshot, stratigraphy.get_digest for compact hashes, or stratigraphy.list for catalog discovery. Paid L402 call: on HTTP 402, pay the invoice and retry with Authorization: L402 <macaroon>:<preimage>.","enabled":true},{"name":"stratigraphy.get_range","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"description":"Fetch a contiguous sequence of Bitcoin stratigraphy records between startTarget and endTarget (block heights or YYYY-MM-DD UTC dates, in ascending order, capped by the limit parameter). Use this tool when analyzing multi-block trends or time-series intervals. Use stratigraphy.list to browse available catalog bounds, stratigraphy.get for a single snapshot, stratigraphy.get_diff to compare two endpoints without intermediate records, or stratigraphy.get_digest for compact hashes. Paid L402 call: on HTTP 402, pay the invoice and retry with Authorization: L402 <macaroon>:<preimage>. Supports zero-polling asynchronous execution: provide a webhook_url parameter to receive a 202 Accepted response immediately, followed by a server-initiated POST callback containing the final results when processing completes.","enabled":true},{"name":"stratigraphy.list","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":0}},"description":"List the Bitcoin stratigraphy catalog, returning paginated index summaries of available block heights and UTC dates without heavy telemetry payloads. Use this free discovery tool first to inspect available start/end boundaries and verify which heights or dates are indexed before calling paid retrieval tools. Use stratigraphy.get for a single full record, stratigraphy.get_range for a contiguous sequence, stratigraphy.get_diff for two-point deltas, or stratigraphy.get_digest for compact SHA-256 hashes. Use limit and offset parameters to paginate.","enabled":true},{"name":"proof.attenuate","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"proof.verify","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"proof.get_by_hash","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"proof.list","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":0}},"enabled":true},{"name":"proof.submit","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"proof.ground","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"},"attestationType":"Signed-Bitcoin-Tip-Anchor","verificationEndpoint":"POST /api/v1/zk/verify","verificationInput":"Send { attestation: receipt } for an agent-context receipt. For a dataset receipt, parse receipt.attestation.proofPayload and send { attestation: parsedReceipt }. This verifies the signed receipt, not a Groth16 proof or Bitcoin proof-of-work."},"enabled":true},{"name":"payment.get_info","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"mesh.get_status","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"mesh.broadcast","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"proof.notarize","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"enabled":true},{"name":"workflow.audit_trajectory","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"l402":{"amountSats":250,"batchSize":100,"batchHeader":"X-L402-Batch-Size"}},"description":"A deterministic composite workflow that executes a complete end-to-end thermodynamic audit between fromTarget and toTarget. It automatically calculates signed difficulty deltas, fetches compressed SHA-256 proof receipts, and returns a unified cryptographic report. Use this composite workflow to save LLM context tokens and eliminate multi-step agent orchestration when auditing historical divergence. Use individual stratigraphy or proof tools for single-purpose queries. Paid L402 call: on HTTP 402, pay the invoice and retry with Authorization: L402 <macaroon>:<preimage>.","enabled":true},{"name":"payment.get_escrow","title":"Read Authenticated Yield Staking Escrow","description":"PURPOSE & BOUNDARIES: Read the requesting NIP-98 signer's private staked yield in whole sats. Do NOT use this to withdraw or transfer funds, discover tool prices, or verify settlement; use payment.get_info for pricing and payment checks. USAGE GUIDELINES: Send empty arguments with fresh Nostr HTTP authentication bound to the exact URL, method and request body. No pubkey argument is accepted. BEHAVIOR & CONSEQUENCES: Free and read-only; missing or invalid authentication fails before lookup, and unavailable storage fails explicitly. vip_status is true strictly above 10000 sats. zero_latency_routing is an informational feature label, not a payment bypass or latency guarantee.","inputSchema":{"type":"object","description":"No arguments; ownership comes only from fresh request-bound NIP-98 authentication.","examples":[{}],"properties":{},"required":[],"additionalProperties":false},"outputSchema":{"type":"object","additionalProperties":false,"description":"The authenticated signer's private escrow balance, floored to whole sats without discarding stored fractional sats.","examples":[{"pubkey":"abababababababababababababababababababababababababababababababab","staked_sats":10001,"vip_status":true,"unlocked_features":["zero_latency_routing"]}],"properties":{"pubkey":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"The fresh NIP-98 signer's public key.","examples":["abababababababababababababababababababababababababababababababab"]},"staked_sats":{"type":"integer","minimum":0,"description":"Accumulated staked yield floored to whole satoshis.","examples":[10001]},"vip_status":{"type":"boolean","description":"True strictly above 10000 whole staked sats.","examples":[true]},"unlocked_features":{"type":"array","description":"Informational feature identifiers; never a payment bypass or latency guarantee.","examples":[["zero_latency_routing"]],"items":{"type":"string","enum":["zero_latency_routing"],"description":"Requested informational routing feature label.","examples":["zero_latency_routing"]}}},"required":["pubkey","staked_sats","vip_status","unlocked_features"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"enabled":true},{"name":"clearing.create_contract","description":"Create a worker contract; return its contract ID (escrow_id) and Lightning funding invoice (invoice). Requires fresh buyer NIP-98 authentication. New request IDs create separate contracts even for the same task_hash; byte-identical retries by the same buyer reuse the contract and its unexpired invoice. Funds remain merchant-controlled; an unpaid invoice is not funding. No automated payouts. Note: Contract state polling, listing, cancellations, and automated refunds are intentionally disabled in this namespace by design to enforce strict manual payout verification and prevent automated drain attacks.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"worker_pubkey":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Worker's Nostr public key: exactly 64 lowercase hexadecimal characters (32-byte x-only secp256k1 key), without a 0x prefix. Must represent a valid curve point.","examples":["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"]},"task_hash":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Task commitment as exactly 64 lowercase hexadecimal characters (32 bytes), without a 0x prefix. When production settlement is enabled, its numeric value must be less than 21888242871839275222246405745257275088548364400416034343698204186575808495617.","examples":["0101010101010101010101010101010101010101010101010101010101010101"]},"amount_sats":{"type":"integer","minimum":1,"maximum":9007199254740,"description":"Contract funding amount in whole satoshis: an integer from 1 through 9007199254740 inclusive. Fractional satoshis are not accepted.","examples":[123]}},"required":["worker_pubkey","task_hash","amount_sats"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"enabled":true,"availability":"host-enabled extension; production settlement and payouts disabled"},{"name":"clearing.settle_contract","description":"Record a funded escrow contract as settled with a signed Groth16 preimage receipt. Production uses the Solo Founder Genesis key; opted-in local development retains its separate key and receipt domain. Requires the exact NIP-98 worker, task/escrow-bound proof and merchant-confirmed invoice funding before an atomic, idempotent evidence commit. No automated payout, arbitrary-execution guarantee or legal indemnity. Funds remain merchant-controlled. Note: Contract state polling, listing, cancellations, and automated refunds are intentionally disabled in this namespace by design to enforce strict manual payout verification and prevent automated drain attacks.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"escrow_id":{"type":"string","format":"uuid","description":"The escrow UUID returned by clearing.create_contract. Merchant-confirmed funding is required; an unpaid contract is not funded escrow."},"execution_trace":{"type":"string","minLength":1,"maxLength":65536,"description":"JSON-encoded Groth16 proof envelope containing scheme, proof and publicSignals. Production scheme: 'clearing-poseidon-preimage-genesis-v1'; local development scheme: 'clearing-poseidon-preimage-development-v1'. Two canonical decimal public signals bind the exact Poseidon task hash and escrow UUID. Never include the private preimage. This proves preimage knowledge, not arbitrary task completion."},"payout_invoice":{"type":"string","minLength":1,"maxLength":4096,"description":"Worker-signed BOLT11 payout invoice. Automated payouts remain disabled pending separately reviewed fee-capped payout integration. Omit this field for proof receipt settlement."}},"required":["escrow_id","execution_trace"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"enabled":true,"availability":"host-enabled extension; production settlement and payouts disabled"}],"toolCount":19,"enabledToolCount":19},"status":"ok","service":"MCP Server","enabledToolCount":19,"catalogScope":"full-capacity","executionCatalog":"POST /mcp with tools/list","productionClearingSettlementEnabled":false,"productionClearingPayoutsEnabled":false}