# Dynamitecircle Dc MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.github.dynamitecircle%2Fdc
Registry id: `mcp-registry/io.github.dynamitecircle/dc`
Status: auth-required (checked 2026-10-27T03:32:48.418Z)

## Measurements (30 days)

- Uptime: 100%
- Checks: 1480
- Outages (90 days): 0

## Install

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

Claude Code:

```sh
claude mcp add --transport http dynamitecircle-dc-mcp-server https://api.dynamitecircle.com/mcp
```

## Tools (87)

- `alerts`: GET /alerts — List your alerts Returns the user's alerts, ordered by creation date (newest first). Maximum 50 results.
- `alerts_by_id_delete`: DELETE /alerts/:alertID — Deactivate an alert Soft-delete an alert by setting `active: false`. The alert's history is preserved for past digests. Use `PATCH /al
- `alerts_by_id_update`: PATCH /alerts/:alertID — Update an alert Update one or more fields on an existing alert. Only provide the fields you want to change. ⚠️ WRITE operation: this mu
- `alerts_create`: POST /alerts — Create an alert Create a new alert. The system will search for matching content and deliver digests on the configured frequency. Maximum 10 activ
- `announcements`: GET /announcements — List recent announcements Returns the most recent announcements from DC's broadcast channels — official updates from the DC team and chapte
- `announcements_latest`: GET /announcements/latest — Latest announcement per channel (quick overview) Returns the **single most recent announcement from each visible channel** — a one-s
- `calendar`: GET /calendar — Get your iCalendar feed URL + settings Returns your iCalendar feed URLs and the toggles that control which event categories the feed includes. *
- `calendar_update`: PATCH /calendar — Update calendar feed settings Update any subset of your calendar feed toggles. Send only the toggles you want to change — omitted fields are l
- `chapter`: GET /chapters/:cityID — Get a single chapter Get full details for a single chapter, including up to 100 home-chapter members and the list of DCers currently vis
- `chapters`: GET /chapters — List chapters List all DC chapters (city-based community hubs), sorted by member count. Each chapter has a Google Place ID — pass it to `POST /t
- `event`: GET /events/:eventID — Get event details Returns full details for a specific event, including your ticket status.
- `event_agenda`: GET /events/:eventID/agenda — Get your personal agenda for an event Returns the sessions and meetups **YOU** have on your personal agenda for an event: - Sessio
- `event_agenda_get`: GET /events/:eventID/agenda/:userID — Get another attendee's agenda for an event Returns another attendee's personal agenda for an event — the sessions they boo
- `event_agendas`: GET /events/:eventID/agendas — Get multiple attendees' agendas in one call Returns the agendas (bookmarked sessions + meetup RSVPs) for **multiple** attendees i
- `event_attendees`: GET /events/:eventID/attendees — List event attendees List the confirmed attendees of an event — DCers holding a `valid` paid ticket OR a `valid`/`maybe` RSVP s
- `event_free_slots_create`: POST /events/:eventID/free-slots — Find shared free time slots across attendees Computes shared **free slots** across a set of event attendees — the time window
- `event_meetup_attendees`: GET /events/:eventID/meetups/:meetupID/attendees — List meetup attendees Returns the list of attendees who have RSVPd to a specific meetup. Same profile shape a
- `event_meetup_rsvp`: POST /events/:eventID/meetups/:meetupID/rsvp — RSVP to / leave a meetup Join or leave a meetup. Requires a valid ticket for the event. The meetup's `rsvpCount` 
- `event_meetups`: GET /events/:eventID/meetups — List event meetups Returns the approved member-organized meetups for an event, sorted chronologically. Only approved meetups are 
- `event_rsvp`: POST /events/:eventID/rsvp — RSVP to a free event RSVP to an event that uses free RSVP (not ticketed). Only works for events with rsvpEnabled: true. ⚠️ WRITE op
- `event_schedule`: GET /events/:eventID/schedule — Get event schedule Returns the full schedule (sessions) for an event, sorted chronologically. **Access:** any active DCer who ca
- `event_schedule_attendees`: GET /events/:eventID/schedule/:sessionID/attendees — List session attendees (people who bookmarked it) Returns the list of attendees who have **bookmarked** a s
- `event_schedule_bookmark`: POST /events/:eventID/schedule/:sessionID/bookmark — Bookmark / unbookmark a session Add or remove a session from your personal agenda — this is the API equival
- `event_sponsors`: GET /events/:eventID/sponsors — List event sponsors Returns the sponsors for an event, ordered by tier (primary → supporting) then display order. Deleted sponso
- `events`: GET /events — List upcoming events Returns upcoming DC events, sorted by date. Add `?past=true` to include past events. **See also:** For events by name or topi
- `follows_chapter_create`: POST /follows/chapters/:cityID — Follow a chapter Follow a DC chapter (city hub). Idempotent. Target must exist in the chapters list (discover via `GET /chapter
- `follows_chapter_delete`: DELETE /follows/chapters/:cityID — Unfollow a chapter Unfollow a DC chapter. Idempotent — unfollowing a chapter you weren't following is a no-op. ⚠️ WRITE opera
- `follows_chapters`: GET /follows/chapters — List followed chapters List the DC chapters (city hubs) you are currently following. Each entry is a mini-chapter with the chapter's Goo
- `follows_profiles`: GET /follows/profiles — List followed DCers List the DCers you are currently following. Returns the same mini-profile shape used by every other list endpoint, s
- `follows_profiles_by_id_create`: POST /follows/profiles/:userID — Follow a DCer Follow a DCer. Idempotent — calling it twice with the same userID is safe (no-op the second time). Target must ex
- `follows_profiles_by_id_delete`: DELETE /follows/profiles/:userID — Unfollow a DCer Unfollow a DCer. Idempotent — unfollowing someone you weren't following is a no-op (still returns 200 with th
- `inbox`: List inbox messages
- `inbox_unread`: GET /inbox/unread — Get unread counts Returns your total unread message count and per-room breakdown. Only includes rooms you are subscribed to or are a member 
- `interests`: GET /interests — Get your interests config Returns the user's interests configuration — the set of tags they have subscribed or unsubscribed from. Returns an em
- `interests_create`: POST /interests — Subscribe or unsubscribe from interests Subscribe or unsubscribe from interest tags in a single call. Pass a `updates` map of `{ slug: { subsc
- `invites`: GET /invites — List your invites List the referral invites credited to you. Two source types appear: - **`manual`** — invites you sent via `POST /invites` (the 
- `invites_create`: POST /invites — Send an invite Send a referral invite to someone. The server queues a templated email (delivered via a background task) that points the invitee 
- `invites_permacode`: GET /invites/permacode — Get your permacode Returns your permanent referral code. Share this link to let people apply with your referral.
- `limits`: GET /limits — Get your effective rate limits + current usage Returns the effective per-minute and per-day rate limits for your API key, **plus current usage** (
- `locator_digest`: GET /locator/digest — Get locator digest Returns your weekly locator digest — the same data that powers the Friday locator email. Use this to surface trip/event
- `locator_settings`: GET /locator/settings — Get your Friday locator email settings Returns the four toggles that control the Friday locator email digest. The digest is a weekly out
- `locator_settings_update`: PATCH /locator/settings — Update your Friday locator email settings Update any subset of the Friday locator email toggles. Send only the fields you want to chan
- `membership`: GET /membership — Get your membership state Returns your full membership state: role, lifecycle dates, trial status, billing/subscription details, and a link to
- `membership_invoices`: GET /membership/invoices — List your Stripe invoices Returns your Stripe invoices, newest first. Each entry includes a hosted-invoice URL and a PDF link, both s
- `notifications`: GET /notifications — Get your notification preferences Returns your push + email preferences per notification category. Defaults are applied for any preference 
- `notifications_update`: PATCH /notifications — Update your notification preferences Update any subset of your notification preferences. Send only the categories/channels you want to ch
- `place`: GET /places/:placeID — Get place details Fetch full details for one Google Place ID. Useful for verifying a placeID before sending it to `POST /trips` (which on
- `places`: Look up places
- `places_search`: GET /places/search — Search Google Places Search for places by name. Use this to look up a Google Place ID before creating a trip or referencing a venue. Result
- `profile`: GET /profile — Get your own profile Returns your own full profile — every field the in-app profile editor surfaces to you, plus tier-derived state. Same shape r
- `profile_match_create`: POST /profile-match — Match DCers from a description (or recommend if omitted) **AI-powered profile matchmaker.** Match DCers against a natural-language descrip
- `profile_update`: PATCH /profile — Update profile fields Update allowed profile fields. Only the fields you include will be changed. Location, photo, and gender cannot be updated
- `report_issue_create`: POST /report-issue — Report an issue or feedback Submit a bug report, feedback, or question to the DC team. Optionally include a base64-encoded screenshot (PNG,
- `rooms`: GET /rooms — List your subscribed rooms Returns every room you are subscribed to (DMs, group DMs, channels you follow, discussions, activities, event rooms), so
- `rooms_archive_create`: POST /rooms/:roomID/archive — Archive a room Archive a room — hides it from the inbox sidebar without unsubscribing. Use `unarchive` to bring it back. **Access:
- `rooms_browse`: GET /rooms/browse/:type — Browse public channels by type Browse publicly-joinable rooms of a given type that you are NOT yet subscribed to. The same surface the
- `rooms_by_id`: GET /rooms/:roomID — Get a single room Get a single room's metadata + its latest daily AND weekly AI summaries (when they exist). **Access:** members and subscr
- `rooms_inbox`: GET /rooms/inbox/:type — List your rooms by type Returns your subscribed rooms filtered to a single type. Same shape as `GET /rooms` but scoped — e.g. `/rooms/i
- `rooms_messages`: GET /rooms/:roomID/messages — List messages in a room List messages in a room you are a member of. **Read-only — no write side effects, no unread-state mutation
- `rooms_mute_create`: POST /rooms/:roomID/mute — Mute a room Mute notifications for a room. Sets `mutedUntilAt` to a far-future timestamp (no expiry) — the room stays muted until exp
- `rooms_pin_create`: POST /rooms/:roomID/pin — Pin a room Pin a room to the top of the inbox. For subscription-type rooms the caller is auto-subscribed if not already (mirrors the i
- `rooms_subscribe_create`: POST /rooms/:roomID/subscribe — Subscribe to a room Subscribe to a public channel, discussion, quick-question room, or event room. The caller is added to the ro
- `rooms_summaries`: GET /rooms/:roomID/summaries/:type — List past daily or weekly summaries List past summaries of a given type for a room, newest first. Cursor-paginated — pass `
- `rooms_summary`: GET /rooms/:roomID/summary/:type — Get the latest daily or weekly summary Get the latest single summary of a given type for a room. **Type is required** — daily
- `rooms_unarchive_create`: POST /rooms/:roomID/unarchive — Unarchive a room Unarchive a previously-archived room. Restores it to the inbox sidebar. **Access:** the caller must be a member
- `rooms_unmute_create`: POST /rooms/:roomID/unmute — Unmute a room Unmute a previously-muted room. Clears `mutedUntilAt`. **Access:** the caller must be a member/subscriber of the room
- `rooms_unpin_create`: POST /rooms/:roomID/unpin — Unpin a room Unpin a previously-pinned room. Returns it to its normal place in the inbox sort order. **Access:** the caller must be 
- `rooms_unsubscribe_create`: POST /rooms/:roomID/unsubscribe — Unsubscribe from a room Unsubscribe from a public channel, discussion, quick-question, or event room. The caller's `seen` doc 
- `search`: GET /search — Cross-resource omni-search Cross-resource search across profiles, rooms, messages (incl. private DMs + group DMs you're in), events, and chapters 
- `search_chapters`: GET /search/chapters — Search chapters Search DC chapters by city or country name. **Query syntax (`q=`):** plain words match with prefix + typo tolerance. Wrap
- `search_events`: GET /search/events — Search events Search enabled DC events by name, description, host, and venue. No default time filter — pass `?since=` or `?until=` (ISO 860
- `search_messages`: GET /search/messages — Search messages (incl. your private DMs) Search message bodies across every room you can access. **This is the key surface for "catch me 
- `search_profiles`: GET /search/profiles — Search profiles Full-text search across DCer profiles — headlines, bios, business descriptions, expertise, hobbies, etc. Returns matching
- `search_rooms`: GET /search/rooms — Search rooms Search rooms by name, description, and topic. Returns rooms that match the query AND that you have access to (subscribed-or-bro
- `tickets`: GET /tickets — List your tickets Returns your tickets across events, newest first. Defaults to the tickets you're holding (`valid` plus `maybe`) — "what am I at
- `trip`: GET /trips/:tripID — Get a single trip Single-trip read with the full payload. **This is the canonical endpoint for "who should I meet on this trip?"** — the re
- `trip_delete`: DELETE /trips/:tripID — Delete a trip Permanently delete one of your trips. Removes the trip doc and its linked chat room (`trip.roomID`). The destination chapt
- `trip_discovery`: GET /trips/:tripID/discovery — Get the discovery block for a trip Discovery-only read for a trip. Returns the same `discovery` block as `GET /trips/:tripID` (pe
- `trip_refresh_create`: POST /trips/:tripID/refresh — Trigger a trip refresh Owner-only sync trigger. Enqueues a deduped background job that recomputes the trip's discovery (overlappin
- `trip_update`: PATCH /trips/:tripID — Update a trip Update one or more fields on an existing trip. Only include the fields you want to change. To change destination, provide e
- `trips`: GET /trips — List your trips Returns your upcoming trips by default. Add `?past=true` to include past trips. **For "who should I meet on this trip?"** fetch `GE
- `trips_create`: POST /trips — Create a trip Create a new trip. Provide exactly one of `placeID` or `eventID` — the server resolves the location (city, country, country code) au
- `trips_overlaps`: GET /trips/overlaps — Find overlapping trips Find other members whose trips overlap with yours by city + date range. **This is a narrow date-window match, NOT t
- `virtual_event`: GET /virtual-events/:sessionID — Get Live Call details Returns the same payload shape as one entry from `GET /virtual-events` for a single online Live Call — `s
- `virtual_event_attendees`: GET /virtual-events/:sessionID/attendees — List Live Call attendees List the attendees of a Live Call — the DCers who RSVPd `yes` or `maybe` (the same set behin
- `virtual_event_rsvp`: POST /virtual-events/:sessionID/rsvp — RSVP to Live Call RSVP to a Live Call. The user is added to the matching attendance list on the session doc (`participant
- `virtual_events`: GET /virtual-events — List Live Calls Returns upcoming Live Calls (online sessions like Connect Calls, Happy Hour, Welcome Call, plus DC BLACK-only calls). Add 

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
