Improved

MCP Server v0.0.1-beta.13

Release target: production-ready local stdio package after the remote MCP parity hardening work. The npm package remains the customer-facing local MCP server, while the same private repo can also deploy the hosted Cloudflare Worker remote MCP.

Highlights

  • Preserves the beta.12 npm startup fix and package proof for npx -y @convertcom/mcp-server@latest, node_modules/.bin/convert-mcp, and Windows package shims.
  • Keeps the public npm package local-stdio only: private Worker runtime files remain excluded from the packed package.
  • Adds public README guidance for the hosted remote MCP URL while keeping internal Cloudflare/OAuth deployment details out of npm-facing docs.
  • Ships the shared local/remote MCP runtime with strict parity: same namespace schemas, prompts, operator workflows, output envelopes, guardrails, and OpenAI-compatible search / fetch.
  • Keeps generated OpenAPI validators precompiled so Cloudflare Workers do not rely on runtime Ajv code generation.
  • Keeps delete actions behind explicit destructive metadata and runtime enforcement: exact user request plus second confirmation with resource summary is required before any namespace delete can dispatch.
  • Keeps the production remote landing page, brand assets, favicon routes, OAuth metadata, human /mcp redirect handling, and staging noindex behavior in the shared codebase.
  • Keeps Claude-compatible remote OAuth refresh behavior: initial authorization-code exchange may set refresh-token TTL; refresh-token exchanges do not return refreshTokenTTL.

Release Readiness Evidence

Completed locally on 2026-06-23 before tagging:

  • yarn install --immutable: passed with existing peer warnings only.
  • yarn test:release: passed.
    • Generated tools in sync.
    • 113 standalone Ajv validators generated.
    • Jest: 14 suites, 242 tests passed.
    • Registry drift: 113 generated operations, 97 curated mappings, 16 intentionally unexposed, no unmapped operations.
    • Schema-risk gate: 23 classified findings, no unknowns, no missing runtime overrides/fixtures/guardrails.
    • Vector store: 5,797 chunks, read-only Zvec probe succeeded.
    • Conformance: MCP 2025-11-25, 14 namespace tools, all input/output schemas draft 2020-12 and compiling, 19 prompts, canonical search / fetch, no search_knowledge_base.
    • Package proof: 87 files, 35.3 MiB unpacked; install-from-tarball binary smoke passed for convertcom-mcp-server-0.0.1-beta.13.tgz.
  • yarn test:remote: passed.
    • Staging and production Worker dry-runs passed with expected bindings.
    • Remote Worker tests: 2 suites, 13 tests passed.
  • yarn test:real: passed against production Convert API.
  • CONVERT_BASE_URL=https://api.app-staging.convert.com/api/v2 yarn test:real: passed against staging Convert API.
  • Manual local stdio JSON-RPC smoke: passed for initialize, tools/list, prompts/list, docs search / fetch, accounts.list, projects.list, and destructive delete guardrail.
  • MCP_MATRIX_BROAD_SWEEP=1 node scripts/mcp-live-scenario-matrix.mjs: passed against Karim's dev project.
    • Iqbal custom-code and split-URL regex flows passed with readback and cleanup.
    • Operator create/update workflows passed with readback and cleanup.
    • Audience/location rules, goal variants, MDE locks, visual-editor/outlier field shapes, and delete checks passed.
    • Broad namespace sweep completed with only expected permission, missing-path, validation, and plan-gated MAB responses.

Run before tagging:

yarn install --immutable
yarn test:release
yarn test:remote
yarn test:real
CONVERT_BASE_URL=https://api.app-staging.convert.com/api/v2 yarn test:real
MCP_MATRIX_BROAD_SWEEP=1 node scripts/mcp-live-scenario-matrix.mjs

Manual MCP client evidence required before publish:

  • Local stdio JSON-RPC smoke: initialize, tools/list, search, fetch, accounts.list, projects.list, and delete guardrail.
  • Remote staging client smoke against https://convert-mcp.stellary.io/mcp: search, fetch, accounts, projects, experiences.list, and read-only operator actions.

Release Plan

  1. Confirm npm latest is still 0.0.1-beta.12.
  2. Commit beta.13 version metadata and release notes to main.
  3. Wait for the GitHub Release Gate push workflow to pass on main.
  4. Create and push the annotated tag:
    git tag -a v0.0.1-beta.13 -m "v0.0.1-beta.13"
    git push origin v0.0.1-beta.13
  5. Create a normal GitHub Release for v0.0.1-beta.13 using these notes. Do not mark it as draft or prerelease.
  6. The Publish Package to npmjs workflow will run on release publication, validate the tag/version match, run yarn test:release, and publish @convertcom/[email protected] to npm with the latest tag.
  7. Verify after publish:
    npm view @convertcom/mcp-server dist-tags versions --json
  8. Only after npm is verified, deploy the production remote Worker:
    yarn deploy:remote:production