feat(mcp): MCP Registry metadata — mcpName + server.json#101
Merged
Conversation
Prep for publishing to the official MCP Registry (registry.modelcontextprotocol.io). Two artifacts: 1. mcp/package.json: add `mcpName: "io.github.mnexa-ai/mcp-server"`. This is the verification handshake the Registry's publish step uses — it confirms the npm package belongs to the publisher claiming the registry name. The convention `io.github.OWNER/NAME` is required for GitHub-based auth at publish time. Lowercased per the Registry's namespacing rules (our GitHub org is "Mnexa-AI"; the registry name is "io.github.mnexa-ai/..."). Also bumps version 0.3.0 → 0.3.1. Two fixes merged since the 0.3.0 tag — single-agent prefetch (#98) and hosted-MCP example variants (#99) — warrant a publish. 2. mcp/server.json: the Registry's canonical server descriptor. Lists both transports in one entry: - packages[].npm: stdio via @e2a/mcp-server 0.3.1 with the three env vars (E2A_API_KEY required + secret, optional E2A_AGENT_EMAIL, optional E2A_BASE_URL). - remotes[]: streamable-http at https://mcp.e2a.dev/mcp with an `Authorization: Bearer {e2a_api_key}` header that resolves a registry variable. Validated against schema 2025-12-11 — fits maxLength=100 on description, all required fields present. Publish flow (NOT in this PR — requires a maintainer to run): 1. Merge this PR to main. 2. Tag mcp-v0.3.1 and push. publish-mcp.yml fires and publishes @e2a/mcp-server 0.3.1 to npm with the mcpName field baked in. 3. brew install mcp-publisher 4. mcp-publisher login github (interactive) 5. cd mcp && mcp-publisher publish Step 5 reads server.json from the cwd, verifies that the npm package at @e2a/mcp-server@0.3.1 has the matching mcpName field, then writes the listing to registry.modelcontextprotocol.io. After the listing lands, other catalogs (mcp.directory, Glama, smithery) that cross-reference the Registry will auto-pick us up on their next sync. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fb161e8 to
421b1e7
Compare
This was referenced May 22, 2026
jiashuoz
added a commit
that referenced
this pull request
May 22, 2026
#103) Registry rejected the 0.3.1 publish: status 403: You have permission to publish: io.github.jiashuoz/*, io.github.Mnexa-AI/*. Attempting to publish: io.github.mnexa-ai/mcp-server. The Registry's publishing-guide example lowercases the org name ("io.github.my-username/...") but its actual permission check is case-sensitive and preserves the canonical GitHub org slug. Since our org is `Mnexa-AI` (mixed case), the published name must be `io.github.Mnexa-AI/mcp-server`, not the lowercased form #101 landed. Two-line fix in both files. Version bumps 0.3.1 → 0.3.2 because 0.3.1 is already locked on npm with the wrong mcpName — Registry's verification step reads the live npm manifest and would still reject if we re-tried at 0.3.1. Post-merge ceremony stays the same: git tag mcp-v0.3.2 && git push origin mcp-v0.3.2 # wait for publish-mcp.yml cd mcp && mcp-publisher publish Validated against schema 2025-12-11 with the new name. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prep for publishing
@e2a/mcp-serverto the official MCP Registry. Two artifacts:mcp/package.json— addsmcpName: "io.github.mnexa-ai/mcp-server". This is the verification handshake the Registry uses at publish time: it confirms the npm package belongs to the publisher claiming the registry name. The conventionio.github.OWNER/NAMEis required for GitHub-based auth (lowercased per the Registry's namespacing rules). Also bumps version0.3.0 → 0.3.1— two fixes merged since the0.3.0tag warrant a publish (single-agent prefetch feat(mcp): single-agent default at session init #98 + hosted-MCP example variants docs(examples): add hosted-MCP variant to ADK, LangChain, OpenAI Agents #99).mcp/server.json— the Registry's canonical server descriptor. Lists both transports in one entry:packages[]→ stdio via@e2a/mcp-server@0.3.1with three env vars (E2A_API_KEYrequired+secret, optionalE2A_AGENT_EMAIL, optionalE2A_BASE_URL)remotes[]→streamable-httpathttps://mcp.e2a.dev/mcpwithAuthorization: Bearer {e2a_api_key}header (the registry exposese2a_api_keyas a user-configurable variable)Validated against schema
2025-12-11— passes structural checks, description fits the 100-char limit.Publish flow (post-merge, manual step required)
This PR doesn't publish — it lands the metadata. To actually push to the Registry:
Why this matters
The Registry is the upstream that several downstream catalogs (mcp.directory, Glama, Smithery, mcpmarket) cross-reference. Listing here propagates the npm + hosted info to those catalogs on their next sync, often without separate submissions.
Test plan
mcp/server.jsonvalidates against schema 2025-12-11 (manual jsonschema check)mcp/package.jsonstill parses; version bump consistent with the npm pipelinehttps://registry.modelcontextprotocol.io/v0/servers/io.github.mnexa-ai/mcp-server🤖 Generated with Claude Code