DC Member API

io.github.dynamitecircle由 GitHub 账号 dynamitecircle 发布v2.6.1更新于 Oct 24, 2026

Read and act on your own Dynamite Circle membership data via the public DC Member API.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作

概览

AI 生成的概览

面向 Dynamite Circle 会员社区的远程 MCP 服务器,让助手读取并操作你自己的 DC 会员数据,如个人资料、行程、活动等。

可以做什么
读取你自己的 DC 会员数据:个人资料、行程、活动、线上活动、门票、分会、地点查询和每周定位摘要。浏览社区内容:公告、收件箱、房间和邀请。操作你的账户:更新个人资料、创建行程、活动报名和发送邀请。列表结果使用游标分页,支持 limit 和 cursor 参数。
适用场景
当你是 Dynamite Circle 会员,希望 AI 助手回答关于你的会员信息、活动、行程或社区动态的问题,或在不离开对话的情况下对自己的 DC 账户做小幅更新时使用。
运行要求
远程 Streamable HTTP 端点,无需安装。需要 Dynamite Circle 会员资格,并通过 OAuth 登录,或以 Bearer 方式发送 DC 会员 API 密钥。需要能访问 DC API 的网络。按会员等级有速率限制。
安装前请注意
该服务器可写入你的账户:更新资料、创建行程、活动报名和发送邀请。访问权限通过你的凭据限定在你自己的会员账户内,请妥善保管 OAuth 登录和 API 密钥。请求会发送至 Dynamite Circle API,并受速率限制约束。

安装

在 SourceWeft 中

  1. 打开 控制台中的 DC Member API,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.dynamitecircle%2Fdc/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "dc-member-api": {
      "type": "http",
      "url": "https://api.dynamitecircle.com/mcp"
    }
  }
}

README

DC Official Clients

Official clients for the Dynamite Circle Member API — your own profile, trips, events, virtual events, tickets, invites, inbox, rooms, chapters, places lookup, and the weekly locator digest.

The Python client is a single self-contained file. Zero dependencies (stdlib only). Works as a CLI, a Python library, and a Model Context Protocol server. Compatible with Claude Code, Claude Desktop, Codex CLI, Gemini CLI, Cursor, GitHub Copilot, and every other Agent Skills / MCP-compatible tool.

The TypeScript client is an npm library for trusted server-side TypeScript projects. It is not a CLI and not an MCP server.

py/dc.py       ← Python: CLI + library + MCP serverts/src/        ← TypeScript: npm librarycontracts/     ← pinned OpenAPI contract shared by both clients

About the Dynamite Circle

The Dynamite Circle is the place where global founders find their people — a curated, members-only community of location-independent business owners running profitable companies around the world. Founded in 2011 (it started with twenty listeners on a remote tropical island), the DC has grown into a hand-selected network of ~1,500 active founders who meet at vetted in-person events like DCBKK and DCMEX, swap notes in private rooms, and travel through each other's home cities year-round.

DC is a private community, but it's open to applications from founders running location-independent businesses doing $100k+ in annual revenue. Every application is personally reviewed by a team member within 48 business hours — start an application here if that sounds like you.

Quick Start

Never used Claude Code, Codex, or git? Here's the 5-minute path from zero to "Claude can read my DC profile."

1. Install the basics (one-time)

You need three free things on your computer:

  • Python 3.9+ — the language this client is written in. Download here (Mac/Windows/Linux installers; check "Add Python to PATH" on Windows).
  • Git — the tool that downloads code from GitHub. Download here.
  • An AI assistant — pick one:
    • Claude Code ← recommended — this repo is built around it
    • Codex CLI — works too, slightly different commands
    • Claude Desktop — the chat app, gets you the MCP server but no CLI

If anything during install asks "do you want to add to PATH?" — say yes.

2. Get the code

Open a terminal:

  • Mac: Spotlight → "Terminal"
  • Windows: Start → "Terminal" (or "PowerShell")
  • Linux: you know what to do

Then paste:

bash
git clone https://github.com/dynamitecircle/dc.gitcd dc

You now have a folder called dc with all the code in it.

3. Get your DC API key

In your browser: go to https://dc.dynamitecircle.com, log in, click your profile photo (top-right), and choose DC Member API Key. Copy the long string starting with dk_….

4. Tell the client about your key

Back in your terminal (still inside the dc folder):

bash
python3 py/dc.py setup --api-key dk_paste_your_key_here

5. Try it

Open Claude Code and make sure it's pointed at the dc folder you just downloaded. (Claude usually opens to your last project — if it's somewhere else, click the folder icon and pick dc.)

Then ask:

"Show me my DC profile"

Claude runs the right command and shows you back your profile. A few more to try:

"What's the latest in DC announcements?" "What events am I attending?" "Show me the DCMEX schedule and bookmark anything about marketing" "Who else from my chapter is going to DCBKK?"

You're done. The rest of this README explains what's possible in more detail; py/SKILL.md lists every command Claude can run.

If something didn't work

SymptomWhat to try
python3: command not foundPython didn't install or didn't get added to PATH. Re-install and check the "Add to PATH" box on Windows; on Mac, try python instead of python3.
git: command not foundSame idea — re-install Git.
Claude says "I don't see a dc skill"Make sure Claude Code is opened to the dc folder, not your home directory or another project. Or just ask Claude: "are you in the dc folder?"
Anything elseRun python3 py/dc.py self-test from the dc folder — it tells you exactly which step is broken.

How it's exposed

The same dc.py file is shipped as four integrations — pick whichever fits how your tool talks to it:

IntegrationWhat it isInvoke withDependencies
Agent SkillAuto-discovered via SKILL.md frontmatter (Claude Code, Codex, Gemini CLI, Cursor, Copilot)Just open the repo with the tool — it reads py/SKILL.md and offers the commandsstdlib only
CLIRun commands directly from the shell or scriptspython3 py/dc.py <command>stdlib only
Python libraryImport in your own Python codefrom dc import DC; DC().profile()stdlib only
MCP serverSpeaks Model Context Protocol over stdio (Claude Desktop, Cursor, Codex MCP, Cline, etc.)python3 py/dc.py --mcppip install mcp (optional)

The mcp package is lazy-imported — Agent Skill / CLI / Python-library users never need it.

TypeScript npm library

For TypeScript projects, use the package under ts/:

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 });

Keep dk_... API keys server-side. Do not ship a member API key in browser JavaScript.

Don't want to install anything? Use the hosted MCP

The DC Member API is also a hosted MCP server — a remote endpoint you point your AI app at, with nothing to clone, install, or update:

https://api.dynamitecircle.com/mcp        (Streamable HTTP)

[Add to Cursor]   [Install in VS Code]

  • Claude Code: claude mcp add --transport http dc https://api.dynamitecircle.com/mcp
  • Claude (web / Desktop / mobile): Settings → Connectors → Add custom connector → paste the URL → Connect
  • VS Code: click the badge above, or code --add-mcp '{"name":"dc","url":"https://api.dynamitecircle.com/mcp"}'
  • Cursor: click the badge above, or add a custom MCP connector pointing at the URL
  • ChatGPT / any other MCP app: add a custom / remote MCP connector pointing at the URL above

When prompted, sign in with your DC account (one-click OAuth) — or send a dk_ key as Authorization: Bearer. The server is always on the current API version, so there's nothing to keep up to date.

Hosted MCP vs. this client — which do I want?

You want…Use
Zero install, always-current, just MCP tools in a chat appHosted MCP (URL above)
To call DC from your own Python code (from dynamitecircle import DC)This client (library)
A local CLI (dc profile) or shell scriptingThis client (CLI)
A local stdio MCP server (offline-capable, pin a version, dev against localhost)This client (dc --mcp)

The rest of this README is about this client. For the hosted MCP, the URL above is all you need.

Features

  • Full Member API coverage — read + write across every public endpoint (run python3 py/dc.py help for the live list)
  • Setup command — saves your API key to a chmod-600 .env.dc next to the skill
  • Self-test command — validates env, network, key shape, and a live /profile call end-to-end
  • Cursor pagination — every list-returning command uses the same [--limit N] [--cursor TOKEN] shape and returns the canonical envelope {items, count, cursor, has_more}
  • Three output formats — text (default, pretty JSON), --json, --python
  • MCP-ready — same skill auto-exposes all commands as MCP tools
  • Pre-configured for Claude Code — repo ships an .mcp.json, just cd and claude

CLI quickstart (already comfortable in a terminal?)

If you're skipping past the Quick Start above and just want the CLI flow, here's the condensed version.

1. Get an API key

DC profile dropdown → DC Member API Key (admins/testers only). Keys look like dk_<api-key> and are revocable from the same dropdown.

2. Save the key

bash
python3 py/dc.py setup --api-key dk_<api-key>

This writes py/.env.dc (chmod 600, gitignored).

3. Verify the connection

bash
python3 py/dc.py self-test

Expected output:

json
{  "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. Try a few commands

bash
python3 py/dc.py profilepython3 py/dc.py trips --limit 5python3 py/dc.py events --past --limit 3python3 py/dc.py chapters --limit 5python3 py/dc.py permacode

Run python3 py/dc.py help for the full command list.

Setup per AI tool

Hosted MCP (no install, always current)

Nothing to clone or update — point your tool at the remote endpoint:

bash
# Claude Codeclaude mcp add --transport http dc https://api.dynamitecircle.com/mcp

For Claude web / Desktop, Cursor, ChatGPT, and other MCP apps, add a custom / remote connector pointing at https://api.dynamitecircle.com/mcp (Streamable HTTP). Sign in with your DC account (OAuth) or send a dk_ key as a Bearer header. Discovery is published at /.well-known/mcp.json. This is the lowest-effort path; everything below runs the client locally instead.

Claude Code (local client)

.mcp.json is already shipped with this repo. Open the repo with claude:

bash
cd dcclaude

Tools become available as mcp__dc__*. First-time install of the optional MCP dependency:

bash
pip install -r py/requirements.txt

Skill discovery (CLI + import) works automatically via py/SKILL.md.

Auto-updating local MCP via uvx (PyPI)

Prefer a local stdio server that pulls the latest published client on every launch with no clone to maintain? Use uv's uvx and pass your key in the env block:

json
{  "mcpServers": {    "dc": {      "type": "stdio",      "command": "uvx",      "args": ["--refresh", "--from", "dynamitecircle[mcp]", "dc", "--mcp"],      "env": { "DC_API_KEY": "dk_<api-key>" }    }  }}

Notes: the console script is dc (not dynamitecircle), so --from dynamitecircle[mcp] is required — it both names the package and pulls the optional mcp extra. --refresh is what makes it auto-update; drop it to let uvx cache. The DC_API_KEY in env wins over any .env.dc (an ephemeral uvx install has none).

Claude Desktop

Easiest — one-click .mcpb: download dc.mcpb from the latest GitHub release and double-click it. Claude Desktop installs the dc server and prompts for your DC_API_KEY (no JSON editing). Requires Python 3.9+ with the mcp package available on your machine (pip install 'dynamitecircle[mcp]'). (Or skip local install entirely and use the hosted MCP connector above.)

Manual — edit your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "dc": {      "command": "python3",      "args": ["/absolute/path/to/dc/py/dc.py", "--mcp"]    }  }}

Restart Claude Desktop.

Codex CLI

Edit ~/.codex/config.toml:

toml
[mcp_servers.dc]command = "python3"args = ["/absolute/path/to/dc/py/dc.py", "--mcp"]

Codex auto-discovers AGENTS.md (symlinked to CLAUDE.md) and .agents/skills/ (symlinked to .claude/skills/).

Gemini CLI

Reads GEMINI.md (symlinked to CLAUDE.md) for context. For MCP, configure in your Gemini CLI settings:

yaml
mcp_servers:  dc:    command: python3    args:      - /absolute/path/to/dc/py/dc.py      - --mcp

Cursor

Settings → MCP → Add server, then point at the same dc.py --mcp.

GitHub Copilot

Reads .github/copilot-instructions.md for context. Copilot doesn't have native MCP support yet — use it for in-editor suggestions while developing.

Any other MCP client

Same recipe: command = python3, args = ["/path/to/dc.py", "--mcp"]. The protocol is standard.

Output formats

bash
python3 dc.py profile             # text (pretty JSON for dicts/lists)python3 dc.py profile --json      # explicit JSONpython3 dc.py profile --python    # Python repr (eval-safe)

Global flags work before or after the command name:

bash
python3 dc.py --json profilepython3 dc.py profile --json

Cursor pagination

All list-returning commands take the same flags:

bash
python3 dc.py tripspython3 dc.py trips --limit 10python3 dc.py trips --limit 10 --cursor <opaque-token-from-previous-response>python3 dc.py trips --past --limit 5

Standard envelope:

json
{  "items":    [ /* page of records */ ],  "count":    42,  "cursor":   "opaque-token-or-null",  "has_more": true}

Non-paginated extras (e.g. totalUnread on inbox) are passed through under an extra key.

Use as a Python library

Installed from PyPI (pip install dynamitecircle) — import by the package name:

python
from dynamitecircle import DC
dc = DC()

Working from a clone instead? Point sys.path at the py/ folder and import as dc:

python
import syssys.path.insert(0, "py")from dc import DC
dc = DC()
# Readsprofile  = 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")
# Writesdc.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")

Override the API URL (e.g. for a local dev server):

python
dc = DC(api_url="http://localhost:8080")

API reference

The full live reference for the DC Member API — every endpoint, parameter, and response shape — is at https://www.dynamitecircle.com/developers/. The page is regenerated on every deploy, so it's always current.

Staying up to date

The DC Member API ships new endpoints and refinements regularly. This skill is the official client and we update it whenever the API changes. Plan for updates — the skill will warn you on stderr the first time a request returns an X-API-Version newer than DC_API_VERSION, and major-version bumps may break older clients.

The no-maintenance option: if you use the hosted MCP (https://api.dynamitecircle.com/mcp), there's nothing to update — the server always runs the current API version. The strategies below apply only to the local client.

Pick whichever integration style fits your project. From simplest to most isolated:

0. PyPI — pip / uvx

bash
pip install dynamitecircle              # CLI + librarypip install 'dynamitecircle[mcp]'       # + local MCP server (dc --mcp)

Then dc setup --api-key dk_<api-key> and dc self-test. Update with pip install --upgrade dynamitecircle. For a local MCP that auto-updates on every launch, use the uvx config above.

Best for: the quickest local install, and the auto-updating uvx MCP setup.

1. Plain git clone — quick local use

bash
git clone https://github.com/dynamitecircle/dc.gitcd dcpython3 py/dc.py setup --api-key dk_<api-key>

To update: cd dc && git pull. Run self-test afterwards.

Best for: trying things out, scripts you run by hand, no other repo involved.

2. Git submodule — pinned to a specific commit

If you have your own project repo and want the dc repo versioned alongside it:

bash
cd your-projectgit submodule add https://github.com/dynamitecircle/dc.git vendor/dcgit commit -m "Add dc client as submodule"

To update later:

bash
cd vendor/dcgit pull origin maincd ../..git add vendor/dcgit commit -m "Bump dc client"

Then in your code:

python
import syssys.path.insert(0, "vendor/dc/py")from dc import DC

Best for: production-ish code where you want explicit, reviewable bumps.

3. Git subtree — same updates, no submodule indirection

bash
cd your-projectgit subtree add --prefix vendor/dc \  https://github.com/dynamitecircle/dc.git main --squash

Update with:

bash
git subtree pull --prefix vendor/dc \  https://github.com/dynamitecircle/dc.git main --squash

Best for: teammates who don't know submodules — files just appear in your repo.

4. Symlink — share one clone across many projects

If you keep all your projects in ~/code/:

bash
git clone https://github.com/dynamitecircle/dc.git ~/code/dc
# In each project that uses it:cd ~/code/your-projectln -s ../dc vendor/dc

Now cd ~/code/dc && git pull updates every consumer at once. Project-level .mcp.json / .codex/config.toml entries can use vendor/dc/py/dc.py and they'll resolve through the symlink.

Best for: power users with multiple personal projects and one machine.

5. Pip-installable Git ref — one-shot for a virtualenv

The skill is one file with no setup.py, but you can install the package the MCP server needs and check the file out as a sibling:

bash
pip install mcpgit clone https://github.com/dynamitecircle/dc.git

Best for: CI environments, ephemeral containers, scripted setups.

Update etiquette

  • Stay current. The DC Member API ships new endpoints regularly and the client mirrors them; running stale means missing features and (eventually) compatibility warnings on stderr.
  • Run self-test after every update. Five seconds, catches breakage.
  • Watch stderr the first time you call any command after updating. The version-mismatch warning prints once per process when the API is on a newer minor/major.
  • Major version bumps may be backwards-incompatible. Read the release notes on the GitHub repo before pulling across a major boundary.

Rate limits

TierPer minutePer day
DC Community10300
DC BLACK603,000

Headers on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Daily-Remaining.

Platform support

Tested on macOS, Linux, and Windows 10/11. Python 3.9+ required (uses pathlib, Path.replace, inspect.signature, contextvars, urllib).

Windows notes

  • The skill auto-reconfigures stdout and stderr to UTF-8 at startup, so emoji and em-dashes render correctly even on legacy cmd.exe (which defaults to cp1252). If you still see mojibake on a very old terminal, set PYTHONIOENCODING=utf-8 once: setx PYTHONIOENCODING utf-8 then restart your shell.
  • setup writes .env.dc and tries to chmod 600 it. On Windows this is a no-op — the file inherits NTFS perms from its parent. The skill emits a one-time note about this when you run setup. Make sure your repo isn't on a shared drive.
  • Use python or python3.exe to invoke; the #!/usr/bin/env python3 shebang is ignored on Windows.

Project layout

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

About the layout

This is a monorepo. The Python client lives at /py/; the TypeScript client lives at /ts/. Both wrap the same DC Member API and are validated against the pinned contract in /contracts/. /docs/ is shared. The dotfile-prefixed directories (.claude/, .agents/, .gemini/) exist because AI tools auto-discover skills from those specific paths — they're kept hidden but each one symlinks (or points) straight to the canonical folder, so you only edit files in one place. Edit py/dc.py and Claude Code, Codex, and Gemini CLI all see the same file via their respective discovery directories. Gemini CLI also reads .agents/skills/ as an alias, so we don't need a redundant .gemini/skills/ symlink.

If you're adding Python code or skill docs, edit py/ (or docs/) directly. If you're adding TypeScript library code, edit ts/. The discovery folders take care of themselves.

Pre-approval out of the box

.claude/settings.json, .codex/config.toml, and .gemini/settings.json all auto-approve the dc MCP server's tools so users don't get a per-call approval prompt when they open this repo with their AI tool. Anyone uncomfortable with that can override with their personal .claude/settings.local.json, ~/.codex/config.toml, or ~/.gemini/settings.json. Every dc write tool is scoped to the caller's own DC account via their personal API key — pre-approval doesn't widen any blast radius, just removes per-call friction.

Maintenance

This repo is maintained by the Dynamite Circle team. It's read-only for the public — clone it and use it, but don't open PRs. If you spot a bug or want a new feature, contact us through the official DC channels.

License

MIT — see the LICENSE file for the full text.

来源:README.md,提交 69997d5

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

3
  1. v2.6.1最新Oct 12, 2026
  2. v2.5.1Oct 11, 2026
  3. v2.3.1Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分