Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Monetized graph answers via named Cypher queries — Tollbooth DPYC operator
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://cypher-mcp.fastmcp.app/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http cypher https://cypher-mcp.fastmcp.app/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"cypher": {
"url": "https://cypher-mcp.fastmcp.app/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"cypher": {
"type": "http",
"url": "https://cypher-mcp.fastmcp.app/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://cypher-mcp.fastmcp.app/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub lonniev ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.9.0) เข้า registry 17 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Aiterm MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Monetized graph answers over Bitcoin Lightning. A Tollbooth-DPYC Operator that sells *priced answers* from a graph — operator-authored, parameterized, named Cypher query templates — not raw database access.
The OSS Neo4j MCP servers are a free pipe to a database the operator separately expenses (Neo4j invoice) and separately bills for (Stripe stack). cypher-mcp collapses infrastructure cost, application billing, and access control into one metered MCP surface: the operator stops selling seats and starts selling answers, settled in sats, with no Stripe stack and no Neo4j invoice passed to the customer.
Live at https://cypher-mcp.fastmcp.app/mcp.
Two planes, cleanly separated:
graph.py), opened and torn down per request (no pool). The backing store is an implementation detail invisible to patrons, so it can be swapped without changing the MCP surface.Three conceptual layers:
| Layer | Where | What |
|---|---|---|
| L1 — primitive | code (shipped once) | execute_query_by_key(key, params) + catalog CRUD |
| L2 — catalog | Neon query_catalog | key → vetted Cypher template + param schema (*what's possible*) |
| L3 — pricing | Tollbooth pricing model | *what's sold, named, priced* |
Status: live, with named tools. L1 + L2 are shipped and serving real,
billed answers — an operator adopted by an Authority, AuraDB-backed, with
refund-on-raise verified end to end. **Named tools are now live (L3 tool
synthesis):** an operator can
publish_tool(key)to project a query as a
first-class, typed tool (e.g.
cypher_which_service_handles(keyword)),
priced individually in Pricing Studio. Per-key parametric *pricing
formulas* remain a later step — see CHANGELOG.md.
Patron (priced):
cypher_execute_query_by_key(key, params) — run a published query. You supply only parameters; the operator owns the query text, and parameters bind as Cypher $params (never string-interpolated). You're charged only for a delivered answer — an unknown key, invalid parameters, or a failed query rolls back the debit (refund-on-raise).Free: cypher_public_factory_stats — aggregate counts only (no titles, paths or npubs), cached in-process, for the unauthenticated landing pages of the read-only Cypher Lab Notebook front end in frontend/.
Plus the standard DPYC surface from the wheel: cypher_check_balance, cypher_check_price, cypher_purchase_credits, Secure Courier, npub proof, Oracle delegation, account statements, constraint-based dynamic pricing, etc.
Operator-only (restricted, unpriced) — the authoring plane:
cypher_create_query / cypher_update_query / cypher_get_query / cypher_list_queries / cypher_delete_querycypher_publish_tool(key) / cypher_unpublish_tool(key) — project a query as a first-class, typed named tool (or retire it). See *Named tools* below.Raw Cypher never reaches patrons — only named, parameterized templates.
A DB-analyst refines templates in Neo4j Browser, not in a bespoke tool. cypher_get_query(key) returns the template plus an `edit_url` — a deep link into the hosted Neo4j Browser (browser.neo4j.io) that pre-targets the operator's AuraDB and loads the statement in edit mode (cmd=edit). Refine it with autocomplete, run-to-test, visualization, and PROFILE; then save it back with cypher_update_query. The template is just a string flowing over MCP — no files, no desktop, no exported bundles. The link carries the DBMS URI but never the password, and get_query is operator-only, so neither ever reaches a patron.
cypher_publish_tool(key) projects a catalog query as a first-class MCP tool named cypher_ whose flat, typed parameters come from the query's schema — e.g. cypher_which_service_handles(keyword). An agent then calls it by name with typed params instead of execute_query_by_key(key, params). Internally every named tool funnels through the same shared executor (look the stored Cypher up by key → parameter-bind → run), so there is one code path and the same refund-on-raise guarantee. A published tool registers unpriced — it appears in Pricing Studio like any new tool; set its price there (calls return "not priced yet (TBD)" until you do). cypher_unpublish_tool(key) retires the tool (the query itself stays, still runnable by key). Published tools survive restarts (re-materialized from the catalog); reconnect to observe tool-list changes.
The synthesis machinery is a generic tollbooth-dpyc primitive (register_dynamic_tool) — named Cypher queries are one realization; the same primitive can back a synthesized tool with a REST call, SQL, or a stored prompt.
cypher_request_adoption, signed with the operator's key). Adoption is the only way in: once the Authority's owner approves the request, the Authority provisions an isolated Neon tenant automatically. cypher_adoption_status reports progress.cypher_request_credential_channel, service cypher-operator):neo4j_uri, neo4j_user, neo4j_password — the graph store (e.g. a Neo4j AuraDB instance)btcpay_host, btcpay_api_key, btcpay_store_id — Lightningcypher_create_query; patrons then execute by key.pip install -e ".[dev]"
pytest -v python -m cypher_mcp.server # needs TOLLBOOTH_NOSTR_OPERATOR_NSEC
Deployed on Prefect Horizon (FastMCP runtime); see fastmcp.json. The only env var required to boot is TOLLBOOTH_NOSTR_OPERATOR_NSEC — every other secret arrives via Secure Courier.
| Repo | Role |
|---|---|
| tollbooth-dpyc | Python SDK — vault, auth, pricing, payments, Nostr identity |
| dpyc-community | Governance registry, membership, advisories, threat model |
| dpyc-oracle | Community concierge — free onboarding help and membership lookup |
| tollbooth-authority | Certification backbone — Schnorr-signed purchase order certificates |
| tollbooth-sample | Sample Operator — canonical template for new MCP services |
| tollbooth-pricing-studio | iOS app — visual pricing-model editor and operator console |
| schwab-mcp | Charles Schwab brokerage data (operational example) |
| thebrain-mcp | TheBrain personal knowledge graph (operational example) |
| excalibur-mcp | X/Twitter posting (operational example) |
| taxsort-mcp | Tax classification + Cloudflare Pages UI (operational example) |
| goodearth-mcp | Region-scoped farm climate analytics (operational example) |
| beesknees-mcp | Multiplayer race to the queen (operational example) |
| roastify-mcp | Roastify coffee catalog and packaging artwork (operational example) |
| ChartRemotely-mcp | Remote desktop charting via a patron's own agent (operational example) |
| tollbooth-web | Shared browser SDK for operator front ends |
| tollbooth-oauth2-collector | OAuth2 callback handler — shared advocate service |
| stablecoin.myshopify.com | DPYC merch and Austrian economics |
The methods, algorithms, and implementations contained in this repository may represent original work by Lonnie VanZandt, first published on June 15, 2026. This public disclosure establishes prior art under U.S. patent law (35 U.S.C. 102).
All use, reproduction, or derivative work must comply with the Apache License 2.0 included in this repository and must provide proper attribution to the original author per the NOTICE file.
If you use or build upon this work, please include the following in your documentation or source:
Based on original work by Lonnie VanZandt and Claude.ai Originally published: June 15, 2026 Source: https://github.com/lonniev/cypher-mcp Licensed under Apache License 2.0
Visit the technologist's virtual cafe for Bitcoin advocates and coffee aficionados at stablecoin.myshopify.com.
The author reserves all rights to seek patent protection for the novel methods and systems described herein. Public disclosure of this work establishes a priority date of June 15, 2026. Under the America Invents Act, the author retains a one-year grace period from the date of first public disclosure to file patent applications.
Note to potential filers: This public repository and its full Git history serve as evidence of prior art. Any patent application covering substantially similar methods filed after the publication date of this repository may be subject to invalidation under 35 U.S.C. 102(a).
The Phantom Tollbooth on the Lightning Turnpike — the full story of how we're monetizing the monetization of AI APIs, and then fading to the background.
cypher-mcp is the graph substrate for the DPYC Software Factory: its agents (Porter = Service Desk, Journeyman = Engineering) read and write an institutional-memory graph here without ever holding a raw Cypher tool. They call a fixed vocabulary of operator-authored, parameterized templates — *write* templates and *read* templates — published as typed cypher_ tools.
record_triage, note_rejection, route_rejection (anti-ping-pong: bounce a rejection back to its origin), record_scope, link_root_cause, link_pr, assert_rationale, bind_rationale_to_symbol, anchor_symbol (post-edit grep-scoping anchor), upsert_capability, assert_invariant, upsert_patent_element, register_service, and more.which_service_handles, explain_capability, what_realizes_capability, capability_patents, context_pack (the flagship grep-scoping bundle), list_capabilities, list_invariants, list_patent_elements, routing_history, recent_activity, factory_resolution_stats, and their provenance readers.assert_rationale hard-codes provenance:'llm-inferred-unverified' as a Cypher literal, so an agent key can never claim authoritative provenance.
Start unlimited, limit later. Seeding just authors + publishes the tools; they then appear in Pricing Studio unpriced. Price them and any funded patron can call — the two agents just purchase api_sats like any patron. When you want to restrict calls to the two, add — in a Pricing Studio session — a json_expression allow-list on patron.npub per tool (Constraint Engine, not a bespoke ACL): listed npub a
ตัดมาแค่ช่วงต้น อ่านต่อใน repo