Skip to content

v1.0.0 readiness

The current source tree targets discord-mcp v0.28.0 and contains 209 tools. Confirm the latest public version from npm or GitHub Releases. v1.0.0 commits to API stability for 6+ months. Tagging v1.0.0 from main happens only when every required box below is ticked. Re-evaluate the evidence before each release; unchecked items are real gates, not aspirational release notes.

  • v0.28.0 preserves forum/media tag metadata and post tag IDs across channel reads, thread listings and creation results. Tag edits read current state, preserve existing IDs and omitted emoji/moderation fields, require explicit deletion IDs, and verify the changed channel after PATCH. Synthetic REST and MCP protocol tests cover these contracts; they do not establish live Discord post preservation or application emoji compatibility with forum tags.

  • v0.27.1 preserves rich message fields and fenced readable card/embed text in messages_get and messages_read. Protocol tests cover schema preservation, pipelines, pagination, and untrusted text using synthetic Discord responses; they do not establish live Discord activation.

  • v0.27.0 adds DeepSeek Harness YAML configuration and guided profile setup. Local generator and profile tests do not establish live Harness activation; the five-host activation matrix below is unchanged.

  • The current source tree exposes 209 MCP tools across 31 categories; the preceding v0.18.1 packages exposed 203.

  • v0.27.0 carries forward discord_intent_plan as a bounded read-only 209th tool, runtime access evidence, payload-bound approvals, an optional same-filesystem durable approval ledger, and current Discord permission contracts. The tagged v0.24.0 release kept the operational 208-tool contract unchanged and added a bounded, credential-free catalog self-check for the installed package, hardened activation evidence across five supported hosts, and bot-scoped application emoji management with self-application resolution and fail-closed upload validation. It validates tools/list, resources/list, one resource read, and the CATALOG_ONLY guard, but explicitly does not count as AI-host connectivity, Discord connectivity, or Activity Evidence. v0.22.0 added privacy-safe local blueprint lifecycle outcomes, and opens an explicit manual feedback handoff. v0.21.0 added a credential-free catalog boundary for registry inspection. Catalog mode exposes the exact schemas but fails every call with CATALOG_ONLY; it cannot contact Discord or substitute for caller-owned serve. v0.20.1 gave new users one outcome-led path from setup to a reviewed blueprint, resumable apply, and independently revalidated Activity Evidence. Its voluntary public outcome report requests only coarse redacted facts; no adoption telemetry is sent from an installation.

  • The local discord-mcp activity journal remains opt-out and privacy-safe. Its optional --report flag prints a fixed GitHub form URL only; it does not open a browser, access the network, infer report fields, or submit an issue. Journal records contain only timestamps plus predefined command or blueprint-stage, status, outcome, transport, and signal values. They contain no Discord IDs, names, message content, tokens, paths, or raw errors.

  • The v0.20.0 source exposes the production assertGuildBlueprintActivityEvidence validator from @discord-mcp/core so independent verification can reuse the same semantic rules as the apply path. This is a public additive export and is covered by the frozen export contract.

  • The current source has thin activation adapters for Codex, Claude Code, Antigravity CLI, Cursor Agent CLI, and Grok Build CLI. The AI host activation matrix can preflight and run the five campaigns sequentially from one exact target-bound approval. Its separate verifier authenticates each host’s private three-trial campaign, then re-aggregates all 15 original trial records to reject mixed builds and cross-host evidence or session reuse. This is an execution and verifier contract, not a claim that the live matrix has already passed.

  • The v0.19.0 foundation passed its official 20-trial real-server campaign. The v0.20.0 source adds a caller-local plan_ref to remove opaque-token copying from the small-model write path while preserving the legacy token contract. A v0.20.0 tag is permitted only after the approved small-model live lifecycle and independent verifier pass against the exact commit, with the controlled guild restored to its signed baseline. This page does not predeclare that result; the signed evidence belongs to the corresponding release artifacts.

  • More than 1,300 passing tests across @discord-mcp/core, @discord-mcp/cli, and site, 0 unconditional skips, and 1 documented it.todo for the remaining OTel parent-child integration seam.

  • Coverage gates run in CI for @discord-mcp/core: the mature non-blueprint core remains at 98% statements/lines, 97% functions, and 73% branches; the integration-heavy blueprint graph is independently gated at 82% statements/lines, 95% functions, and 75% branches. No production file is excluded from those two non-overlapping groups.

  • 6 existing reproducible performance benches cover message send, MCP pipeline, gateway debounce, REST policy, progressive tool discovery, and stateless HTTP server construction. v0.20.0 adds a direct Architect CPU benchmark and an approved small-model live lifecycle evidence harness; the harness defines independently verifiable evidence but this page does not predeclare a live result.

  • The production dependency audit passes through the moderate threshold on 2026-08-10. The current HTTP transport security audit covers authentication, Host/Origin, resource exhaustion, session and bot isolation, safety-policy parity, redaction and the reverse-proxy boundary.

  • Published @discord-mcp/core and @discord-mcp/cli packages use npm provenance. MCP Registry metadata and the public documentation are deployed by the release workflows.

  • v0.12.0 polish phase complete
  • @discord-mcp/server-mocks workspace package - eliminates 165 relative-path imports
  • ResourceStore extracted from server.ts (matches ToolStore / PreconditionStore pattern)
  • 0 unconditional .skip calls, 1 documented it.todo
  • Performance benchmarks for 6 hot paths
  • Production dependency audit in CI - re-run pnpm audit --audit-level=moderate --prod at tag time; last pass 2026-08-10
  • vitest globalSetup auto-builds mcp-core if dist/ missing
  • tsdown deprecation cleared (external -> deps.neverBundle)
  • GitHub Actions Node 24 opt-in
  • Clean lint output with zero warnings. Biome 2.4 full Astro support analyzes frontmatter and template bindings together while retaining recommended checks for component scripts, accessibility, and scoped CSS
  • Test count ≥ 1000 (more than 1,300 passing)
  • Coverage gate enforced in CI (98% statements and lines, 97% functions, 73% branches)
  • No load-sensitive tests - the suite passes on consecutive cold-cache runs under full parallel load, not only in isolation
  • Destructive-tool authorization actually works - __confirm survives validation and is advertised in tools/list (was: every confirm-gated tool permanently returned DRY_RUN_PREVIEW)
  • MCP_CATEGORIES enforced at both the call gate and tools/list (was: declared by zero tools, so the documented control restricted nothing)
  • outputSchema published for every declaring tool and enforced against handler results under test
  • Representative MCP result-byte budgets are measured in contract tests, keeping response growth bounded and reviewable
  • Astro 7 documentation build and astro check typecheck pass in the release verification path
  • npm publish dry-run verified
  • prepack copies root README.md + LICENSE into both publishable tarballs
  • Release workflow with id-token: write exists, so publishConfig.provenance: true is actually satisfiable (.github/workflows/release.yml, behind workflow_dispatch + a protected environment)
  • Release publication is bound to a trusted exact tag, exact commit, and successful protected-main CI; branch protection itself remains an operator/repository control rather than package code
  • CI fails if the workspace: protocol survives into a published manifest - npm does not rewrite it, and such a tarball is unrecoverable without a deprecate + republish
  • @discord-mcp/core published to npm registry with provenance
  • @discord-mcp/cli published to npm registry with provenance
  • discord-mcp init quickstart works after a clean global npm install - manually verified from the public 0.16.9 package on 2026-08-08
  • CI installs both freshly packed tarballs into an empty consumer project, runs the installed CLI, offline doctor, stdio initialization, tools/list, progressive discovery, and a real loopback HTTP process. HTTP acceptance covers bearer rejection, 413 body limits, 503 concurrency limits, modern stateless negotiation, and write preview
  • MCP Registry publication is part of the authenticated release workflow
  • At least 30 days of soak time with active users post-publish. The first public npm release was 2026-08-01, so this cannot complete before 2026-08-31; external adoption evidence is still required
  • The deployable docs artifact passes a real Chromium gate before GitHub Pages upload. The desktop-light/mobile-dark matrix covers the homepage, canonical first-time entry, onboarding, search, generated tool catalog/detail, migration, and live demo with zero axe WCAG A/AA or best-practice violations, no console or same-origin HTTP failures, no horizontal viewport overflow, and working representative keyboard interactions. Unreviewed serious or critical axe findings also fail the gate. Contrast cases that axe cannot resolve are independently verified from computed solid layers or rendered pixels; unknown cases and samples below the applicable WCAG AA ratio fail rather than entering a rule-wide allowlist. Automated coverage complements rather than replaces the independent documentation review below
  • No critical (P0) bugs currently filed against the published versions - re-checked at tag time on 2026-08-10; the sole open issue is the external documentation review request below
  • No high-priority (P1) bugs currently unresolved - re-checked on 2026-08-10
  • Documentation reviewed by external party. This requires at least one independent reviewer to complete the published external documentation review against the public package, with every blocking or safety finding resolved or explicitly documented before the v1.0.0 tag
  • Current security review covers both shipped transports. The 2026-08-08 review includes attack-oriented HTTP regression tests and explicit residual deployment obligations
  • Security review pass by external auditor (optional)

Each of these is now enforced by a snapshot test rather than by intent, so a removal or rename fails CI instead of reaching a consumer.

  • @discord-mcp/core exports frozen - src/exports.test.ts
  • CLI flag set frozen - packages/mcp-server/src/cli.surface.test.ts snapshots all ten committed subcommands and their flags
  • Config env var set frozen - src/config.surface.test.ts snapshots names and resolved defaults (a silently changed default is a behavioural break even when the name is unchanged)
  • Tool surface (209 tools) frozen - src/tools/registry.invariants.test.ts also asserts destructive-iff-confirm-gated and complete annotations
  • Semver: breaking changes require a major bump (v2.0.0).
  • API stability: @discord-mcp/core exports stable for 6+ months.
  • Tool surface: 209 tools maintained; new tools = minor version.
  • CLI flags: the ten committed subcommands and their options are frozen.
  • Config: env var names + defaults frozen (additions allowed; renames forbidden).
  • Discord API tracking: Discord deprecations may force adapter changes; these are documented in the changelog and shipped in patches.

Tag v1.0.0 only when every required checklist item above is checked.

  • v1.0.0 includes local stdio and the already shipped bearer-protected Streamable HTTP transport.
  • Each process still represents one caller-owned Discord bot. Authenticated HTTP clients share that bot identity and its Discord permissions; it is not a per-user authorization boundary.
  • User-token and OAuth/per-user flows remain deferred. Remote deployments must not multiplex mutually untrusted callers through one bot process.
  • Components V3 - Discord has not released V3; the V2 surface is final.
  • i18n docs site - English-only at v1.0.0.

Subsequent minor versions add tools, transports, and adapters without breaking the v1 API. Breaking changes are batched into v2.0.0 and signaled at least one minor before ship. The plan-as-release-train cadence (one plan number = one minor) continues.