cypher-mcp について
cypher-mcpは、運営者が作成したCypherテンプレートを通じて、Neo4jグラフから有料の回答を提供するMCPサーバーです。生のCypherを利用者に公開せず、グラフ利用者やエージェントに回答を提供します。
主な機能
- 01審査済みのパラメーター付きCypherクエリを実行
- 02クエリを型付きの名前付きツールとして公開
- 03ツールごとの価格設定
- 04クエリ失敗時の課金取り消し
- 05Neo4j Browserでテンプレートを編集
活用シーン
- 01生のデータベースアクセスなしでエージェントにグラフ回答を提供
- 02カタログのクエリを呼び出し可能なMCPツールとして公開
- 03成功したグラフクエリの結果に課金
- 04Neo4j Browserでテンプレートを調整・テスト
MCP 対応
パラメーター付きグラフクエリと公開済みの名前付きツールをMCPクライアントに提供します。運営者は制限付きのMCPツールでクエリテンプレートとツール公開を管理します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://cypher-mcp.fastmcp.app/mcpclaude mcp add --transport http lonniev-cypher https://cypher-mcp.fastmcp.app/mcp{"mcpServers":{"lonniev-cypher":{"type":"http","url":"https://cypher-mcp.fastmcp.app/mcp"}}}Cursor で開く{"servers":{"lonniev-cypher":{"type":"http","url":"https://cypher-mcp.fastmcp.app/mcp"}}}VS Code で開く{"mcpServers":{"lonniev-cypher":{"type":"http","url":"https://cypher-mcp.fastmcp.app/mcp"}}}{"mcpServers":{"lonniev-cypher":{"serverUrl":"https://cypher-mcp.fastmcp.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
112| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| npub | string | はい | 残高を確認する Nostr 公開鍵(npub1...)。 |
| dpop_token | string | はい | 呼び出し元が npub を保持していることを証明するもの:receive_npub_proof からの許可エンベロープ、または npub で署名された kind-27235 Nostr イベントの生 JSON(`u` タグがこのツール名になっているもの)。 |
詳細
cypher-mcp
Bitcoin Lightning を活用した、有料のグラフ回答。 Tollbooth-DPYC オペレーターが、グラフから価格付きの回答を販売します。回答はオペレーターが作成した、パラメーター化された名前付き Cypher クエリテンプレートであり、データベースへの生アクセスではありません。
OSS の Neo4j MCP サーバーは、オペレーターが別途費用を負担するデータベース(Neo4j の請求書)への無料のパイプにすぎず、請求も別途行われます(Stripe のスタック)。cypher-mcp はインフラコスト、アプリケーションの課金、アクセス制御を、1つの従量制 MCP サーフェスにまとめます。オペレーターは席を販売するのをやめ、sats で決済される回答を販売し始めます。Stripe のスタックは不要で、Neo4j の請求書が顧客に転嫁されることもありません。
稼働中:https://cypher-mcp.fastmcp.app/mcp
仕組み
2つのプレーンが明確に分離されています。
- 決済/ID プレーン — Neon + Nostr + Tollbooth。他のすべての DPYC オペレーターと共有されます。グラフの存在を知ることはありません。
- 価値提供プレーン — Bolt → Neo4j。
graph.pyのツールハンドラー内に封じ込められ、リクエストごとに開いて破棄されます(コネクションプールなし)。バックエンドのストアは利用者から見えない実装の詳細であるため、MCP サーフェスを変更せずに差し替えられます。
概念上の3つのレイヤー:
| レイヤー | 場所 | 内容 |
|---|---|---|
| L1 — プリミティブ | コード(1回だけ出荷) | execute_query_by_key(key, params) + カタログの CRUD |
| L2 — カタログ | Neon query_catalog | key → 検証済み Cypher テンプレート + パラメータースキーマ(実行可能なこと) |
| L3 — 価格設定 | Tollbooth の価格モデル | 販売対象、名前、価格 |
ステータス:稼働中、名前付きツールに対応。 L1 + L2 は出荷済みで、実際に課金される回答を提供しています。Authority に採用され、AuraDB をバックエンドに使用するオペレーターで、例外発生時の返金をエンドツーエンドで検証済みです。名前付きツールも稼働中です(L3 ツール合成): オペレーターは
publish_tool(key)を使って、クエリを独立した型付きツール(例:cypher_which_service_handles(keyword))として公開し、Pricing Studio で個別に価格を設定できます。キーごとのパラメトリックな価格設定式は今後の対応項目です。CHANGELOG.md を参照してください。
ツール
利用者向け(有料):
cypher_execute_query_by_key(key, params)— 公開済みのクエリを実行します。指定するのはパラメーターだけです。クエリ本文はオペレーターが管理し、パラメーターは Cypher の$paramsとしてバインドされます(文字列補間は一切行いません)。回答が提供された場合に限り課金されます。不明なキー、無効なパラメーター、クエリの失敗があれば、引き落としはロールバックされます(例外発生時の返金)。
無料: cypher_public_factory_stats — 集計カウントのみを返します(タイトル、パス、npub は含みません)。プロセス内にキャッシュされ、frontend/ にある読み取り専用 Cypher Lab Notebook フロントエンドの未認証ランディングページで使用されます。
さらに、ホイールから提供される標準的な DPYC サーフェスも利用できます:cypher_check_balance、cypher_check_price、cypher_purchase_credits、Secure Courier、npub proof、Oracle delegation、account statements、制約ベースの動的価格設定など。
オペレーター専用(制限付き、無料) — 作成プレーン:
cypher_create_query/cypher_update_query/cypher_get_query/cypher_list_queries/cypher_delete_querycypher_publish_tool(key)/cypher_unpublish_tool(key)— クエリを独立した型付きの名前付きツールとして公開する(または公開を終了する)操作です。下記の名前付きツールを参照してください。
生の Cypher が利用者に渡ることはありません。利用者がアクセスできるのは、名前付きのパラメーター化されたテンプレートだけです。
Neo4j 独自の UI で作成 — 新しいエディターを覚える必要はありません
DB アナリストは専用ツールではなく、Neo4j Browser でテンプレートを調整します。cypher_get_query(key) はテンプレートに加えて edit_url を返します。これはホスト型の Neo4j Browser(browser.neo4j.io)へのディープリンクで、オペレーターの AuraDB をあらかじめ指定し、ステートメントを編集モード(cmd=edit)で読み込みます。オートコンプリート、実行テスト、可視化、PROFILE を使って調整した後、cypher_update_query で保存します。テンプレートは MCP 経由でやり取りされる文字列にすぎません。ファイル、デスクトップアプリ、エクスポートしたバンドルは不要です。リンクには DBMS URI が含まれますが、パスワードは含まれません。また、get_query はオペレーター専用のため、どちらも利用者に渡ることはありません。
名前付きツール — クエリを独立したツールとして公開する
cypher_publish_tool(key) は、カタログのクエリを、クエリのスキーマに基づくフラットな型付きパラメーターを持つ、cypher_<key> という名前の第一級 MCP ツールとして公開します。
たとえば、cypher_which_service_handles(keyword) のようになります。エージェントは execute_query_by_key(key, params) ではなく、型付きパラメーターを指定して名前で呼び出します。内部では、名前付きツールはすべて同じ共有エグゼキューターを経由します(キーで保存済みの Cypher を検索 → パラメーターをバインド → 実行)。そのため、コードパスは一つで、例外発生時の返金保証も共通です。公開されたツールは価格未設定で登録されます。新しいツールと同様に Pricing Studio に表示されるため、そこで価格を設定してください(設定するまでは、呼び出しの結果として「not priced yet (TBD)」が返されます)。cypher_unpublish_tool(key) はツールを非公開にします(クエリ自体は残り、引き続きキーで実行できます)。公開したツールは再起動後も保持されます(カタログから再生成されます)。ツール一覧の変更を確認するには、再接続してください。
合成機構は、汎用の tollbooth-dpyc プリミティブ(register_dynamic_tool)です。名前付き Cypher クエリはその一つの実装例であり、同じプリミティブを使って、REST 呼び出し、SQL、保存済みプロンプトを使った合成ツールを作成できます。
オンボーディング(運用担当者)
- Authority に
cypher_request_adoptionで導入を申請します(運用担当者の鍵で署名します)。導入は唯一の参加方法です。Authority のオーナーが申請を承認すると、Authority が分離された Neon テナントを自動的にプロビジョニングします。進捗はcypher_adoption_statusで確認できます。 - Secure Courier を使って運用担当者のシークレットを渡します
(
cypher_request_credential_channel、サービスcypher-operator):neo4j_uri、neo4j_user、neo4j_password— グラフストア (例:Neo4j AuraDB インスタンス)btcpay_host、btcpay_api_key、btcpay_store_id— Lightning
cypher_create_queryでカタログを作成します。利用者はキーを指定してクエリを実行します。
開発
pip install -e ".[dev]"
pytest -v
python -m cypher_mcp.server # needs TOLLBOOTH_NOSTR_OPERATOR_NSEC
Prefect Horizon(FastMCP ランタイム)にデプロイされています。fastmcp.json を参照してください。起動に必要な環境変数は TOLLBOOTH_NOSTR_OPERATOR_NSEC のみで、その他のシークレットはすべて Secure Courier 経由で届きます。
DPYC エコシステム
| リポジトリ | 役割 |
|---|---|
| tollbooth-dpyc | Python SDK — ボールト、認証、価格設定、決済、Nostr アイデンティティ |
| dpyc-community | ガバナンスレジストリ、メンバーシップ、勧告、脅威モデル |
| dpyc-oracle | コミュニティコンシェルジュ — 無料のオンボーディング支援とメンバーシップ照会 |
| tollbooth-authority | 認証基盤 — Schnorr 署名付き発注書証明書 |
| tollbooth-sample | サンプルオペレーター — 新しい MCP サービス向けの標準テンプレート |
| tollbooth-pricing-studio | iOS アプリ — ビジュアル価格モデルエディターおよびオペレーターコンソール |
| schwab-mcp | Charles Schwab の証券取引データ(稼働例) |
| thebrain-mcp | TheBrain の個人用ナレッジグラフ(稼働例) |
| excalibur-mcp | X/Twitter への投稿(稼働例) |
| taxsort-mcp | 税務分類 + Cloudflare Pages UI(稼働例) |
| goodearth-mcp | 地域限定の農場気候分析(稼働例) |
| beesknees-mcp | 女王を目指すマルチプレイヤーレース(稼働例) |
| roastify-mcp | Roastify のコーヒーカタログおよびパッケージアートワーク(稼働例) |
| ChartRemotely-mcp | パトロン自身のエージェントを介したリモートデスクトップでのチャート作成(稼働例) |
| tollbooth-web | オペレーターのフロントエンド向け共有ブラウザー SDK |
| tollbooth-oauth2-collector | OAuth2 コールバックハンドラー — 共有アドボケイトサービス |
| stablecoin.myshopify.com | DPYC グッズおよびオーストリア学派経済学 |
先行技術と帰属表示
このリポジトリに含まれる手法、アルゴリズム、および実装は、 Lonnie VanZandt による独自の成果を表す場合があり、2026 年 6 月 15 日に初めて公開されました。 この公開により、米国特許法(35 U.S.C. 102)に基づく 先行技術が確立されます。
すべての利用、複製、または派生物の作成は、このリポジトリに含まれる Apache License 2.0 に従い、NOTICE ファイルに従って原作者を適切に表示する必要があります。
帰属表示の方法
この成果を利用または発展させる場合は、ドキュメントまたはソースに 以下を記載してください。
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
Bitcoin 支持者やコーヒー愛好家のための、技術者が営むバーチャルカフェへ stablecoin.myshopify.com からお越しください。
特許に関する告知
著者は、ここに記載された新規な手法およびシステムについて、特許保護を求める権利をすべて留保します。 この成果の公開により、2026 年 6 月 15 日の優先日が確立されます。America Invents Act に基づき、著者は 最初の公開日から 1 年間の猶予期間内に特許出願を行う権利を保持します。
特許出願を検討している方への注記: この公開リポジトリと完全な Git 履歴は、 先行技術の証拠となります。このリポジトリの公開日以降に出願された、実質的に類似する手法を対象とする特許出願は、 35 U.S.C. 102(a) に基づき無効となる可能性があります。
さらに読む
The Phantom Tollbooth on the Lightning Turnpike — AI API の収益化を収益化し、その後、背景に退いていくまでの全容をご紹介します。
Software Factory の意図語彙(DPYC エージェント)
cypher-mcp は、DPYC Software Factory のグラフ基盤です。エージェント(Porter =
Service Desk、Journeyman = Engineering)は、生の Cypher ツールを一切保持せずに、
ここにある組織の記憶グラフを読み書きします。エージェントは、オペレーターが作成した
固定語彙のパラメーター化テンプレート(書き込みテンプレートと読み取りテンプレート)を呼び出します。
これらは型付きの cypher_<key> ツールとして公開されます。
- 書き込みテンプレートは記憶を記録します:
record_triage、note_rejection、route_rejection(ピンポン防止:却下を発生元に差し戻す)、record_scope、link_root_cause、link_pr、assert_rationale、bind_rationale_to_symbol、anchor_symbol(編集後の grep 範囲指定アンカー)、upsert_capability、assert_invariant、upsert_patent_element、register_serviceなど。 - 読み取りテンプレートは意図サービスのフォワードマップ、つまり、「X を担当するサービスはどれか/
このケイパビリティが存在する理由は何か」を、12 個のリポジトリを grep する代わりに 1 回のクエリで
解決する RAG サーフェスです:
which_service_handles、explain_capability、what_realizes_capability、capability_patents、context_pack(主要な grep 範囲指定バンドル)、list_capabilities、list_invariants、list_patent_elements、routing_history、recent_activity、factory_resolution_stats、および出所情報の読み取り機能。
assert_rationale は provenance:'llm-inferred-unverified' を Cypher リテラルとして固定しているため、
エージェントキーが権威ある出所情報を主張することはできません。
まずは無制限に開始し、後から制限します。 シード処理では作成者を登録してツールを公開するだけです。
ツールはPricing Studioに価格未設定で表示されます。価格を設定すれば、資金を持つ任意のパトロンが呼び出せます。
2 つのエージェントも、他のパトロンと同様に api_sats を購入するだけです。2 つのエージェントに呼び出しを
制限したい場合は、Pricing Studio のセッションで、ツールごとに patron.npub の json_expression
許可リストを追加します(独自 ACL ではなく Constraint Engine を使用)。リストにある npub は許可され、
それ以外はデフォルトで拒否されます。デプロイなしで実行時に変更できます。制限は残高でも行えます。
Porter への資金は少なめに、Journeyman には多めに割り当てます。資金が尽きたエージェントはグラフへの書き込みを
停止しますが、GitHub でのトリアージは引き続き行えます。
シード処理(オペレーター、冪等)。 scripts/seed_factory_vocabulary.py が語彙を作成して公開します。
--dry-run はサーバーも nsec も必要とせず、アクセスを制限する際に Pricing Studio で再現するための
正確な許可リストも出力します:
python scripts/seed_factory_vocabulary.py --dry-run \
--porter-npub npub1ymg... --journeyman-npub npub1m5q...
ライブのオペレーターに対して適用します(OPERATOR_NSEC から読み取るか、非表示のプロンプトで入力する
オペレーターの nsec を、一時的に各リクエストの署名(NIP-98)に使用します。ログに記録したり、ディスクに
書き込んだりすることはありません)。--gate(両方の npub を指定)を追加すると、Pricing Studio ではなく、
npub ごとの許可リストもプログラムから適用します:
python scripts/seed_factory_vocabulary.py \
--url https://cypher-mcp.fastmcp.app/mcp --operator-npub npub1fuhq0... \
--porter-npub npub1ymg... --journeyman-npub npub1m5q...
語彙自体は scripts/factory_vocabulary.py(データのみ、I/O なし)にあり、
tests/test_factory_vocabulary.py でテストされています。パイプラインの配線(エージェントによる署名と
これらのツールの呼び出し)、NIP-05 の公開、資金提供は、この基盤の後続工程です。
商標
DPYC™、Tollbooth DPYC™、Don't Pester Your Customer™ は Lonnie VanZandt の商標です。使用ガイドラインについては、dpyc-community リポジトリの TRADEMARKS.md を参照してください。
ライセンス
Apache License 2.0 — 詳細は LICENSE と NOTICE を参照してください。
結局のところ、料金所は決して目的地ではありませんでした。 それはいつだって、旅の始まりにすぎなかったのです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。