DC Member API について
DC Member API は、メンバーが自身の Dynamite Circle データを参照・更新するためのクライアントとホスト型 MCP サーバーです。Python クライアントは CLI、ライブラリ、ローカル stdio MCP サーバーとしても使え、サーバーサイド向けの TypeScript ライブラリもあります。
主な機能
- 01メンバー API データの読み書き
- 02Python の CLI とライブラリ
- 03ローカル stdio MCP サーバー
- 04ホスト型 Streamable HTTP MCP エンドポイント
- 05サーバーサイド向け TypeScript ライブラリ
活用シーン
- 01メンバープロフィールやイベントの確認
- 02メンバー情報の更新やブックマーク
- 03Python スクリプトでの DC データ利用
- 04MCP 対応 AI アプリから DC に接続
MCP 対応
API は OAuth または Bearer API キーで利用できる、ホスト型の Streamable HTTP MCP サーバーとして提供されます。Python クライアントはローカルの stdio MCP サーバーとしても動作し、メンバー API の操作をツールとして公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.dynamitecircle.com/mcpclaude mcp add --transport http dynamitecircle-dc https://api.dynamitecircle.com/mcp{"mcpServers":{"dynamitecircle-dc":{"type":"http","url":"https://api.dynamitecircle.com/mcp"}}}Cursor で開く{"servers":{"dynamitecircle-dc":{"type":"http","url":"https://api.dynamitecircle.com/mcp"}}}VS Code で開く{"mcpServers":{"dynamitecircle-dc":{"type":"http","url":"https://api.dynamitecircle.com/mcp"}}}{"mcpServers":{"dynamitecircle-dc":{"serverUrl":"https://api.dynamitecircle.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
DC 公式クライアント
Dynamite Circle Member API 用の公式クライアントです。自分のプロフィール、旅行、イベント、バーチャルイベント、チケット、招待、受信トレイ、ルーム、チャプター、場所の検索、週次ロケーターダイジェストを利用できます。
Python クライアントは、単一の自己完結型ファイルです。依存関係はありません(標準ライブラリのみ)。CLI、Python ライブラリ、そして Model Context Protocol サーバーとして動作します。Claude Code、Claude Desktop、Codex CLI、Gemini CLI、Cursor、GitHub Copilot、およびその他すべての Agent Skills/MCP 対応ツールと互換性があります。
TypeScript クライアントは、信頼できるサーバーサイド TypeScript プロジェクト向けの npm ライブラリです。CLI でも MCP サーバーでもありません。
py/dc.py ← Python: CLI + library + MCP server
ts/src/ ← TypeScript: npm library
contracts/ ← pinned OpenAPI contract shared by both clients
Dynamite Circle について
Dynamite Circle は、世界中の創業者が仲間と出会う場所です。世界各地で収益性の高い企業を経営する、場所に縛られないビジネスオーナーのための、厳選された会員制コミュニティです。2011 年に設立され(熱帯の離島で 20 人のリスナーを集めて始まりました)、DC は現在、約 1,500 人の現役創業者が集う、厳選されたネットワークへと成長しました。メンバーは、DCBKK や DCMEX のような審査済みの対面イベントで交流し、非公開のルームで情報交換を行い、一年を通じて互いの地元の都市を訪れています。
DC は非公開のコミュニティですが、年間売上が 10 万ドル以上の、場所に縛られないビジネスを経営する創業者からの応募を受け付けています。すべての応募は、48 営業時間以内にチームメンバーが個別に審査します。該当する場合は、こちらから応募を開始してください。
クイックスタート
Claude Code、Codex、git を使ったことがなくても大丈夫です。ここでは、何もない状態から「Claude が自分の DC プロフィールを読める」ようになるまでの 5 分間の手順を紹介します。
1. 基本ツールをインストールする(一度だけ)
コンピューターに 3 つの無料ツールが必要です。
- Python 3.9 以降 — このクライアントの開発に使われている言語です。こちらからダウンロードしてください(Mac/Windows/Linux 用インストーラーがあります。Windows では 「Add Python to PATH」 にチェックを入れてください)。
- Git — GitHub からコードをダウンロードするツールです。こちらからダウンロードしてください。
- AI アシスタント — 次から 1 つ選んでください。
- Claude Code ← おすすめ — このリポジトリは Claude Code を中心に構築されています
- Codex CLI — こちらも使えますが、コマンドが少し異なります
- Claude Desktop — チャットアプリです。MCP サーバーは利用できますが、CLI はありません
インストール中に「PATH に追加しますか?」と聞かれたら、「はい」と答えてください。
2. コードを取得する
ターミナルを開きます。
- Mac:Spotlight →「Terminal」
- Windows:スタート →「Terminal」(または「PowerShell」)
- Linux:おなじみの手順でどうぞ
次に、以下を貼り付けます。
git clone https://github.com/dynamitecircle/dc.git
cd dc
これで、すべてのコードが入った dc というフォルダーができました。
3. DC API キーを取得する
ブラウザーで https://dc.dynamitecircle.com にアクセスしてログインし、プロフィール写真(右上)をクリックして、DC Member API Key を選びます。dk_… で始まる長い文字列をコピーしてください。
4. クライアントにキーを設定する
ターミナルに戻ります(引き続き dc フォルダー内で操作します)。
python3 py/dc.py setup --api-key dk_paste_your_key_here
5. 試してみる
Claude Code を開き、先ほどダウンロードした dc フォルダーが対象になっていることを確認します。(通常、Claude は最後に開いたプロジェクトを開きます。別の場所が開いている場合は、フォルダーアイコンをクリックして dc を選んでください。)
次のように質問します。
「自分の DC プロフィールを見せて」
Claude が適切なコマンドを実行し、プロフィールを表示します。ほかにも、次のように試してみてください。
「DC の最新のお知らせは?」 「どのイベントに参加する予定?」 「DCMEX のスケジュールを表示して、マーケティングに関するものをブックマークして」 「自分のチャプターから DCBKK に参加する人は誰?」
これで完了です。この README の残りでは、できることを詳しく説明します。py/SKILL.md には、Claude が実行できるすべてのコマンドが記載されています。
うまく動作しない場合
| 症状 | 試すこと |
|---|---|
python3: command not found | Python がインストールされていないか、PATH に追加されていません。再インストールし、Windows では 「Add to PATH」 にチェックを入れてください。Mac では、python3 の代わりに python を試してください。 |
git: command not found | 同様に、Git を再インストールしてください。 |
Claude が「dc スキルが見つかりません」と言う | Claude Code がホームディレクトリや別のプロジェクトではなく、dc フォルダーを開いていることを確認してください。または Claude に 「dc フォルダーにいますか?」 と尋ねてください。 |
| その他 | dc フォルダーから python3 py/dc.py self-test を実行してください。どの手順に問題があるかを正確に教えてくれます。 |
公開方法
同じ dc.py ファイルを4 種類の連携方法で提供しています。ツールとの接続方法に合うものを選んでください。
| 連携方法 | 内容 | 実行方法 | 依存関係 |
|---|---|---|---|
| エージェントスキル | SKILL.md のフロントマターを介して自動検出されます(Claude Code、Codex、Gemini CLI、Cursor、Copilot) | ツールでリポジトリを開くだけです。py/SKILL.md を読み込み、コマンドを提示します | 標準ライブラリのみ |
| CLI | シェルまたはスクリプトからコマンドを直接実行します | python3 py/dc.py <command> | 標準ライブラリのみ |
| Python ライブラリ | 独自の Python コードにインポートします | from dc import DC; DC().profile() | 標準ライブラリのみ |
| MCP サーバー | stdio 経由で Model Context Protocol に対応します(Claude Desktop、Cursor、Codex MCP、Cline など) | python3 py/dc.py --mcp | pip install mcp(任意) |
mcp パッケージは遅延インポートされるため、エージェントスキル/CLI/Python ライブラリのユーザーは必要ありません。
TypeScript npm ライブラリ
TypeScript プロジェクトでは、ts/ 以下のパッケージを使用してください。
import { DC } from "@dynamitecircle/dc";
const dc = new DC({ apiKey: process.env.DC_API_KEY! });
const profile = await dc.profile.get();
const trips = await dc.trips.list({ limit: 10 });
dk_... API キーはサーバー側に保持してください。メンバー API キーをブラウザーの JavaScript に含めないでください。
何もインストールせずに使いたい場合:ホステッド MCP を使用する
DC Member API はホステッド MCP サーバーとしても提供されています。AI アプリから接続するリモートエンドポイントで、クローン、インストール、更新は不要です。
https://api.dynamitecircle.com/mcp (Streamable HTTP)
- Claude Code:
claude mcp add --transport http dc https://api.dynamitecircle.com/mcp - Claude(Web/Desktop/モバイル): 設定 → コネクター → カスタムコネクターを追加 → URL を貼り付け → 接続
- VS Code: 上のバッジをクリックするか、
code --add-mcp '{"name":"dc","url":"https://api.dynamitecircle.com/mcp"}'を実行します - Cursor: 上のバッジをクリックするか、URL を指定したカスタム MCP コネクターを追加します
- ChatGPT/その他の MCP アプリ: 上記の URL を指定したカスタム/リモート MCP コネクターを追加します
プロンプトが表示されたら、DC アカウントでサインイン(ワンクリック OAuth)するか、dk_ キーを Authorization: Bearer として送信してください。サーバーは常に最新の API バージョンで稼働するため、更新を続ける必要はありません。
ホステッド MCP とこのクライアント:どちらを選べばよいですか?
| 目的… | 使用するもの |
|---|---|
| インストール不要で、常に最新の状態で、チャットアプリから MCP ツールだけを使いたい | ホステッド MCP(上記の URL) |
独自の Python コードから DC を呼び出したい(from dynamitecircle import DC) | このクライアント(ライブラリ) |
ローカル CLI(dc profile)またはシェルスクリプトを使いたい | このクライアント(CLI) |
| ローカルの stdio MCP サーバーを使いたい(オフライン対応、バージョン固定、localhost での開発) | このクライアント(dc --mcp) |
この README の残りの部分では、このクライアントについて説明します。ホステッド MCP では、上記の URL だけで利用できます。
機能
- メンバー API を全面的にカバー — すべての公開エンドポイントで読み取りと書き込みに対応します(最新の一覧は
python3 py/dc.py helpを実行してください) - セットアップコマンド — API キーをスキルと同じ場所にある chmod-600 の
.env.dcに保存します - 自己テストコマンド — 環境変数、ネットワーク、キーの形式、および
/profileへのライブ呼び出しをエンドツーエンドで検証します - カーソルページネーション — リストを返すすべてのコマンドで同じ
[--limit N] [--cursor TOKEN]形式を使用し、標準のエンベロープ{items, count, cursor, has_more}を返します - 3 種類の出力形式 — テキスト(デフォルト、整形済み JSON)、
--json、--python - MCP 対応 — 同じスキルによって、すべてのコマンドが MCP ツールとして自動的に公開されます
- Claude Code 用に事前設定済み — リポジトリに
.mcp.jsonが含まれているため、cdしてclaudeを実行するだけです
CLI のクイックスタート(ターミナルに慣れていますか?)
上記のクイックスタートを飛ばして、CLI の手順だけを知りたい場合は、簡潔な手順を以下に示します。
1. API キーを取得する
DC プロフィールのドロップダウン → DC Member API Key(管理者/テスターのみ)。キーは dk_<api-key> の形式で、同じドロップダウンから無効化できます。
2. キーを保存する
python3 py/dc.py setup --api-key dk_<api-key>
py/.env.dc に書き込みます(chmod 600、Git の追跡対象外)。
3. 接続を確認する
python3 py/dc.py self-test
出力例:
{
"ok": true,
"userID": "<your-id>",
"displayName": "<Your Name>",
"checks": [
{ "step": "env", "ok": true, "message": "DC_API_KEY loaded from ..." },
{ "step": "keyShape", "ok": true, "message": "Key prefix valid (expected userID: <id>)" },
{ "step": "profile", "ok": true, "message": "connected as userID[<id>] <Your Name>" }
]
}
4. コマンドをいくつか試す
python3 py/dc.py profile
python3 py/dc.py trips --limit 5
python3 py/dc.py events --past --limit 3
python3 py/dc.py chapters --limit 5
python3 py/dc.py permacode
すべてのコマンドの一覧は python3 py/dc.py help を実行して確認してください。
AI ツールごとのセットアップ
ホステッド MCP(インストール不要、常に最新)
クローンや更新は不要です。ツールからリモートエンドポイントに接続してください。
# Claude Code
claude mcp add --transport http dc https://api.dynamitecircle.com/mcp
Claude Web/Desktop、Cursor、ChatGPT、その他の MCP アプリでは、https://api.dynamitecircle.com/mcp(Streamable HTTP)を指定するカスタム/リモートコネクターを追加してください。DC アカウントでサインインする(OAuth)か、Bearer ヘッダーとして dk_ キーを送信します。探索情報は /.well-known/mcp.json で公開されています。これが最も手間のかからない方法です。以下ではすべて、クライアントをローカルで実行します。
Claude Code(ローカルクライアント)
.mcp.json はこのリポジトリに同梱されています。リポジトリを claude で開いてください。
cd dc
claude
ツールは mcp__dc__* として利用できます。オプションの MCP 依存関係を初めてインストールするには、次を実行してください。
pip install -r py/requirements.txt
py/SKILL.md により、スキルの検出(CLI とインポート)は自動的に行われます。
uvx によるローカル MCP の自動更新(PyPI)
管理用のクローンを用意せず、起動するたびに最新の公開済みクライアントを取得するローカルの stdio サーバーを使いたいですか?uv の uvx を使用し、env ブロックにキーを渡してください。
{
"mcpServers": {
"dc": {
"type": "stdio",
"command": "uvx",
"args": ["--refresh", "--from", "dynamitecircle[mcp]", "dc", "--mcp"],
"env": { "DC_API_KEY": "dk_<api-key>" }
}
}
}
注意:コンソールスクリプト名は dynamitecircle ではなく dc なので、--from dynamitecircle[mcp] が必要です。これによりパッケージ名が指定され、オプションの mcp エクストラもインストールされます。自動更新を有効にするのは --refresh です。省略すると uvx のキャッシュが使われます。env の DC_API_KEY は、.env.dc の値より優先されます(一時的な uvx インストールには .env.dc がありません)。
Claude Desktop
最も簡単な方法 — ワンクリックの .mcpb: 最新の GitHub リリースから dc.mcpb をダウンロードして、ダブルクリックしてください。Claude Desktop が dc サーバーをインストールし、DC_API_KEY の入力を求めます(JSON の編集は不要です)。Python 3.9 以降と、マシンで利用可能な mcp パッケージが必要です(pip install 'dynamitecircle[mcp]')。(ローカルインストールを完全に省略して、上記のホステッド MCP コネクターを使うこともできます。)
手動 — 設定ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dc": {
"command": "python3",
"args": ["/absolute/path/to/dc/py/dc.py", "--mcp"]
}
}
}
Claude Desktop を再起動してください。
Codex CLI
~/.codex/config.toml を編集します。
[mcp_servers.dc]
command = "python3"
args = ["/absolute/path/to/dc/py/dc.py", "--mcp"]
Codex は AGENTS.md(CLAUDE.md へのシンボリックリンク)と .agents/skills/(.claude/skills/ へのシンボリックリンク)を自動検出します。
Gemini CLI
コンテキストとして GEMINI.md(CLAUDE.md へのシンボリックリンク)を読み込みます。MCP を設定するには、Gemini CLI の設定で次を指定してください。
mcp_servers:
dc:
command: python3
args:
- /absolute/path/to/dc/py/dc.py
- --mcp
Cursor
「Settings」→「MCP」→「Add server」を選択し、同じ dc.py --mcp を指定してください。
GitHub Copilot
コンテキストとして .github/copilot-instructions.md を読み込みます。Copilot はまだネイティブの MCP サポートに対応していないため、開発中のエディター内での候補表示にご利用ください。
その他の MCP クライアント
同じ方法です。コマンドは python3、引数は ["/path/to/dc.py", "--mcp"] です。プロトコルは標準仕様です。
出力形式
python3 dc.py profile # text (pretty JSON for dicts/lists)
python3 dc.py profile --json # explicit JSON
python3 dc.py profile --python # Python repr (eval-safe)
グローバルフラグはコマンド名の前後どちらでも指定できます。
python3 dc.py --json profile
python3 dc.py profile --json
カーソルページネーション
リストを返すすべてのコマンドで、同じフラグを使用できます。
python3 dc.py trips
python3 dc.py trips --limit 10
python3 dc.py trips --limit 10 --cursor <opaque-token-from-previous-response>
python3 dc.py trips --past --limit 5
標準的なエンベロープ:
{
"items": [ /* page of records */ ],
"count": 42,
"cursor": "opaque-token-or-null",
"has_more": true
}
ページネーション対象外の追加データ(例:inbox の totalUnread)は、extra キーの下にそのまま渡されます。
Python ライブラリとして使用する
PyPI からインストール(pip install dynamitecircle)し、パッケージ名でインポートします。
from dynamitecircle import DC
dc = DC()
クローンから作業していますか?sys.path に py/ フォルダーを指定し、dc としてインポートします。
import sys
sys.path.insert(0, "py")
from dc import DC
dc = DC()
# Reads
profile = dc.profile()
trips = dc.trips(past=True, limit=10)
events = dc.events(past=True, limit=5)
chapters = dc.chapters()
overlaps = dc.overlaps()
locator = dc.locator(sections="homeCity,favoriteCities")
# Writes
dc.profile_update({"headline": "CEO at Acme"})
dc.trip_create(start_date="2026-12-01", end_date="2026-12-05", place_id="ChIJ...")
dc.event_rsvp("<eventID>", "yes")
dc.invite_create(email="[email protected]", full_name="New Friend")
API URL を上書きします(ローカル開発サーバーを使用する場合など)。
dc = DC(api_url="http://localhost:8080")
API リファレンス
DC Member API のすべてのエンドポイント、パラメーター、レスポンス形式を網羅した最新のリファレンスは、https://www.dynamitecircle.com/developers/ にあります。このページはデプロイのたびに再生成されるため、常に最新の状態です。
最新の状態を保つ
DC Member API には、新しいエンドポイントや改良が定期的に追加されます。このスキルは公式クライアントであり、API の変更に合わせて更新されます。更新を前提にしてください。X-API-Version が DC_API_VERSION より新しい値のリクエストが初めて返されると、このスキルは stderr に警告を出します。また、メジャーバージョンが上がると、古いクライアントが動作しなくなる可能性があります。
メンテナンス不要の方法: ホスト型 MCP(https://api.dynamitecircle.com/mcp)を使用する場合、更新は不要です。サーバーは常に最新の API バージョンで動作します。以下の方法はローカルクライアントにのみ適用されます。
プロジェクトに合った統合方法を選んでください。最も簡単な方法から、分離性の高い方法へ順に紹介します。
0. PyPI — pip / uvx
pip install dynamitecircle # CLI + library
pip install 'dynamitecircle[mcp]' # + local MCP server (dc --mcp)
次に dc setup --api-key dk_<api-key> と dc self-test を実行します。pip install --upgrade dynamitecircle で更新できます。起動のたびに自動更新されるローカル MCP を使うには、上記の uvx 設定を使用してください。
おすすめ:最も手早くローカルにインストールしたい場合や、自動更新される uvx MCP のセットアップに最適です。
1. 通常の git クローン — 手軽なローカル利用
git clone https://github.com/dynamitecircle/dc.git
cd dc
python3 py/dc.py setup --api-key dk_<api-key>
更新するには、cd dc && git pull を実行します。その後、self-test を実行してください。
おすすめ:お試しでの利用、手動で実行するスクリプト、ほかのリポジトリを使わない場合に最適です。
2. Git サブモジュール — 特定のコミットに固定
独自のプロジェクトリポジトリがあり、dc リポジトリのバージョンを一緒に管理したい場合:
cd your-project
git submodule add https://github.com/dynamitecircle/dc.git vendor/dc
git commit -m "Add dc client as submodule"
後から更新するには:
cd vendor/dc
git pull origin main
cd ../..
git add vendor/dc
git commit -m "Bump dc client"
次に、コードで以下を実行します。
import sys
sys.path.insert(0, "vendor/dc/py")
from dc import DC
おすすめ:明示的でレビュー可能な更新を行いたい、本番に近いコードに最適です。
3. Git subtree — サブモジュールを介さずに同じ更新を適用
cd your-project
git subtree add --prefix vendor/dc \
https://github.com/dynamitecircle/dc.git main --squash
以下で更新します。
git subtree pull --prefix vendor/dc \
https://github.com/dynamitecircle/dc.git main --squash
おすすめ:サブモジュールに詳しくないチームメイトがいる場合に最適です。ファイルがそのままリポジトリに追加されます。
4. シンボリックリンク — 複数のプロジェクトで1つのクローンを共有
すべてのプロジェクトを ~/code/ に置いている場合:
git clone https://github.com/dynamitecircle/dc.git ~/code/dc
# In each project that uses it:
cd ~/code/your-project
ln -s ../dc vendor/dc
これで cd ~/code/dc && git pull を実行すると、利用するすべてのプロジェクトが一度に更新されます。プロジェクト単位の .mcp.json / .codex/config.toml エントリでは vendor/dc/py/dc.py を指定でき、シンボリックリンク経由で解決されます。
おすすめ:複数の個人プロジェクトを1台のマシンで管理する上級ユーザーに最適です。
5. pip でインストール可能な Git 参照 — 仮想環境向けの簡易セットアップ
このスキルは setup.py のない単一ファイルですが、MCP サーバーが必要とするパッケージをインストールし、ファイルを隣接する場所にチェックアウトできます。
pip install mcp
git clone https://github.com/dynamitecircle/dc.git
おすすめ:CI 環境、一時的なコンテナー、スクリプト化されたセットアップに最適です。
更新時の心得
- 常に最新の状態に保ってください。 DC Member API には定期的に新しいエンドポイントが追加され、クライアントもそれに対応します。古いバージョンを使い続けると、機能を利用できないだけでなく、(最終的には)stderr に互換性に関する警告が表示されます。
- 更新のたびに
self-testを実行してください。 5 秒で完了し、問題を検出できます。 - 更新後、最初に各コマンドを呼び出したときは stderr を確認してください。 API のマイナーバージョンまたはメジャーバージョンが新しい場合、バージョン不一致の警告がプロセスごとに一度表示されます。
- メジャーバージョンの更新には、後方互換性のない変更が含まれる場合があります。 メジャーバージョンをまたいで更新する前に、GitHub リポジトリのリリースノートを確認してください。
レート制限
| Tier | 1 分あたり | 1 日あたり |
|---|---|---|
| DC Community | 10 | 300 |
| DC BLACK | 60 | 3,000 |
すべてのレスポンスに含まれるヘッダー:X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset、X-RateLimit-Daily-Remaining。
プラットフォームのサポート
macOS、Linux、Windows 10/11 でテスト済みです。Python 3.9 以降が必要です(pathlib、Path.replace、inspect.signature、contextvars、urllib を使用)。
Windows に関する注意事項
- スキルは起動時に
stdoutとstderrを UTF-8 に自動で再設定するため、レガシーなcmd.exe(既定では cp1252)でも絵文字やエムダッシュが正しく表示されます。非常に古いターミナルで文字化けが見られる場合は、PYTHONIOENCODING=utf-8を一度設定してください。setx PYTHONIOENCODING utf-8を実行してから、シェルを再起動します。 setupは.env.dcを書き込み、アクセス権を chmod 600 に変更しようとします。Windows では何も起こりません。ファイルは親ディレクトリの NTFS アクセス許可を継承します。setupの実行時に、このことについてのメモが一度だけ表示されます。リポジトリが共有ドライブ上にないことを確認してください。- Windows では
pythonまたはpython3.exeを使って実行してください。#!/usr/bin/env python3のシバンは無視されます。
プロジェクトの構成
dc/
├── README.md # this file
├── CLAUDE.md # AI-tool guide (also linked as AGENTS.md, GEMINI.md)
├── AGENTS.md → CLAUDE.md # symlink (Codex)
├── GEMINI.md → CLAUDE.md # symlink (Gemini)
├── LICENSE # MIT
├── manifest.json # MCPB manifest (MCP 2025-11 spec)
├── .mcp.json # auto-registers `dc` MCP server in Claude Code
├── .codex/
│ └── config.toml # auto-registers `dc` for Codex CLI
├── .github/
│ └── copilot-instructions.md # GitHub Copilot
│
├── py/ # ← Python client (canonical)
│ ├── SKILL.md # Agent Skills frontmatter + usage
│ ├── config.json # name, version, env requirements
│ ├── dc.py # CLI + Python import + --mcp server
│ ├── requirements.txt # optional MCP dep — skip for CLI/import
│ ├── .env.dc.example # template
│ └── .env.dc # gitignored (created by `setup`)
│
├── ts/ # ← TypeScript npm library (@dynamitecircle/dc)
│ ├── src/ # hand-written SDK surface
│ ├── tests/ # contract + request behavior tests
│ ├── examples/ # TypeScript usage examples
│ ├── package.json
│ └── tsconfig.json
│
├── contracts/ # pinned API contract shared by clients
│ ├── openapi.json # committed snapshot of /openapi.json
│ └── operation-map.json # OpenAPI op → Python command → TS method
│
├── DC/
│ └── SKILL.md → ../py/SKILL.md # human-friendly skill path (symlink)
│
├── docs/ # ← REAL design docs (canonical)
│ ├── skill-info.md # design rules / architecture
│ └── mcp-info.md # MCP setup for every supported client
│
├── .claude/ # Agent Skills discovery (Claude Code)
│ ├── skills/dc → ../../py # symlink to canonical Python client
│ └── docs → ../docs # symlink to canonical docs
│
├── .agents/ # Agent Skills discovery (Codex CLI + Gemini CLI alias)
│ ├── skills/dc → ../../py # symlink to canonical Python client
│ └── docs → ../docs # symlink to canonical docs
│
├── .gemini/ # Gemini CLI MCP config
│ └── settings.json # auto-approves dc MCP tools (trust: true)
│
├── .gitignore
└── .gitattributes
構成について
これはモノレポです。Python クライアントは /py/ に、TypeScript クライアントは /ts/ にあります。どちらも同じ DC Member API をラップし、/contracts/ に固定されたコントラクトに照らして検証されます。/docs/ は共通です。ドットファイルで始まるディレクトリ(.claude/、.agents/、.gemini/)があるのは、AI ツールが特定のパスからスキルを自動検出するためです。これらのディレクトリは非表示にしてありますが、それぞれが正規のフォルダーに直接シンボリックリンク(またはポインター)しているため、編集するファイルは 1 か所だけです。py/dc.py を編集すると、Claude Code、Codex、Gemini CLI のいずれからも、それぞれの検出ディレクトリを介して同じファイルを参照できます。Gemini CLI は .agents/skills/ もエイリアスとして読み込むため、重複する .gemini/skills/ のシンボリックリンクは不要です。
Python コードやスキルのドキュメントを追加する場合は、py/(または docs/)を直接編集してください。TypeScript ライブラリのコードを追加する場合は、ts/ を編集してください。検出用フォルダーは自動的に処理されます。
標準で承認済み
.claude/settings.json、.codex/config.toml、.gemini/settings.json では、dc MCP サーバーのツールがすべて自動承認されます。そのため、ユーザーがこのリポジトリを AI ツールで開いたとき、呼び出しごとの承認プロンプトは表示されません。これを望まない場合は、個人用の .claude/settings.local.json、~/.codex/config.toml、または ~/.gemini/settings.json で上書きできます。dc の書き込みツールはすべて、個人用 API キーを通じて呼び出し元自身の DC アカウントに限定されているため、事前承認によって影響範囲が広がることはありません。呼び出しごとの手間が省かれるだけです。
メンテナンス
このリポジトリは Dynamite Circle チームがメンテナンスしています。一般公開向けには読み取り専用です。クローンして利用できますが、プルリクエストは送らないでください。バグを見つけた場合や新機能を希望する場合は、公式の DC チャネルからお問い合わせください。
ライセンス
MIT — 全文については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。