Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Prepare and verify TAP/Ordinals payloads for AI agent memories on Bitcoin.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Colchora 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于昨天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SuperCollider
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Portable, Bitcoin-permanent agent memories via the TAP Protocol / Ordinals.
DMT Receipts is a local stdio MCP server (prepare_memory, verify_inscription) and a browser demo. It turns a five-field dmt-memory/v1 JSON object into an inscription-ready payload. Permanence means those memory bytes are committed on Bitcoin L1 as Ordinals inscription content under TAP ("p":"tap"). Keep the memory and inscription id / txid in storage you control. After prepare_memory, status is prepared. A wallet or Ordinals tool inscribes the bytes and pays the Bitcoin fee.
Live site · Protocol recipe · Repo show-and-tell · Full specification · TAP specs
Maintainer: github.com/Colchora
The live site prepares and verifies a memory in the browser. Nothing is uploaded; receipts stay in localStorage until you export them. This package is the same protocol as a local MCP server. It is not published to the npm registry, so install it from a clone (below) or use the site.
| What you want | Where |
|---|---|
| Prepare a memory, no install | Live app → Anchor |
| Verify an inscription | Live app → Verify |
| Receipts saved in this browser | Live app → Receipts |
| Prove the local tools | npm ci then node examples/run-demo.mjs |
| Agent index (tools, run, demo) | llms.txt in this repo |
| Canonical byte rules | live llms.txt |
| Full protocol | spec.md |
| Machine-readable manifest | agent.json |
| MCP registry id | io.github.Colchora/dmt-receipts (server.json, glama.json) |
Optional honor-system funding is separate from inscription fees: Support and Buyback.
| A receipt can establish | A receipt cannot establish |
|---|---|
These exact canonical bytes were inscribed as Ordinals content in a Bitcoin transaction (when inscription_id / content match). | Who created or owns those bytes; authorship needs a separate signature scheme. |
Local verify_inscription can recompute the digest and optionally fetch public inscription content for comparison. | Truth, accuracy, originality, intent, or exclusive ownership of the memory. |
| TAP indexers / Ordinals explorers can show the inscription independently of this repo. | A free hash-only calendar proof. Inscription fees are real Bitcoin fees. |
This MCP server does not broadcast transactions or pay fees. Status after prepare_memory is prepared, not inscribed.
Node.js 18+. npm ci installs dependencies and builds dist/index.js. The server speaks MCP on stdin and stays open until a client connects.
git clone https://github.com/Colchora/dmt-receipts.git
cd dmt-receipts npm ci node examples/run-demo.mjs
The script calls prepare_memory on examples/demo-memory.json, then verify_inscription with no inscription id. A passing run prints:
| Check | Value |
|---|---|
sha256 | 76f3f9ff531cecbfe46e676e932f9b0d9d02b3d7c04e5a558924a8092cb0294b |
byte_length | 170 |
status | prepared |
matches_expected_sha256 | true |
ok | false until the bytes are inscribed |
ok stays false while the memory is only prepared. Inscription content that matches the canonical bytes is what makes a later verify succeed. The same numbers are in examples/expected-digest.json.
Cursor loads .cursor/mcp.json after the build. ${workspaceFolder} is the directory that contains that file:
{
"mcpServers": { "dmt-receipts": { "type": "stdio", "command": "node", "args": ["${workspaceFolder}/dist/index.js"] } } }
Claude Desktop and other clients use an absolute path to the built file:
{
"mcpServers": { "dmt-receipts": { "command": "node", "args": ["/absolute/path/to/dmt-receipts/dist/index.js"] } } }
Call prepare_memory with the five fields in examples/demo-memory.json (agent_id, key, content, tags, created_at). Pass the returned memory and sha256 to verify_inscription with fetch_content: false and include_trac: false until you have an inscription_id.
Tools:
prepare_memory — canonicalize a memory, hash it, and return an Ordinals/TAP inscription recipe (content UTF-8 + optional dta pointer).verify_inscription — recompute the digest; optionally fetch inscription content and compare; return explorer links.Walkthrough: examples/README.md. Agent index: llms.txt. Protocol bytes: live llms.txt.
npm run typecheck
npm run build npm test
npm run typecheck runs tsc --noEmit. The compiler uses strict, noUncheckedIndexedAccess, and exactOptionalPropertyTypes. npm test rebuilds dist/, runs the unit tests, and runs examples/run-demo.mjs.
prepare_memory with agent_id, key, and content.inscription_recipe.content_utf8 as Ordinals content (application/json or text/plain) with TAP Wallet or any Ordinals/TAP tool. Optional TAP dta (≤512 bytes) may carry sha256: on token-deploy flows.inscription_id / txid.verify_inscription with the memory and inscription_id.The same prepare and verify steps work in the browser with no install: Anchor, then Verify.
Compact UTF-8 JSON, no trailing newline, keys sorted by Unicode code point, literal non-ASCII:
{"agent_id":"demo-agent","content":"Remember this exact state.","created_at":"2026-11-05T17:00:00Z","key":"notes/hello","tags":["demo"]}
| Field | Type | Notes |
|---|---|---|
agent_id | string | Stable identifier for the agent. |
key | string | Memory key, slug, or path. |
content | string, object, array, number, or boolean | Nested values must be JSON-compatible. |
tags | array of strings | Use [] when there are no tags. |
created_at | string | ISO-8601 UTC ending in Z, whole-second precision. |
| *(extensions)* | any JSON value | Optional. Extra fields are sorted with everything else and included in the hash. prepare_memory keeps additional tool arguments. |
Inscription content is public on Bitcoin. Do not inscribe secrets. This tool never uploads memory bytes to a backend of its own; if you fetch content during verify, you contact a public explorer.
MIT
Optional honor-system funding lives on the live site:
Prepare/inscribe memory tooling stays free aside from Bitcoin network inscription fees paid to miners/inscribers. This repository does not process card payments.