Getting Your MCP Server Listed Without Spending a Week on Documentation
If you've built an MCP (Model Context Protocol) server and tried to get it listed in the official registry, you've probably hit that familiar wall. The submission requirements are specific — manifest structure, capability declarations, tool schema formatting, README conventions — and none of it is clearly documented in one place. You piece it together from GitHub issues, Discord threads, and rejected submissions. I spent three days on my first submission just figuring out why my tools array was failing validation.
The frustrating part isn't the work itself. It's that none of this complexity is related to what you actually built. Your server works. The logic is sound. But the registry has opinions about how inputSchema should be structured, whether your description fields hit the right character thresholds, and exactly how your prompts capability should be declared if you're exposing it. One malformed field and the whole submission bounces with a generic error.
What Most Developers Try First
The common path is grabbing an existing listed server's package.json and manifest as a template, then adapting it manually. This works until it doesn't — registry requirements have drifted from older submissions, so you're sometimes copying patterns that are technically valid but no longer preferred. Others write a quick shell script to generate the manifest, only to discover the Claude Desktop config format differs from the registry submission format in subtle ways. Stack Overflow has almost nothing on this. The MCP docs cover the protocol itself well but treat submission as an afterthought.
A Structured Approach That Covers the Gaps
The MCP Registry Fast-Track Submission Kit is a collection of templates, validation scripts, and a preflight checklist built specifically around the current registry requirements. The core piece is a manifest generator script that takes your server's basic metadata and outputs a correctly structured mcp.json with all required fields populated — including the capability blocks that trip people up most often.
# Generate a validated manifest from your server config
node generate-manifest.js \
--name "my-server" \
--tools ./src/tools \
--output ./mcp.json \
--validate
# Output: mcp.json written, 0 validation errors, 2 warnings
# Warning: description length 43 chars (recommended: 80-160)
# Warning: missing optional `resources` capability declaration
The validation layer checks against the actual registry schema, not just JSON syntax. It flags things like tool descriptions that are too short to surface well in search, missing annotations on tools that modify external state, and inputSchema patterns that will technically parse but cause display issues in Claude Desktop. These are the silent failures that cost hours — your submission goes through but behaves unexpectedly for users.
Beyond the generator, the kit includes a README template structured around what registry reviewers look for: a clear one-line description, a working quickstart, explicit capability documentation, and a troubleshooting section. It also has a Claude Desktop config snippet template that's kept separate from the registry manifest since developers consistently conflate the two formats. There's a preflight checklist of about 22 items covering authentication documentation, versioning conventions, and the specific npm publish sequence that avoids the orphaned-version problem in the registry index.
Quick Start
- Clone or download the kit and run
npm installto get the validation dependencies - Copy your existing
package.jsonserver metadata intoconfig.jsonusing the provided schema - Run
node generate-manifest.js --validateand work through any reported errors or warnings before touching the registry portal - Use the README template in
/templates/README.md— fill in the sections marked[REQUIRED]before any optional ones - Run the preflight checklist in
/docs/preflight.mdas a final pass; it's formatted as a markdown checkbox list you can track in your repo - Submit via the registry portal with your
mcp.json, completed README, and npm package link — the checklist covers exactly which fields the portal form maps to which manifest properties
The whole process from a working server to a clean submission should be an afternoon, not a week. The code and templates are plain files — no magic, no framework lock-in, just the scaffolding that the official docs assume you'll figure out yourself.
Full toolkit at ShellSage AI
#claude #ai #developer-tools #productivity
Top comments (0)