Bitcoin Stratigraphy MCP

公式

エンタープライズグレードのL402ゲート付きAI公証ハブおよびMCPデータサーバーで、熱力学的ビットコインテレメトリとOpenTimestamps状態アンカリングを提供します。

Bitcoin Stratigraphy MCPで何ができますか?

  • 索引化层序数据的发现 — 让您的AI调用stratigraphy.list以查看可用的日期、高度、边界和指标。
  • 列出证明操作 — 在发起付费调用前,使用proof.list检查支持的公证和验证模式。
  • 请求公证批次 — 请求一个包含100次调用L402批次的proof.notarize挑战,然后通过Lightning支付以在Bitcoin上锚定哈希。
  • 运行免费沙盒客户端 — 执行无需钱包的Node或Python示例,以在不签名或支付的情况下测试MCP连接。
  • 构建LangChain ReAct代理 — 使用文档化的MCP适配器,设置一个仅使用免费工具、查询层序和证明元数据的代理。

ホスト型 MCP サーバー

npx add-mcp 'https://bitcoin-stratigraphy-dashboard.replit.app/mcp'

Claude Code、Codex、Cursor などにインストールできます

ドキュメント

Bitcoin Stratigraphy MCP — 開発者向け配布

MCP L402 OpenTimestamps LangChain LlamaIndex

リリース: 1.1.0 · MCPレジストリ名: crstrogish/bitcoin-stratigraphy

Bitcoin Stratigraphy MCPエンジンのためのスタンドアロンでリモートファーストな統合リポジトリです。レジストリメタデータ、OpenAPI契約、依存関係のないクライアント、ネイティブフレームワークのエージェント例を含みます。無料サンドボックスには、Replitワークスペース、ウォレット、APIキー、モデルプロバイダーアカウントは不要です。

スコープとセキュリティステータス

このバンドルはホスト型エンジンに接続します。完全な決済サーバーをオフラインで実行するものは含まれておらず、そのような主張もありません。クライアントソースは、ライブサービスまたは独立して運用される互換性のあるMCPエンドポイントに対してローカルで実行できます。ワークスペースエイリアス、ベンダー化された認証情報、プライベート署名キー、オペレーター状態、親リポジトリへの依存関係はありません。

LangChainの実行はサポートされています。LlamaIndexソースは保存されていますが、依存関係のインストールと実行は一時的に利用できません: そのNLTK依存関係はGHSA-8mgp-746c-j5xpの影響を受けています。LlamaIndexの要件ファイルは意図的に何もインストールしません。セキュリティチェックをバイパスしたり、バッジをサポートされた実行の主張として扱ったりしないでください。安全で完全な依存関係ツリーを監査した後にのみインストールを復元してください。

ライブMCPエンジンへの接続

サーフェスURL
Streamable HTTP MCPhttps://bitcoin-stratigraphy-dashboard.replit.app/mcp
開発者ポータルhttps://bitcoin-stratigraphy-dashboard.replit.app/docs
ライブOpenAPIhttps://bitcoin-stratigraphy-dashboard.replit.app/openapi.json

任意のStreamable HTTPクライアントでMCP URLを使用してください。クライアントがURLベースのMCP設定をサポートしている場合は、mcp.jsonをインポートしてください。一部のホストでは、独自の設定形式で明示的なトランスポートタイプが必要です。smithery.yamlは正規のリモート登録メタデータであり、ローカルサーバー起動レシピではありません。

サーバーは15の正規の機能を宣伝しています。initializeとtools/listは無料のプロトコル検出操作です。正確に2つのツール実行が無料です:

ツール引数目的
stratigraphy.list{}インデックス化された日付/高さ、境界、利用可能なメトリクスを発見
proof.list{}サポートされている証明操作とスキーマメタデータを一覧表示

カタログ発見は支払い承認ではありません。他の正規ツールは有料アクセスが必要です。購入を承認する前に、ライブスキーマと支払い条件を照会してください。

無料サンドボックスクイックスタート — ウォレット不要

Node.js 22以降

このリポジトリのルートから、パッケージインストールなしで:

node examples/free-sandbox.mjs

これによりMCPがネゴシエートされ、初期化通知が送信され、その後stratigraphy.listとproof.listのみが呼び出されます。署名、支払い、認証情報の添付、LLMリクエストは行いません。無料通話がHTTP 402を返した場合、支払うのではなく失敗します。

独自の互換性のあるエンドポイントを使用するには:

node examples/free-sandbox.mjs --url http://127.0.0.1:5000/mcp

これはクライアント接続であり、本番エンジンを起動するコマンドではありません。

Python 3.11以降

バンドルされたクライアントは標準ライブラリで動作します。フレームワークのインストールは不要です:

python -m examples.free_sandbox

同等のコピーペーストPython:

from sdk.python.client import BitcoinStratigraphyClient

client = BitcoinStratigraphyClient()
print(client.call_tool("stratigraphy.list", {}))
print(client.call_tool("proof.list", {}))

sdk名前空間がインポート可能になるように、リポジトリのルートからコードを実行してください。TLS検証は有効のままです。組織がプライベートCAを使用している場合は、信頼できる証明書ストアを設定してください。検証を無効にしないでください。

L402: 100コールのマクロマカロンバッチ

有料機能はツールスコープの認証情報を使用します。バッチをリクエストするには、以下を含めてください:

X-L402-Batch-Size: 100

たとえば、このリクエストは公証バッチのチャレンジを要求します。請求書を支払うものではありません:

curl --include --request POST \
  'https://bitcoin-stratigraphy-dashboard.replit.app/mcp' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --header 'X-L402-Batch-Size: 100' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"proof.notarize","arguments":{"hash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}}'
  1. HTTP 402、L402 WWW-Authenticateチャレンジ、請求金額、有効期限、正確なツールスコープを検査します。
  2. 明示的な支出制限のある信頼できるLightningウォレット/クライアントを通じてのみ支払います。決済証明がチャレンジされた支払いハッシュと一致することを確認します。
  3. バッチヘッダーと以下を使用して同じツール呼び出しを再試行します:
Authorization: L402 <macaroon>:<preimage>
X-L402-Batch-Size: 100

登録された公証見積もりは250 sats/コール × 100 = 25,000 satsです。ライブ請求書が権威です。レジストリの目標価格の例は価格保証ではありません。proof.notarizeパスは他の有料ツールのロックを解除しません。予算、有効期限、失効、継承されたキャベットはすべての使用時に適用されます。減衰はスコープを委任または狭めるだけであり、親の予算をリセットしません。

ネイティブフレームワークアダプターはウォレットではありません。L402_AUTHORIZATIONを介してプリペイド認証情報を提供するか、L402_PROXY_URLを介して明示的な支出制限のある信頼できるループバックStreamable HTTPウォレットプロキシを提供してください。認証情報またはモデルプロバイダーのシークレットのいずれもコミットしないでください。古いワンショットSDK支払いコールバックは、自動マクロマカロンバッチ実装ではありません。

LangChain: ネイティブMCPとReActループ

古いMCP 1.x環境ではなく、別のコンシューマーPython環境を使用してください:

python -m pip install -r cookbooks/requirements-langchain.txt
python cookbooks/langchain_agent.py

デフォルトモードはツールのみを発見します。LLMと有料公証をオプトインするには、プロバイダーキーとプリペイドのproof.notarizeバッチ認証情報をシークレットマネージャーを通じて設定し、次を実行します:

python cookbooks/langchain_agent.py --run

コピーペースト無料ツールのみのReActループ (MCP呼び出しは無料です。モデル使用量はモデルプロバイダーによって請求されます):

import asyncio
from fastmcp.client import Client
from fastmcp.client.transports import StreamableHttpTransport
from langchain.mcp import MCPAdapter
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI

async def main():
    transport = StreamableHttpTransport(
        url="https://bitcoin-stratigraphy-dashboard.replit.app/mcp"
    )
    client = Client(transport, mode="legacy", timeout=30)
    async with MCPAdapter(client) as adapter:
        tools = await adapter.list_tools()
        free = [
            t.model_copy(update={"name": t.name.replace(".", "_")})
            for t in tools if t.name in {"stratigraphy.list", "proof.list"}
        ]
        if len(free) != 2:
            raise RuntimeError("Expected both free sandbox capabilities")
        agent = create_agent(
            model=ChatOpenAI(model="gpt-4.1-mini", temperature=0),
            tools=free,
            system_prompt="Use only these discovery tools. Report actual results.",
        )
        result = await agent.ainvoke(
            {"messages": [{"role": "user", "content":
                "List indexed stratigraphy bounds and supported proof operations."}]}
        )
        print(result["messages"][-1].content)

asyncio.run(main())

create_agentは現在のReActモデル → ツール → 観察ループを実装しています。アンダースコアエイリアスはモデルプロバイダーの命名規則を満たします。ラッパーは元のドット付きリモートツール名を保持します。

LlamaIndex: 保存されたネイティブエージェント例

依存関係のセキュリティホールドが解除されるまでソースのみ。 以下のコピーペースト例は、将来の監査済み環境向けのサポートされているAPI形状を文書化したものです。現在脆弱な依存関係をインストールする指示ではありません。完全な有料公証の例はcookbooks/llamaindex_agent.pyにあります。

import asyncio
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.core.agent.workflow import ReActAgent
from llama_index.llms.openai import OpenAI

async def main():
    client = BasicMCPClient(
        "https://bitcoin-stratigraphy-dashboard.replit.app/mcp", timeout=30
    )
    try:
        tools = await McpToolSpec(client=client).to_tool_list_async()
        free = [t for t in tools if t.metadata.name in
                {"stratigraphy.list", "proof.list"}]
        if len(free) != 2:
            raise RuntimeError("Expected both free sandbox capabilities")
        for tool in free:
            tool.metadata.name = tool.metadata.name.replace(".", "_")
        agent = ReActAgent(
            tools=free,
            llm=OpenAI(model="gpt-4.1-mini", temperature=0),
            system_prompt="Use only the discovery tools. Report actual results.",
            timeout=90,
        )
        response = await agent.run(
            user_msg="List indexed stratigraphy bounds and supported proof operations."
        )
        print(str(response))
    finally:
        await client.http_client.aclose()

asyncio.run(main())

モデル認証情報と料金はMCP支払いとは別です。

TypeScript SDK

sdk/typescriptには、RESTクライアントとMCPクライアントのソース、独立したコンパイラ設定、ローカルテスト、独自のパッケージマニフェストが含まれています。SDKバージョン0.1.0はレジストリリリース1.1.0とは独立しています。

cd sdk/typescript
npm install
npm test
npm run build

ルートパッケージマニフェストは正規のMCPレジストリIDとリリースバージョンを保持しますが、モノレポのスクリプト/依存関係をポータブルな配布コマンドに置き換えます。これはプライベートワークスペースのオーケストレーションマニフェストではありません。

リポジトリの内容とエクスポートチェック

README.md                 Distribution and operational guide
package.json              Portable MCP metadata and sandbox/test commands
smithery.yaml             Canonical remote registration manifest
mcp.json                  Remote MCP client configuration
openapi.yaml              Canonical self-contained REST/OpenAPI contract
openapi.json              JSON rendering of the same canonical contract
LICENSE                   MIT license
cookbooks/                Native framework sources, requirements, and offline tests
sdk/typescript/           TypeScript REST/MCP clients and standalone package
sdk/python/               Python REST/MCP clients and offline tests
examples/                 Wallet-free Node/Python sandbox entrypoints
test/                     Node sandbox transport and safety tests
scripts/verify-export.mjs  Portable structure, import, and reference checks
npm run verify
npm test
python -m unittest discover -s cookbooks -p 'test_*.py'
python -m unittest discover -s sdk/python -p 'test_*.py'

verifyは、相対ソースインポートとMarkdownファイル参照、スクリプトとSDKパッケージパス、JSON構文、ワークスペース依存関係エイリアスの不在をチェックします。追加の構文チェックとしてPythonをコンパイルし、SDKをビルドします。サンドボックスまたはエージェントエントリポイントを明示的に実行しない限り、テストはオフラインです。

運用上の境界

  • インデックス化された層序高さは文書化された日次データインデックスであり、ライブのBitcoinチップやネイティブのブロックごとの来歴ではありません。
  • OTSカレンダーの受け入れはBitcoin確認ではありません。分離されたレシートを保存し、その一致するダイジェストとBitcoin証明を別々に検証してください。
  • グラウンディング署名、ZK証明、OTSレシートは異なる事実を確立します。一方を他方として説明しないでください。
  • SDKは支払いエラーで停止します。有料呼び出しを盲目的に再試行したり、支払い証明をログに記録したりしないでください。認証情報をシークレットマネージャーに保存し、エージェントを有効にする前に支出とツールスコープを確認してください。
  • OpenAPI契約はRESTをカバーします。ライブMCP tools/listは実行可能なMCPスキーマを説明します。OpenAPIスキーマバージョンとSDKバージョンはレジストリリリースと一致する必要はありません。
  • オプションのフレームワーク依存関係をインストールまたは更新する前に監査してください。ローカルウォレット、署名、決済認証情報は出荷されません。

ライセンス

MIT。LICENSEを参照してください。フレームワークとオプションの依存関係は独自のライセンスと条件を保持します。

🤖 CrewAI統合

Bitcoin Stratigraphy Data EngineはCrewAIのMCPServerAdapterをネイティブにサポートしています。このスニペットをワークフローにドロップして、エージェントに熱力学ツールとOpenTimestamps状態アンカーを即座に装備させてください:

pip install crewai-tools[mcp]

完全なエージェント実行スクリプトについてはcrewai_cookbook.pyを確認してください。