Bitcoin Stratigraphy MCP

ทางการ

ศูนย์กลาง AI โนตารีระดับองค์กรที่ควบคุมด้วย L402 และเซิร์ฟเวอร์ข้อมูล MCP ที่ให้บริการเทเลเมทรีเทอร์โมไดนามิกของ Bitcoin และการยึดสถานะ OpenTimestamps

GitHub
1
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย Bitcoin Stratigraphy MCP?

  • ค้นหาข้อมูลชั้นหินที่ถูกจัดทำดัชนี — ให้ AI ของคุณเรียกใช้ stratigraphy.list เพื่อดูวันที่ ความสูง ขอบเขต และเมตริกที่มีอยู่
  • แสดงรายการการดำเนินการพิสูจน์ — ใช้ proof.list เพื่อตรวจสอบรูปแบบการรับรองและตรวจสอบที่รองรับก่อนเรียกใช้บริการแบบชำระเงิน
  • ขอชุดการรับรองแบบแบตช์ — ขอความท้าทาย proof.notarize พร้อมชุด L402 จำนวน 100 ครั้ง จากนั้นชำระเงินผ่าน 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 workspace กระเป๋าเงิน คีย์ API หรือบัญชีผู้ให้บริการโมเดลสำหรับแซนด์บ็อกซ์ฟรี

ขอบเขตและสถานะความปลอดภัย

ชุดนี้เชื่อมต่อกับเอ็นจินที่โฮสต์อยู่ ไม่ได้มีหรืออ้างว่ารันเซิร์ฟเวอร์การชำระเงินแบบสมบูรณ์แบบออฟไลน์ ซอร์สโค้ดไคลเอนต์สามารถรันในเครื่องกับบริการจริงหรือจุดสิ้นสุด MCP ที่เข้ากันได้ซึ่งดำเนินการโดยอิสระ ไม่มี workspace aliases ข้อมูลรับรองที่ฝังไว้ คีย์เซ็นชื่อส่วนตัว สถานะผู้ปฏิบัติงาน หรือการพึ่งพาพื้นที่เก็บข้อมูลต้นทาง

รองรับการทำงานของ LangChain ซอร์ส LlamaIndex ถูกเก็บรักษาไว้ แต่การติดตั้งและการทำงานของ dependency ยังไม่พร้อมใช้งานชั่วคราว: dependency NLTK ได้รับผลกระทบจาก GHSA-8mgp-746c-j5xp ไฟล์ requirements ของ LlamaIndex ตั้งใจไม่ติดตั้งอะไรเลย อย่าข้ามการตรวจสอบความปลอดภัย หรือถือว่า badge เป็นการรับรองการทำงานที่รองรับ อนุญาตให้ติดตั้งใหม่ได้หลังจากการตรวจสอบ dependency tree ที่ปลอดภัยและสมบูรณ์เท่านั้น

เชื่อมต่อกับเอ็นจิน MCP สด

พื้นผิวURL
Streamable HTTP MCPhttps://bitcoin-stratigraphy-dashboard.replit.app/mcp
พอร์ทัลนักพัฒนาhttps://bitcoin-stratigraphy-dashboard.replit.app/docs
OpenAPI สดhttps://bitcoin-stratigraphy-dashboard.replit.app/openapi.json

ใช้ URL MCP ในไคลเอนต์ Streamable HTTP ใดก็ได้ นำเข้า mcp.json เมื่อไคลเอนต์ของคุณรองรับการกำหนดค่า MCP แบบ URL โฮสต์บางรายการกำหนดให้ระบุประเภท transport อย่างชัดเจนในรูปแบบการกำหนดค่าของตนเอง smithery.yaml คือข้อมูลเมตาการลงทะเบียนระยะไกลที่เป็นมาตรฐาน ไม่ใช่สูตรสำหรับเริ่มเซิร์ฟเวอร์ในเครื่อง

เซิร์ฟเวอร์ประกาศความสามารถมาตรฐาน 15 รายการ initialize และ tools/list เป็นการดำเนินการค้นพบโปรโตคอลฟรี การเรียกใช้เครื่องมือสองรายการเท่านั้นที่ฟรี:

เครื่องมืออาร์กิวเมนต์วัตถุประสงค์
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: ชุด Macro-Macaroon จำนวน 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 wallet/ไคลเอนต์ที่เชื่อถือได้ซึ่งมีวงเงินใช้จ่ายที่ชัดเจนเท่านั้น ตรวจสอบว่าหลักฐานการชำระเงินตรงกับ payment hash ที่ถูกท้าทาย
  3. ลองเรียกเครื่องมือเดียวกันอีกครั้งด้วยส่วนหัวชุดและ:
Authorization: L402 <macaroon>:<preimage>
X-L402-Batch-Size: 100

ราคาอ้างอิงการรับรองเอกสารที่ลงทะเบียนคือ 250 sats/ครั้ง × 100 = 25,000 sats ใบแจ้งหนี้สดเป็นข้อมูลที่เชื่อถือได้ ตัวอย่างราคาเป้าหมายในทะเบียนไม่ใช่การรับประกันราคา บัตรผ่าน proof.notarize ไม่ปลดล็อกเครื่องมือชำระเงินอื่นๆ งบประมาณ วันหมดอายุ การเพิกถอน และ caveats ที่สืบทอดยังคงมีผลทุกครั้งที่ใช้งาน การลดทอนสิทธิ์จะมอบหมายหรือจำกัดขอบเขต ไม่ได้รีเซ็ตงบประมาณต้นทาง

ตัวปรับเฟรมเวิร์กดั้งเดิมไม่ใช่กระเป๋าเงิน ระบุข้อมูลรับรองแบบชำระล่วงหน้าผ่าน L402_AUTHORIZATION หรือพร็อกซีกระเป๋าเงิน Streamable HTTP loopback ที่เชื่อถือได้ผ่าน L402_PROXY_URL พร้อมวงเงินใช้จ่ายที่ชัดเจน อย่าคอมมิตข้อมูลรับรองหรือความลับของผู้ให้บริการโมเดล callback การชำระเงิน SDK แบบครั้งเดียวรุ่นเก่าไม่ใช่การใช้งานชุด Macro-Macaroon อัตโนมัติ

LangChain: MCP ดั้งเดิมและลูป ReAct

ใช้สภาพแวดล้อม Python แยกสำหรับผู้บริโภค ไม่ใช่สภาพแวดล้อม MCP 1.x รุ่นเก่า:

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: ตัวอย่างเอเจนต์ดั้งเดิมที่เก็บรักษาไว้

เฉพาะซอร์สจนกว่าจะยกเลิกการระงับความปลอดภัยของ dependency ตัวอย่าง คัดลอก-วางต่อไปนี้อธิบายรูปแบบ API ที่รองรับสำหรับสภาพแวดล้อมที่ผ่านการตรวจสอบในอนาคต ไม่ใช่คำสั่งให้ติดตั้ง dependency ที่เสี่ยงในตอนนี้ ตัวอย่างการรับรองเอกสารแบบชำระเงินเต็มรูปแบบ อยู่ใน 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 client และ MCP client การกำหนดค่าคอมไพเลอร์อิสระ การทดสอบในเครื่อง และ manifest แพ็กเกจของตัวเอง SDK เวอร์ชัน 0.1.0 เป็นอิสระจากรุ่นทะเบียน 1.1.0

cd sdk/typescript
npm install
npm test
npm run build

manifest แพ็กเก็ตรากยังคงเอกลักษณ์ทะเบียน MCP มาตรฐานและเวอร์ชันรุ่น แต่แทนที่สคริปต์/dependency ของ monorepo ด้วยคำสั่งเผยแพร่แบบพกพา ไม่ใช่ manifest การจัดการ workspace ส่วนตัว

เนื้อหาพื้นที่เก็บข้อมูลและการตรวจสอบการส่งออก

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 และการไม่มี workspace dependency aliases คอมไพล์ Python และสร้าง SDK เป็นการตรวจสอบไวยากรณ์เพิ่มเติม การทดสอบเป็นแบบออฟไลน์ เว้นแต่คุณจะรันแซนด์บ็อกซ์หรือ entrypoint เอเจนต์อย่างชัดเจน

ขอบเขตการปฏิบัติงาน

  • ความสูง stratigraphy ที่จัดทำดัชนีเป็นดัชนีข้อมูลรายวันที่บันทึกไว้ ไม่ใช่ Bitcoin tip สดหรือหลักฐานต่อบล็อกดั้งเดิม
  • การยอมรับปฏิทิน OTS ไม่ใช่การยืนยัน Bitcoin เก็บใบรับรองแบบแยกและตรวจสอบ digest ที่ตรงกันและการรับรอง Bitcoin แยกต่างหาก
  • ลายเซ็นการยึดหลัก หลักฐาน ZK และใบรับรอง OTS สร้างข้อเท็จจริงที่แตกต่างกัน อย่าอธิบายสิ่งหนึ่งเป็นอีกสิ่งหนึ่ง
  • SDK หยุดทำงานเมื่อเกิดข้อผิดพลาดการชำระเงิน อย่าลองเรียกแบบชำระเงินซ้ำโดยไม่ไตร่ตรอง หรือบันทึกหลักฐานการชำระเงิน เก็บข้อมูลรับรองในตัวจัดการความลับและตรวจสอบการใช้จ่าย และขอบเขตเครื่องมือก่อนเปิดใช้งานเอเจนต์
  • สัญญา OpenAPI ครอบคลุม REST; tools/list ของ MCP สดอธิบายสคีมา MCP ที่ปฏิบัติการได้ เวอร์ชันสคีมา OpenAPI และเวอร์ชัน SDK ไม่จำเป็นต้องตรงกับรุ่นทะเบียน
  • ตรวจสอบ dependency เฟรมเวิร์กเสริมก่อนติดตั้งหรืออัปเดต ไม่มีการส่งกระเป๋าเงินในเครื่อง การเซ็นชื่อ หรือข้อมูลรับรองการชำระเงิน

ใบอนุญาต

MIT ดู LICENSE เฟรมเวิร์กและ dependency เสริมคงไว้ซึ่งใบอนุญาต และข้อกำหนดของตนเอง

🤖 การผสานรวม CrewAI

Bitcoin Stratigraphy Data Engine รองรับ MCPServerAdapter ของ CrewAI โดยกำเนิด วาง snippet นี้ในเวิร์กโฟลว์ของคุณเพื่อติดตั้งเครื่องมือเทอร์โมไดนามิกและการยึดสถานะ OpenTimestamps ให้เอเจนต์ของคุณทันที:

pip install crewai-tools[mcp]

ตรวจสอบ crewai_cookbook.py สำหรับสคริปต์การทำงานเอเจนต์แบบเต็ม