Skip to content

Changelog

discord-mcp follows the plan-as-release-train model: each plan number maps to one minor release. v0.X.0 corresponds to Plan X. Tags are cut from the merge commit of the plan’s PR into main.

For PR-level history, see the GitHub releases page. Tag dates and SHAs below come from git for-each-ref refs/tags/v0.*.

v0.12.0 — Test infra hardening + v1.0.0 readiness polish

Section titled “v0.12.0 — Test infra hardening + v1.0.0 readiness polish”

Released 2026-05-01. Tag: v0.12.0.

Plan 12 is the polish lap before v1.0.0. No new tools, no new runtime behavior — the test rig, build pipeline, and release surface all got sharpened so v1.0.0 has a clean foundation. This is the final plan of the discord-mcp roadmap (Plans 0-12).

  • @discord-mcp/server-mocks workspace package — eliminates 165 relative-path imports across the test tree; consumers now import from '@discord-mcp/server-mocks'.
  • ResourceStore extracted from server.ts (matches ToolStore / PreconditionStore pattern).
  • Integration test reliability: 0 unconditional skips, doctor.integration stdout race fixed.
  • vitest globalSetup auto-builds mcp-core if dist/ is missing — no more separate pnpm build step before pnpm test.
  • tsdown external migrated to deps.neverBundle (deprecation cleared).
  • GitHub Actions Node 24 opt-in matrix.
  • 10 biome info-level useLiteralKeys lints cleared.
  • 4 vitest bench files for hot paths (messages_send, mcp_pipeline, gateway debounce, REST policy chain).
  • Security audit pass — fixed P1 (reactions_delete_all missing confirmation gate); P2 deferred to Plan 13.
  • Docs link audit — 1 broken link fixed; version coherence verified.
  • npm publish dry-run verified for @discord-mcp/core and @discord-mcp/cliprepack ships root README + LICENSE in both tarballs; mcp-core flipped to private:false with public publishConfig.
  • v1.0.0 readiness checklist shipped at docs/v1.0.0-readiness.md.

Released 2026-05-01. Tag: v0.11.0.

Plan 11 ships four production migration adapters so teams can move to discord-mcp from the most-established community Discord MCP servers without re-tooling their agents from scratch.

  • PaSympa (@pasympa/discord-mcp) — ~91 tools, TypeScript, Zod-based schemas. Adapter maps 78 tools, intentionally leaves 13 unmapped.
  • quadslab (@quadslab.io/discord-mcp) — ~138 tools with MCP Resources support. Adapter maps 96 tools, leaves 14 unmapped.
  • discord-ops (bookedsolidtech/discord-ops) — multi-guild routing, tool profiles, dry-run mode, saved templates. Adapter maps 36 tools and documents the architectural mismatches that don’t translate cleanly.
  • Hubdustry (reference adapter, non-Discord) — kept as the canonical adapter-authoring example.
  • discord-mcp migrate --list flag for adapter discovery (TTY + JSON).
  • 4-way cross-detection: every adapter rejects all other adapters’ fixtures so detection never silently misroutes.
  • Migration docs section at cappylab.github.io/discord-mcp/migrate: per-adapter guides + adapter authoring guide for community contributors.

Released 2026-05-01. Tag cut from the Plan 10 merge commit on main.

Plan 10 ships a hand-written + auto-generated documentation site (Astro Starlight, deployed to GitHub Pages) covering all 192 tools, six recipes, operations runbooks, architecture deep-dives, and the reference surface you’re reading now.

  • 192 auto-generated tool reference pages with JSON Schema tables.
  • 6 hand-written cookbook recipes (moderation, components V2, pipeline, intelligence, webhooks, gateway).
  • Operations runbooks for telemetry, resilience, audit, client capabilities.
  • Architecture deep-dives for components V2, pipeline, gateway, error handling, confirmation, sampling, rate-limits.
  • This reference section: CLI, config, API, changelog.

Released 2026-05-01. Tag commit: 038c1138.

Plan 9 split the single binary into four sub-commands routed by commander and shipped a structured emitResult envelope shared across all of them.

  • discord-mcp serve — the existing stdio transport, still default sub-command.
  • discord-mcp doctor [--json] [--online] — config + connectivity diagnostics with offline / online check registries.
  • discord-mcp init [--client] [--token] [--gateway] [--output] — generate Claude Desktop / Claude Code / Cursor / Generic client config snippets.
  • discord-mcp migrate --from <adapter> — Hubdustry-Go-MCP migration scaffolding with a pluggable adapter registry.
  • Distribution polish: .gitattributes, README quickstart, npm pack verification, post-build CLI smoke tests.

Released 2026-05-01. Tag commit: b034bebf.

Plan 8 added the production-grade observability and resilience surface that makes discord-mcp safe to run in front of a real Discord guild.

  • OpenTelemetry traces + the six built-in metrics (mcp.requests, mcp.errors, mcp.duration, mcp.retries, mcp.circuit_state, mcp.bulkhead_inflight). 9 OTEL_* env vars.
  • Cockatiel composite policy: retry (with jitter strategies), per-call timeout, circuit breaker, bulkhead. 11 MCP_RETRY_/TIMEOUT_/CIRCUIT_/BULKHEAD_* env vars.
  • Mutating-only audit log with four sinks (stderr, file, otlp-stub, none), PII redaction policy, JSONL schema. 3 MCP_AUDIT_* env vars.
  • Integration tests covering the full cockatiel chain end-to-end.

Released 2026-04-29. Tag commit: 947269d7.

Plan 7 brought the tool count from 29 to 192 by mechanically covering every Discord REST endpoint that maps cleanly onto a single MCP tool.

  • New categories: webhooks, application commands, interactions, scheduled events, automod, audit log, monetization, soundboard, polls, voice, onboarding, stage instances.
  • Per-category integration tests against @discordjs/rest route fixtures.
  • Pagination helpers (encodeCursor / decodeCursor) for list endpoints.
  • Branded snowflake types extended to all ID classes.

Released 2026-04-28. Tag commit: 4dbac6ec.

Plan 6 (USP) made discord-mcp the first MCP server to surface live Gateway events as MCP resources via the subscribe capability.

  • createGatewayClient lazy-imports discord.js so cold start without --gateway stays minimal (serve doesn’t pay the import cost).
  • 5 Gateway event handlers wired to MessageCreate, MessageUpdate, MessageDelete, MessageReactionAdd, MessageReactionRemove.
  • SubscriptionRegistry tracks active resource URIs and fires notifyResource(uri) when relevant events arrive.
  • --gateway CLI flag on serve toggles the whole subsystem.

Released 2026-04-28. Tag commit: dcd49aa1.

Plan 5 (USP) introduced the five intelligence tools that delegate reasoning back to the agent via MCP sampling.

  • intelligence_summarize_channel — summarize recent messages.
  • intelligence_classify_messages — multi-label classification.
  • intelligence_draft_response — context-aware reply drafts.
  • intelligence_moderate_content — policy-aware moderation.
  • intelligence_extract_entities — structured entity extraction.
  • All five honor client sampling capability — degrade gracefully when the client doesn’t advertise it.

Released 2026-04-28. Tag commit: 07745aa0.

Plan 4 (USP) shipped mcp_pipeline — a single tool that lets the agent queue a sequence of dependent tool calls with interpolation and conditional execution.

  • executePipeline runtime: serial step execution with ${steps.<id>.<path>} interpolation and if/unless predicates.
  • Step result shape (StepResult with ok/skipped/failed).
  • 19 unit tests covering interpolation, conditionals, nested paths, error propagation.

Released 2026-04-28. Tag commit: b7f976e6.

Plan 3 made Components V2 a first-class category.

  • 8 tools: components_v2_build_container, _build_section, _build_media_gallery, _validate, _preview, _send, _edit, _send_from_template.
  • 5 templates exposed via the components-v2:// resource scheme.
  • Schema resource (components-v2://schema) for agents to discover the V2 component shape.
  • Validate-then-send workflow with a structured preview before commit.

Released 2026-04-28. Tag commit: 227dd28a.

Plan 2 grew the surface from 1 tool to 15 by covering the high-frequency day-one operations Discord agents typically need.

  • Messages: _send, _read, _edit, _delete, _get, _pin, _unpin.
  • Reactions: _create, _delete_own, _list.
  • Channels / Members / Guild basics.
  • Sapphire loadPiece auto-discovery so adding a tool is one import + one registration line.

Released 2026-04-28. Tag commit: acec9440.

Plan 1 established the error hierarchy, middleware composition framework, and capability router that every subsequent plan builds on.

  • DiscordError hierarchy with code / retriable / category / recoveryHint contract.
  • compose(...middlewares, handler) framework.
  • validateMiddleware, preconditionMiddleware, baseline error formatter.
  • Capability router (CapabilityRouter) for client-feature gating.
  • Untrusted-content wrapping helpers (wrapUntrusted / wrapMessages).

Released 2026-04-28. Tag commit: 3ab74826.

Plan 0 stood up the monorepo and shipped the smallest viable tool surface.

  • pnpm + Turbo + tsdown workspace layout.
  • @discord-mcp/core and @discord-mcp/cli packages.
  • Single tool: messages_send.
  • Biome, vitest, tsc, baseline CI.