mcpField
D
dpyc-oracle

dpyc-oracle

リモート
github.com/lonnievソーシャルメディア0今日更新
リポジトリ

dpyc-oracle について

dpyc-oracleは、DPYC Social Contract向けの無料・認証不要のMCPコンシェルジュです。GitHubの最新レジストリを参照して、会員資格、ガバナンス、参加手続き、ネットワークサービスについて回答し、所定の変更には署名付きリクエストを求めます。

主な機能

  1. 01メンバー検索とネットワークサービスの解決
  2. 02会員資格・ガバナンス・参加手続きの案内
  3. 03ネットワークバージョンとデプロイ勧告の確認
  4. 04署名付きの市民登録とサービス登録
  5. 05価格キャンペーンの一覧と取得

活用シーン

  1. 01メンバーを調べる、または登録済みサービスを探す
  2. 02参加方法やAuthorityの追加方法を確認
  3. 03署名済みNostrイベントで市民登録
  4. 04コミュニティの価格キャンペーンを取得

MCP 対応

認証なしで利用できる情報照会とレジストリツールをMCPクライアントに提供します。所定のレジストリ書き込みにはNIP-98署名付きリクエストが必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://dpyc-oracle.fastmcp.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

30

このツールにパラメーターはありません。

詳細

DPYC Oracle

DPYC Social Contract 向けの、無料で認証不要の MCP コンシェルジュサービスです。Oracle は、dpyc-community GitHub registry をリアルタイムで読み取り、会員資格、ガバナンス、オンボーディング、税率に関する質問に回答します。クレジット、Neon データベース、Secure Courier、支払い、認証情報は不要です。例外はレジストリへの書き込みで、書き込みには署名付きリクエストが必要です(署名付きレジストリ書き込みを参照)。

利用可能なツール

ツールパラメーター説明
about()—リポジトリのドキュメント(README + GOVERNANCE)に基づく詳しい説明
lookup_member(npub)npub: strNostr npub を使ってメンバーを検索します
list_services(probe, kind)probe: bool = True, kind: str = "all"レジストリから稼働中のサービスネットワークを列挙します。必要に応じて各メンバーと MCP ハンドシェイクを行い、メンバー自身による説明とツール一覧を取得します
get_tax_rate()—Authority ごとの従価認証税について説明します。独自の税率は提示せず、該当する Authority の check_price を案内します
economic_model()—認証チェーンを通じて価値がどのように流れるかを定性的に示すモデルです(固定税率、件数、収益額は含みません)
get_rulebook()—GOVERNANCE.md の内容
how_to_join()—ティア別の参加手順ガイド
how_to_add_authority()—新しい Tollbooth Authority を立ち上げるためのエンドツーエンドガイド(dpyc-community からリアルタイムに取得)
who_is_first_curator()—初代 Curator の npub と記録
network_versions()—現在推奨されているコンポーネントのバージョン
network_advisory()—運用者向けのデプロイに関する注意事項
service_status()—実行時バージョンの診断
resolve_service(name, npub)name: str = "", npub: str = ""名前または npub(どちらか一方のみ)でサービスを検索し、その npub、url、name、role、purchase_mode を返します。運用者は GitHub を読む代わりに、SDK の default_oracle_client() を通じてこれを使用します
resolve_authority_for(npub)npub: strメンバーの upstream_authority_npub に指定された認証 Authority(npub、url、name)
get_relays()—dpyc-community/relays.json に記載された DPYC Nostr リレーの一覧を優先順で返します。Oracle が到達不能と確認したリレーは後方に移動しますが、削除されることはありません
report_relay_failure(relay, reporter_npub, signed_event, mode)relay: str, reporter_npub: str, signed_event: str, mode: str = "unknown"DPYC のリレー一覧にあるリレーを到達不能として報告します。イベントには reporter_npub による署名が必要です。その後、Oracle 自身がリレーをプローブし、Oracle によるプローブ結果のみが優先順位を変更します
request_citizenship(npub, display_name)npub: str, display_name: str市民登録のオンボーディングを開始します(チャレンジを発行)
confirm_citizenship(npub, challenge_id, signed_event_json)npub: str, challenge_id: str, signed_event_json: str署名済み Nostr イベントを使ってオンボーディングを完了します
register_advocate(npub, display_name, service_name, service_url, service_description)npub: str, display_name: str, service_name: str, service_url: str, service_description: strコミュニティ向けユーティリティサービスを Advocate として登録します。リクエストには npub 自身の鍵による署名が必要です
register_authority(authority_npub, display_name, service_url, upstream_authority_npub)authority_npub: str, display_name: str, service_url: str, upstream_authority_npub: str新しい Authority を登録します(オンボーディングフローから呼び出されます)
register_operator(operator_npub, display_name, service_url, authority_npub)operator_npub: str, display_name: str, service_url: str, authority_npub: str新しい Operator を登録します。スポンサーとなる Authority が、その所有者による採用承認後に呼び出します。リクエストには authority_npub の鍵による署名が必要です
update_operator(operator_npub, authority_npub, service_url, display_name)operator_npub: str, authority_npub: str, service_url: str = "", display_name: str = ""既存の Operator のレジストリエントリーを更新します(例:新しい MCP エンドポイント)。Authority の所有者が Operator の更新リクエストを承認した後、Authority が呼び出します。リクエストには authority_npub の鍵による署名が必要です
deregister_operator(operator_npub, authority_npub)operator_npub: str, authority_npub: strOperator が Authority を離れる場合、または Authority が Operator との関係を解消する場合に、Operator をレジストリから削除します。Authority が呼び出し、リクエストには authority_npub の鍵による署名が必要です
check_ban_status(npub)npub: strnpub が禁止されているか確認します
publish_campaign(author_npub, operator_npub, campaign_json, campaign_name, campaign_markdown)author_npub: str, operator_npub: str, campaign_json: str, campaign_name: str = "", campaign_markdown: str = ""DPYC コミュニティに料金キャンペーンを公開します。リクエストには author_npub の鍵による署名が必要です
list_campaigns(operator_npub, author_npub)operator_npub: str = "", author_npub: str = ""公開済みの料金キャンペーンを一覧表示します。必要に応じて Operator または作成者で絞り込めます
get_campaign(author_npub, operator_npub, slug, format)author_npub: str, operator_npub: str, slug: str, format: str = "json"公開済みの料金キャンペーンを取得します(JSON または Markdown)
スタブ実装(今後対応予定)
ツール説明
renounce_membership(npub)自動 PR による市民の自己登録解除
initiate_ban_election(target_npub, reason)経済的な追放投票を開始
cast_ban_vote(election_id, vote, npub)Lightning で資金提供する追放投票

署名付きレジストリへの書き込み

register_operator、update_operator、deregister_operator はネットワークが信頼する相手を変更するため、Oracle はその Operator を後援する Authority からのリクエストのみを受け付けます。リクエストには、指定された authority_npub の鍵で作成した NIP-98 署名(Authorization: Nostr <base64 kind-27235>。リクエストのメソッド、URL、本文に紐付けられたもの)が必要です。署名のないリクエスト、または他の鍵で署名されたリクエストは拒否されます。

register_advocate と publish_campaign にも同じ NIP-98 署名が必要です。署名は書き込み対象の npub の鍵で作成します。Advocate は自身を登録し、キャンペーンは作成者自身の npub で公開します。鍵を持つ人なら誰でも実行できますが、他者の npub を名乗って実行することはできません。

Oracle のその他すべてのツールは、Authorization ヘッダーなしで応答します。

Operator がこれらのツールを直接呼び出すことはありません。Operator は自身の Authority に依頼し(Authority 上で request_adoption、update_operator、deregister_operator を実行)、所有者の承認後、または登録解除の場合は直ちに、Authority がここで署名付き呼び出しを行います。

市民登録

新しい市民は、Schnorr 署名の検証を通じて自己登録できます。

  1. request_citizenship(npub, display_name) — 暗号学的チャレンジを発行します
  2. Nostr nsec でチャレンジに署名します(オフラインで行い、nsec がデバイスの外部に出ることはありません)
  3. confirm_citizenship(npub, challenge_id, signed_event_json) — 署名を検証し、自動的にコミットします

成功すると、Oracle は dpyc-community の members/citizens/{npub}.json に個別のメンバーファイルを作成します。CI ワークフローは、個別ファイルから members/read-only-lookup-cache.json を再生成します。

Advocate の登録

Advocate は、共有インフラを提供するコミュニティ向けユーティリティサービス(OAuth2 コレクターなど)であり、収益化される Operator ではありません。登録は Oracle を介して行うため、チャレンジとレスポンスは不要です。

register_advocate(
    npub="<service_npub>",
    display_name="My Service",
    service_name="my-service",
    service_url="https://my-service.fastmcp.app",
    service_description="What the service does",
)

Oracle は members/advocates/{npub}.json を直接コミットし、members/read-only-lookup-cache.json を更新するため、Advocate はすぐに見つけられるようになります。ピア MCP サーバーは、この Oracle の resolve_service(name=...) を通じてサービス URL を検出します。tollbooth-dpyc はこれを default_oracle_client().resolve_service(name=...) として呼び出します。

接続方法

このサービスは Horizon 上でホストされています。MCP クライアントの設定に追加してください。

{
  "mcpServers": {
    "dpyc-oracle": {
      "url": "https://dpyc-oracle.fastmcp.app/mcp"
    }
  }
}

関連リポジトリ

常に最新の正式な一覧はレジストリにあります。最新データを取得するには、list_services()/lookup_member()/network_versions() を呼び出してください。安定したソースリポジトリ:

コア

  • dpyc-community — レジストリ、ガバナンス、メンバーシップデータ
  • tollbooth-dpyc — すべてのオペレーターとオーソリティが基盤とする Python SDK
  • tollbooth-sample — 新しいサービス向けのリファレンスオペレーターテンプレート
  • tollbooth-pricing-studio — オペレーターが料金モデルの設計に使用する iOS アプリ
  • tollbooth-web — オペレーターのフロントエンド向け共有ブラウザー SDK

オーソリティ(認定チェーン)

オペレーター

  • thebrain-mcp — パーソナルブレインのナレッジグラフ
  • excalibur-mcp — X/Twitter への投稿
  • schwab-mcp — Charles Schwab の証券口座データ
  • taxsort-mcp — 税務項目の仕分けと分類
  • optionality-mcp — オプション分析
  • cypher-mcp — 収益化されたグラフ回答(Neo4j/AuraDB 上で Cypher という名前)
  • goodearth-mcp — 地域限定の農業気候分析
  • beesknees-mcp — The Bee's Knees、女王を目指すマルチプレイヤーレース
  • roastify-mcp — Roastify のコーヒーカタログとパッケージデザイン
  • ChartRemotely-mcp — ペアリングしたエージェントを通じて、デスクトップチャートに証券を表示

アドボケート(共有ユーティリティ、非収益化)

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。