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.
Current source evidence (v0.28.0)
Section titled “Current source evidence (v0.28.0)”-
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_getandmessages_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_planas 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 theCATALOG_ONLYguard, 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 withCATALOG_ONLY; it cannot contact Discord or substitute for caller-ownedserve. 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 activityjournal remains opt-out and privacy-safe. Its optional--reportflag 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
assertGuildBlueprintActivityEvidencevalidator from@discord-mcp/coreso 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_refto 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, andsite, 0 unconditional skips, and 1 documentedit.todofor 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/coreand@discord-mcp/clipackages use npm provenance. MCP Registry metadata and the public documentation are deployed by the release workflows.
Pre-conditions for v1.0.0 tag
Section titled “Pre-conditions for v1.0.0 tag”Code & test
Section titled “Code & test”- v0.12.0 polish phase complete
-
@discord-mcp/server-mocksworkspace package - eliminates 165 relative-path imports -
ResourceStoreextracted fromserver.ts(matchesToolStore/PreconditionStorepattern) - 0 unconditional
.skipcalls, 1 documentedit.todo - Performance benchmarks for 6 hot paths
- Production dependency audit in CI - re-run
pnpm audit --audit-level=moderate --prodat 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 -
__confirmsurvives validation and is advertised intools/list(was: every confirm-gated tool permanently returnedDRY_RUN_PREVIEW) -
MCP_CATEGORIESenforced at both the call gate andtools/list(was: declared by zero tools, so the documented control restricted nothing) -
outputSchemapublished 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 checktypecheck pass in the release verification path
Distribution
Section titled “Distribution”- npm publish dry-run verified
-
prepackcopies rootREADME.md+LICENSEinto both publishable tarballs - Release workflow with
id-token: writeexists, sopublishConfig.provenance: trueis actually satisfiable (.github/workflows/release.yml, behindworkflow_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/corepublished to npm registry with provenance -
@discord-mcp/clipublished to npm registry with provenance -
discord-mcp initquickstart 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,413body limits,503concurrency 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
Quality
Section titled “Quality”- 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)
API stability commitment
Section titled “API stability commitment”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/coreexports frozen -src/exports.test.ts - CLI flag set frozen -
packages/mcp-server/src/cli.surface.test.tssnapshots all ten committed subcommands and their flags - Config env var set frozen -
src/config.surface.test.tssnapshots 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.tsalso asserts destructive-iff-confirm-gated and complete annotations
v1.0.0 commitment
Section titled “v1.0.0 commitment”- Semver: breaking changes require a major bump (v2.0.0).
- API stability:
@discord-mcp/coreexports 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 transport and identity boundary
Section titled “v1.0.0 transport and identity boundary”- 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.
What is NOT in v1.0.0
Section titled “What is NOT in v1.0.0”- Components V3 - Discord has not released V3; the V2 surface is final.
- i18n docs site - English-only at v1.0.0.
After v1.0.0
Section titled “After 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.

