Bitcoin Stratigraphy MCP
официальныйКорпоративный AI-нотариальный хаб уровня предприятия с L402-гейтингом и MCP-сервер данных, предоставляющий термодинамическую телеметрию Bitcoin и привязку состояния OpenTimestamps.
Что можно делать с Bitcoin Stratigraphy MCP?
- Обнаружение индексированных данных стратиграфии — Попросите вашего ИИ вызвать
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 — Распространение для разработчиков
Релиз: 1.1.0 · Имя в реестре MCP: crstrogish/bitcoin-stratigraphy
Автономный, ориентированный на удалённую работу репозиторий интеграции для движка Bitcoin Stratigraphy MCP: метаданные реестра, контракты OpenAPI, клиенты без зависимостей и примеры агентов для нативных фреймворков. Для бесплатной песочницы не требуется рабочее пространство Replit, кошелёк, API-ключ или учётная запись поставщика моделей.
Область применения и статус безопасности
Этот пакет подключается к размещённому движку; он не содержит и не претендует на запуск полного сервера расчётов в автономном режиме. Исходные коды клиентов можно запускать локально против живого сервиса или независимо управляемой совместимой конечной точки MCP. Здесь нет псевдонимов рабочего пространства, встроенных учётных данных, приватных ключей подписи, состояния оператора или зависимости от родительского репозитория.
Поддерживается выполнение LangChain. Исходный код LlamaIndex сохранён, но установка зависимостей и выполнение временно недоступны: его зависимость NLTK затронута GHSA-8mgp-746c-j5xp. Файл требований LlamaIndex намеренно ничего не устанавливает. Не обходите проверки безопасности и не рассматривайте значок как заявление о поддержке выполнения. Восстановите установку только после аудита безопасного и полного дерева зависимостей.
Подключение к живому движку MCP
| Поверхность | URL |
|---|---|
| Потоковый HTTP MCP | https://bitcoin-stratigraphy-dashboard.replit.app/mcp |
| Портала разработчика | https://bitcoin-stratigraphy-dashboard.replit.app/docs |
| Живой OpenAPI | https://bitcoin-stratigraphy-dashboard.replit.app/openapi.json |
Используйте URL MCP в любом потоковом HTTP-клиенте. Импортируйте mcp.json там, где ваш клиент поддерживает конфигурацию MCP на основе URL; некоторые хосты требуют явного типа транспорта в собственном формате конфигурации. 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 остаётся включённой. Если ваша организация
использует частный центр сертификации, настройте его доверенное хранилище
сертификатов; не отключайте проверку.
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"}}}'
- Проверьте HTTP 402, вызов L402
WWW-Authenticate, сумму счёта, срок действия и точную область действия инструмента. - Платите только через доверенный Lightning-кошелёк/клиент с явными лимитами расходов. Убедитесь, что доказательство расчёта соответствует хешу платежа из вызова.
- Повторите тот же вызов инструмента с заголовком пакета и:
Authorization: L402 <macaroon>:<preimage>
X-L402-Batch-Size: 100
Зарегистрированная цена нотариального заверения составляет 250 сатоши/вызов ×
100 = 25 000 сатоши. Живой счёт является авторитетным; примеры целевых цен
в реестре не являются гарантией цены. Пропуск proof.notarize не открывает
другие платные инструменты. Бюджеты, срок действия, отзыв и унаследованные
ограничения по-прежнему применяются при каждом использовании. Аттенюация
делегирует или сужает область действия; она не сбрасывает родительский бюджет.
Адаптеры нативных фреймворков не являются кошельками. Предоставьте
предоплаченные учётные данные через L402_AUTHORIZATION или доверенный прокси
кошелька Streamable HTTP через loopback через L402_PROXY_URL с явными
лимитами расходов. Не сохраняйте ни учётные данные, ни секреты поставщика
моделей. Более старые одноразовые обратные вызовы платежей 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: сохранённый нативный пример агента
Только исходный код, пока не снят запрет на зависимости безопасности. Следующий копируемый пример документирует поддерживаемую форму 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 и версию релиза, но заменяет скрипты/зависимости монорепозитория переносимыми командами распространения. Это не манифест оркестрации приватного рабочего пространства.
Содержимое репозитория и проверки экспорта
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; живой
tools/listMCP описывает исполняемые схемы MCP. Версия схемы OpenAPI и версия SDK не обязаны совпадать с релизом реестра. - Проверяйте необязательные зависимости фреймворков перед установкой или обновлением. Никакие локальные кошельки, подписи или учётные данные расчётов не поставляются.
Лицензия
MIT. См. LICENSE. Фреймворки и необязательные зависимости сохраняют свои собственные лицензии и условия.
🤖 Интеграция с CrewAI
Движок данных Bitcoin Stratigraphy нативно поддерживает MCPServerAdapter CrewAI. Вставьте этот фрагмент в свой рабочий процесс, чтобы мгновенно оснастить своих агентов термодинамическими инструментами и привязкой состояния OpenTimestamps:
pip install crewai-tools[mcp]
Проверьте crewai_cookbook.py для полного скрипта выполнения агента.