Skip to content

feat: prepare 1.0.2 for MCP Registry publish#10

Merged
DubovskiyIM merged 2 commits into
mainfrom
feat/registry-publish
May 6, 2026
Merged

feat: prepare 1.0.2 for MCP Registry publish#10
DubovskiyIM merged 2 commits into
mainfrom
feat/registry-publish

Conversation

@DubovskiyIM
Copy link
Copy Markdown
Member

Summary

The third-party server list in modelcontextprotocol/servers/README.md has been retired in favor of the official MCP Server Registry (registry.modelcontextprotocol.io) — CONTRIBUTING.md in that repo now redirects all new submissions there. This PR adds the metadata required to publish @intent-driven/mcp-server to the Registry.

Changes

  • package.json — adds mcpName: "io.github.intent-driven-software/idf-mcp" (the npm-package ownership-verification marker the Registry validates) and bumps version 1.0.1 → 1.0.2.
  • server.json — new file at repo root, the Registry manifest. Declares stdio transport and the five public env vars (IDF_SERVER, IDF_DOMAIN, IDF_BOOTSTRAP, IDF_ONTOLOGY_PATH, IDF_AUTH_TOKEN), schema-validated against https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json.
  • src/server.js — MCP Server identity version → 1.0.2 (matches the release.yml guard which requires package.json version to equal the tag without v prefix).
  • package-lock.json — synced.
  • CHANGELOG.md[1.0.2] — 2026-05-06 section with the post-merge publish steps.

Why org namespace

The Registry's GitHub-based authentication accepts io.github.<username>/* or io.github.<orgname>/* (per authentication docs). Using the org namespace keeps the discovery URL aligned with the source repository (intent-driven-software/idf-mcp) instead of routing through the maintainer's personal handle.

Post-merge steps (manual, on maintainer's machine)

git checkout main && git pull
git tag v1.0.2
git push --tags
# → release.yml runs tests, publishes npm 1.0.2 with sigstore provenance,
#   creates GitHub Release with body from CHANGELOG.

# After npm 1.0.2 is live (~2 min):
mcp-publisher login github
mcp-publisher publish
# → server appears at:
#   https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.intent-driven-software/idf-mcp

Test plan

  • npm test — 41/41 passed locally (3 test files: jsonSchema, handlers, descriptions).
  • CI on this PR — same vitest run, ci.yml.
  • After merge + tag — release.yml guard verifies package.json version matches tag, runs tests, publishes with provenance.
  • curl https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.intent-driven-software/idf-mcp returns the entry within minutes of mcp-publisher publish.

The third-party server list in modelcontextprotocol/servers/README.md
has been retired in favor of the official MCP Server Registry
(registry.modelcontextprotocol.io). This patch adds the metadata
required to publish there:

- package.json: mcpName "io.github.intent-driven-software/idf-mcp"
  (npm-package ownership-verification marker the Registry validates)
- server.json: Registry manifest with stdio transport + the five
  public env vars (IDF_SERVER, IDF_DOMAIN, IDF_BOOTSTRAP,
  IDF_ONTOLOGY_PATH, IDF_AUTH_TOKEN)
- version bump 1.0.1 -> 1.0.2 in package.json, package-lock.json,
  src/server.js (release.yml guard requires the three to match)
- CHANGELOG entry with the post-merge publish steps

After merge, tag v1.0.2 to trigger npm publish via release.yml; then
run `mcp-publisher login github && mcp-publisher publish` from repo
root to surface the server in the Registry.

No behavioural changes. Tool surface, wire shape, and tests are
identical to 1.0.1.
… limit

mcp-publisher publishes against
https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json
where ServerDetail.description has maxLength=100. The previous 218-char
description was schema-invalid and would have been rejected at publish
time.

The package.json description (npm-side) is unchanged — npm has no such
limit and the longer copy is more useful in npm search results.
@DubovskiyIM DubovskiyIM merged commit eed6a63 into main May 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants