Bitcoin Stratigraphy MCP

offiziell

Ein unternehmensgerechter, L402-geschützter AI-Notary-Hub und MCP-Datenserver, der thermodynamische Bitcoin-Telemetrie und OpenTimestamps-State-Anchoring bereitstellt.

Was kann man mit Bitcoin Stratigraphy MCP machen?

  • Indizierte Stratigraphie-Daten entdecken — Bitten Sie Ihre KI, stratigraphy.list aufzurufen, um verfügbare Daten, Höhen, Grenzen und Metriken zu sehen.
  • Proof-Operationen auflisten — Verwenden Sie proof.list, um unterstützte Notarisierungs- und Verifizierungsschemata zu prüfen, bevor Sie kostenpflichtige Aufrufe tätigen.
  • Notarisierungspakete anfordern — Fragen Sie nach einer proof.notarize-Herausforderung mit einem 100-Aufruf-L402-Paket und zahlen Sie dann über Lightning, um einen Hash auf Bitcoin zu verankern.
  • Kostenlose Sandbox-Clients ausführen — Führen Sie die wallet-freien Node- oder Python-Beispiele aus, um die MCP-Konnektivität ohne Signieren oder Bezahlen zu testen.
  • Einen LangChain-ReAct-Agenten erstellen — Richten Sie einen Agenten mit nur kostenlosen Tools ein, der Stratigraphie- und Proof-Metadaten mithilfe des dokumentierten MCP-Adapters abfragt.

Gehosteter MCP-Server

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

Installiert in Claude Code, Codex, Cursor und mehr

Dokumentation

Bitcoin Stratigraphy MCP — Entwickler-Distribution

MCP L402 OpenTimestamps LangChain LlamaIndex

Release: 1.1.0 · MCP-Registry-Name: crstrogish/bitcoin-stratigraphy

Ein eigenständiges, remote-first Integrations-Repository für die Bitcoin Stratigraphy MCP-Engine: Registry-Metadaten, OpenAPI-Verträge, dependencies-freie Clients und native Framework-Agenten-Beispiele. Für die kostenlose Sandbox sind kein Replit-Arbeitsbereich, keine Wallet, kein API-Schlüssel und kein Modellanbieter-Konto erforderlich.

Umfang und Sicherheitsstatus

Dieses Bundle verbindet sich mit der gehosteten Engine; es enthält nicht den vollständigen Settlement-Server und beansprucht nicht, diesen offline auszuführen. Client-Quellen können lokal gegen den Live-Dienst oder einen unabhängig betriebenen kompatiblen MCP-Endpunkt ausgeführt werden. Es gibt keine Arbeitsbereich-Aliase, hinterlegte Anmeldedaten, private Signaturschlüssel, Betreiberstatus oder Abhängigkeit von einem übergeordneten Repository.

LangChain-Ausführung wird unterstützt. Die LlamaIndex-Quelle bleibt erhalten, aber die Installation von Abhängigkeiten und die Ausführung sind vorübergehend nicht verfügbar: Ihre NLTK-Abhängigkeit ist von GHSA-8mgp-746c-j5xp betroffen. Die LlamaIndex-Anforderungen-Datei installiert absichtlich nichts. Umgehen Sie keine Sicherheitsprüfungen und behandeln Sie das Abzeichen nicht als Anspruch auf unterstützte Ausführung. Stellen Sie die Installation erst nach der Prüfung eines sicheren, vollständigen Abhängigkeitsbaums wieder her.

Verbindung zur Live-MCP-Engine herstellen

OberflächeURL
Streamable HTTP MCPhttps://bitcoin-stratigraphy-dashboard.replit.app/mcp
Entwicklerportalhttps://bitcoin-stratigraphy-dashboard.replit.app/docs
Live-OpenAPIhttps://bitcoin-stratigraphy-dashboard.replit.app/openapi.json

Verwenden Sie die MCP-URL in einem beliebigen Streamable-HTTP-Client. Importieren Sie mcp.json, wo Ihr Client URL-basierte MCP-Konfiguration unterstützt; einige Hosts erfordern einen expliziten Transporttyp in ihrem eigenen Konfigurationsformat. smithery.yaml ist kanonische Remote-Registrierungsmetadaten, kein Rezept zum Starten eines lokalen Servers.

Der Server bewirbt 15 kanonische Fähigkeiten. initialize und tools/list sind kostenlose Protokoll-Erkennungsoperationen. Genau zwei Tool-Ausführungen sind kostenlos:

ToolArgumenteZweck
stratigraphy.list{}Indizierte Daten/Höhen, Grenzen und verfügbare Metriken entdecken
proof.list{}Unterstützte Beweisoperationen und Schema-Metadaten auflisten

Die Katalog-Erkennung ist keine Zahlungsautorisierung. Andere kanonische Tools erfordern bezahlten Zugriff; fragen Sie Live-Schemas und Zahlungsbedingungen ab, bevor Sie Käufe autorisieren.

Kostenloser Sandbox-Schnellstart — keine Wallet

Node.js 22 oder neuer

Vom Stammverzeichnis dieses Repositorys, ohne Paketinstallation:

node examples/free-sandbox.mjs

Dies verhandelt MCP, sendet die initialisierte Benachrichtigung und ruft dann nur stratigraphy.list und proof.list auf. Es signiert nicht, zahlt nicht, fügt keine Anmeldedaten hinzu und stellt keine LLM-Anfragen. Es schlägt fehl, anstatt zu zahlen, wenn ein kostenloser Aufruf HTTP 402 zurückgibt.

Um Ihren eigenen kompatiblen Endpunkt zu verwenden:

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

Dies ist eine Client-Verbindung, kein Befehl zum Starten der Produktions-Engine.

Python 3.11 oder neuer

Der gebündelte Client funktioniert mit der Standardbibliothek; keine Framework-Installation ist erforderlich:

python -m examples.free_sandbox

Äquivalenter Copy-Paste-Python-Code:

from sdk.python.client import BitcoinStratigraphyClient

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

Führen Sie Code vom Stammverzeichnis des Repositorys aus, damit der sdk-Namespace importierbar ist. TLS Verifizierung bleibt aktiviert. Wenn Ihre Organisation eine private Zertifizierungsstelle verwendet, konfigurieren Sie deren vertrauenswürdigen Zertifikatsspeicher; deaktivieren Sie die Verifizierung nicht.

L402: 100-Aufruf-Makro-Macaroon-Batches

Bezahlte Fähigkeiten verwenden tool-spezifische Anmeldedaten. Um einen Batch anzufordern, fügen Sie Folgendes ein:

X-L402-Batch-Size: 100

Zum Beispiel fordert diese Anfrage eine Notarisierungs-Batch-Herausforderung an; sie zahlt keine Rechnung:

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. Untersuchen Sie HTTP 402, die L402 WWW-Authenticate-Herausforderung, den Rechnungsbetrag, das Ablaufdatum und den genauen Tool-Bereich.
  2. Zahlen Sie nur über eine vertrauenswürdige Lightning-Wallet/Client mit expliziten Ausgabelimits. Verifizieren Sie, dass der Settlement-Beweis mit dem angeforderten Zahlungs-Hash übereinstimmt.
  3. Wiederholen Sie denselben Tool-Aufruf mit dem Batch-Header und:
Authorization: L402 <macaroon>:<preimage>
X-L402-Batch-Size: 100

Das registrierte Notarisierungsangebot beträgt 250 Sats/Aufruf × 100 = 25.000 Sats. Die Live-Rechnung ist maßgeblich; Beispiele für Zielpreise im Registry sind keine Preisgarantie. Ein proof.notarize-Pass entsperrt nicht andere bezahlte Tools. Budgets, Ablauf, Widerruf und geerbte Einschränkungen gelten weiterhin bei jeder Verwendung. Abschwächung delegiert oder verengt den Bereich; sie setzt das übergeordnete Budget nicht zurück.

Native Framework-Adapter sind keine Wallets. Stellen Sie eine vorausbezahlte Anmeldedaten über L402_AUTHORIZATION bereit, oder einen vertrauenswürdigen Loopback-Streamable-HTTP-Wallet-Proxy über L402_PROXY_URL mit expliziten Ausgabelimits. Committen Sie weder Anmeldedaten noch Modellanbieter-Geheimnisse. Die älteren Einmal-SDK-Zahlungsrückrufe sind keine automatischen Makro-Macaroon-Batching-Implementierungen.

LangChain: native MCP- und ReAct-Schleifen

Verwenden Sie eine separate Consumer-Python-Umgebung, nicht eine ältere MCP-1.x-Umgebung:

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

Der Standardmodus entdeckt nur Tools. Um sich für ein LLM und bezahlte Notarisierung zu entscheiden, konfigurieren Sie Ihren Anbieter-Schlüssel und eine vorausbezahlte proof.notarize-Batch-Anmeldedaten über Ihren Secret-Manager und führen Sie dann aus:

python cookbooks/langchain_agent.py --run

Copy-Paste-ReAct-Schleife nur mit kostenlosen Tools (MCP-Aufrufe sind kostenlos; Modellnutzung wird von Ihrem Modellanbieter abgerechnet):

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 implementiert die aktuelle ReAct-Modell → Tool → Beobachtungsschleife. Unterstrich-Aliase erfüllen die Namensregeln des Modellanbieters; die Wrapper behalten die ursprünglichen punktierten Remote-Toolnamen bei.

LlamaIndex: erhaltenes natives Agenten-Beispiel

Nur Quelle, bis die Abhängigkeits-Sicherheitssperre aufgehoben ist. Das folgende Copy-Paste-Beispiel dokumentiert die unterstützte API-Form für eine zukünftige geprüfte Umgebung; es ist keine Anweisung, jetzt verwundbare Abhängigkeiten zu installieren. Das vollständige Beispiel für bezahlte Notarisierung ist 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())

Modellanmeldedaten und -gebühren sind getrennt von MCP-Zahlungen.

TypeScript SDK

sdk/typescript enthält sowohl die REST-Client- als auch die MCP-Client- Quellen, unabhängige Compiler-Konfigurationen, lokale Tests und ein eigenes Paket- Manifest. SDK-Version 0.1.0 ist unabhängig von Registry-Release 1.1.0.

cd sdk/typescript
npm install
npm test
npm run build

Das Root-Paket-Manifest behält die kanonische MCP-Registry-Identität und Release-Version bei, ersetzt aber Monorepo-Skripte/Abhängigkeiten durch portable Distributionsbefehle. Es ist nicht das private Arbeitsbereich-Orchestrierungs-Manifest.

Repository-Inhalte und Exportprüfungen

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 prüft relative Quellimporte und Markdown-Dateiverweise, Skript- und SDK-Paketpfade, JSON-Syntax und das Fehlen von Arbeitsbereich-Abhängigkeits-Aliasen. Kompilieren Sie Python und bauen Sie das SDK als zusätzliche Syntaxprüfungen. Tests sind offline, es sei denn, Sie führen explizit einen Sandbox- oder Agenten-Einstiegspunkt aus.

Betriebsgrenzen

  • Indizierte Stratigraphie-Höhen sind ein dokumentierter Tagesdaten-Index, nicht der Live- Bitcoin-Tip oder native Pro-Block-Herkunft.
  • OTS-Kalenderakzeptanz ist keine Bitcoin-Bestätigung. Bewahren Sie den getrennten Beleg auf und verifizieren Sie seinen passenden Digest und die Bitcoin-Attestierung separat.
  • Verankerungssignaturen, ZK-Beweise und OTS-Belege stellen unterschiedliche Fakten fest; beschreiben Sie nicht das eine als das andere.
  • SDKs stoppen bei Zahlungsfehlern. Wiederholen Sie bezahlte Aufrufe nicht blind und protokollieren Sie keine Zahlungs- beweise. Speichern Sie Anmeldedaten in einem Secret-Manager und überprüfen Sie Ausgaben und Tool- Bereich, bevor Sie einen Agenten aktivieren.
  • Der OpenAPI-Vertrag deckt REST ab; Live-MCP tools/list beschreibt ausführbare MCP-Schemas. Die OpenAPI-Schemaversion und die SDK-Version müssen nicht mit dem Registry- Release übereinstimmen.
  • Prüfen Sie optionale Framework-Abhängigkeiten, bevor Sie sie installieren oder aktualisieren. Es werden keine lokalen Wallets, Signatur- oder Settlement-Anmeldedaten ausgeliefert.

Lizenz

MIT. Siehe LICENSE. Frameworks und optionale Abhängigkeiten behalten ihre eigenen Lizenzen und Bedingungen.

🤖 CrewAI-Integration

Die Bitcoin Stratigraphy Data Engine unterstützt nativ CrewAIs MCPServerAdapter. Fügen Sie diesen Ausschnitt in Ihren Workflow ein, um Ihre Agenten sofort mit thermodynamischen Tools und OpenTimestamps-Zustandsverankerung auszustatten:

pip install crewai-tools[mcp]

Überprüfen Sie crewai_cookbook.py für das vollständige Agenten-Ausführungsskript.