mcplane
fastlane for MCP servers: preflight against every store's rejection causes, publish where you can, prepare the rest, catch listing drift. CLI + MCP server.
Install / Use
claude mcp add stevysmith -- npx -y github:stevysmith/mcplaneIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of mcplane
mcplane scores 83/100 on our quality scale, 656th of 955 AI & Machine Learning skills we index.
Its MCP Server is 30 KB long, well organised into 23 sections with 19 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 14 days ago, so mcplane is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
mcplane compared with similar skills
All 4 of these similar skills score higher than mcplane; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| mcplane (this skill)by stevysmith | 83 | 3 | 14d ago | MCP Server |
| claude-memby thedotmack | 100 | 113.9k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.6k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 91.1k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
Frequently asked questions
- How do I install mcplane?
- Run
claude mcp add stevysmith -- npx -y github:stevysmith/mcplane. The install tabs above show the steps for each supported agent. - Which AI agents does mcplane work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is mcplane safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is mcplane still maintained?
- The repository was last updated 14 days ago, so mcplane is actively maintained.
Skill content
View source on GitHubmcplane
fastlane for MCP servers. mcplane checks your server against the reasons each store rejects submissions. It publishes wherever a store allows automation and prepares everything the form-based stores ask for. It keeps every listing in step with your live server. Run it as a CLI, in CI, or as an MCP server driven by your coding agent.
npx mcplane init --url https://mcp.example.com/mcp
npx mcplane preflight
No terminal handy? Paste your URL at reviewtimes.fyi/check.
✗ DNS does not advertise Encrypted ClientHello [ChatGPT]
example.com has ech= in its HTTPS record
Turn ECH off for this domain. TLS-inspecting review proxies reset ECH handshakes: three ChatGPT
rejections traced back to this, with nothing in the server's logs.
✗ Every tool has a human-readable title [Claude connectors, Claude plugins]
search_docs, fetch_page
Add "title" (or annotations.title) to each tool. Anthropic rejects connectors without them.
! Reviewers can reach your sign-in page
https://accounts.example.com/sign-in: Cloudflare challenge (cf-mitigated: challenge)
A bot challenge or a 403 on the sign-in chain leaves the OAuth window blank for reviewers, who sign
in from data-centre networks. Exempt the authorization endpoint, consent page and sign-in hosts …
✓ 15 checks passed (--verbose to list them)
2 blocking, 1 to review.
Why
An MCP server now has a dozen places to be listed: ChatGPT, Claude, Cursor, Grok, Muse, Vercel Connect, the official MCP Registry, Docker, Smithery and the directories that read from them. Each has its own form, its own rules and its own idea of what an update is. Most rejections are for the same few mechanical things, and each one costs you days in the queue. With one app that's annoying. With seventeen you stop shipping.
iOS had the same problem in 2014. fastlane fixed it by putting your metadata in the repo, checking it before Apple could reject it, and turning every release into one command. mcplane does that for agent-era stores.
An agent with a browser could fill in a form. It can't tell you that your DNS will make ChatGPT's reviewer time out, that ChatGPT counts overwriting a page as destructive, or which of your seventeen listings went stale on Tuesday. That's the part mcplane does.
Use it from your agent
mcplane is itself an MCP server, so the agent in your repo can do the work:
claude mcp add mcplane -- npx -y mcplane mcp # Claude Code
codex mcp add mcplane -- npx -y mcplane mcp # Codex
Cursor, VS Code and others: add a stdio server with command npx and args ["-y", "mcplane", "mcp"].
Then run the onboard prompt (/mcp__mcplane__onboard in Claude Code). The agent creates mcplane.json and reads your code. It writes the listing copy and the review test cases (ChatGPT wants exactly 5 positive and 3 negative), runs preflight and fixes what it can. The ship prompt takes it from there: check, pack, publish, and a short list of what's left for you.
Tools: preflight, drift, pack, publish, record_submission, record_decision, submission_status, install_links, listings, init, fleet. Every tool takes an optional project folder, so one mcplane serves all your apps. Annotations are honest: publish and record_* are marked open-world, and publish does nothing without confirm: true.
Many apps
npx mcplane fleet --root ~/Projects
✓ Review Times preflight clean · listed on mcp-registry, glama, chatgpt
✗ Invoice Bot 2 blocking · waiting on claude-connectors · listed on mcp-registry
✗ Weather Pro 1 store update needed · listed on mcp-registry, claude-connectors · 1 listing fix
chatgpt: Listing text changed (description)
claude-connectors: listing doesn't show: forecast_hourly (ask the review team to resync)
3 projects, 2 need attention.
mcplane fleet run <command> runs any command in every project, e.g. mcplane fleet run publish mcp-registry --yes.
What it does per store
| Store | How mcplane gets you there | Keeping it current |
|---|---|---|
| Official MCP Registry | Publishes: writes server.json, runs mcp-publisher, signs in with GitHub OIDC in Actions. Glama and PulseMCP import from it; GitHub's MCP gallery (VS Code) syncs it after a one-time manual onboarding | Versions can't change: bump, or a prerelease like 1.2.0-1 for listing-only edits. mcplane checks what's already published |
| Grok plugins | Publishes: opens the pull request to xai-org/plugin-marketplace, validated with xAI's own scripts | Opens a pin-bump PR when xAI's daily bump lags |
| ChatGPT | Builds the plugin ZIP the portal uploads since DevDay: plugin.json (Agent Plugins format) with listing, icons, 5+3 tests, demo video, release notes and translations, plus mcp.json and your Agent Skills. Checked against the Agent Plugins 1.0.0 schema and OpenAI's submission rules | Tool changes, hints included, roll out after OpenAI's scans. Listing changes need a new ZIP and review, and drift says when |
| Claude connectors | Prepares every field of the directory form | Tool changes are live on deploy; listing edits (tool names included) are reviewed |
| Claude plugins | Prepares and checks the plugin repo | The portal tracks your branch; drift tells you a new version is waiting for review |
| Cursor | Prepares and checks the plugin repo | Pinned to the commit first added; drift flags when you've moved on |
| Muse | Prepares the form for Meta's developer portal, what its three requirements ask for, and per-tool Read/Write annotations to keep alongside the connector | Flags changes; Meta hasn't published an update process |
| Vercel Connect | Checks your OAuth discovery documents against Vercel's Required, Recommended and Optional tiers, and prepares Submit a Service: every field, the OAuth method as Connect will discover it, and the token test each OAuth method needs | Listing edits go back through review (Edit and Resubmit); tools aren't listed, so they can change freely |
| awesome-remote-mcp-servers | The three-line entry with your Glama connector badge and auth marker, ready for the PR | |
| Cline, Glama, LobeHub, Smithery, Docker, awesome-mcp-servers | The prefilled issue, glama.json, CLI command or entry | |
| mcp.so, MCP Market, mcpservers.org, cursor.directory | mcplane pack directories: one sheet with every value to paste | |
What stays with you, and why. The ChatGPT and Claude portals have no submission API. Neither do most directories. They ask you to make statements about policy, data use and testing that only you can make. mcplane gets you to the final click with every field filled and every known rejection checked. It never signs in for you, never ticks attestations and never gets around a bot check. If your agent has browser tools, the ship prompt offers to fill the form from the pack while you make the statements and press submit.
Preflight
Checks come from real rejections, most of them ours:
- Server:
initialize,tools/listandpingwork. An OAuth server that initializes without a token also lists its tools without one (the half-way state leaves a new ChatGPT connector stuck on "no actions available"). Unknown methods return-32601(OpenAI's tool scan probesserver/discoverand gives up on a crash). The URL works with a trailing slash. CORS preflight answers. Automated clients aren't blocked by a bot filter. A TLS 1.2 client connects. DNS doesn't advertise Encrypted ClientHello, which review proxies reset without a trace in your logs. Tools with a UI name resources that set a widget domain, which OpenAI requires before you can submit a plugin with UI. - OAuth: unauthenticated calls get
401withresource_metadata. Protected-resource and authorization-server metadata resolve, PKCE S256 is supported, and refresh tokens are offered (without them every connection ends when its access token expires). With--register, Dynamic Client Registration is tested, including thecursor://and other native redirect schemes that locked out every desktop client for us. - Sign-in chain: plain GETs, the way a reviewer's browser goes: the authorization endpoint, the sign-in page it sends people to, and the identity-provider hosts that page loads. A bot challenge (
cf-mitigated: challenge) or a 403 anywhere on it is flagged: every MCP check can pass while reviewers never reach your sign-in page. Nothing signs in and no client is registered, so an authorization server that wants a registered client stops the walk at its error page: name your sign-in pages inserver.signIn(or--sign-in <url>) and they're checked too. A pass from your own network proves less than one from a cloud VM or CI. - Tools: every tool has a title and explicit
readOnlyHint,destructiveHintandopenWorldHint, and the hints are consistent. Tools declareoutputSchema. Descriptions don't instruct the model. Writes aren't authorised by a token passed through the chat (Anthropic rejected exactly that). Hints follow OpenAI's current definitions:openWorldHintfor public or open-ended destinations (read-only web search included; connectivity alone doesn't decide it),destructiveHintfor messages that can't be unsent, for overwriting, revoking access or deleting, and for destructive options in the input schema (ChatGPT's scan flagged a non-destructive publish tool for offeringburn_after_read). No catch-all request tools, no tool names over 64 characters, no sensitive inputs, no upgrade or pricing copy. Tools that move money or handle crypto wallets are flagged for ChatGPT, whose submit step has you attest to neither. File viewers say the user opens the file: described as a command, the model calls one with a path and ChatGPT refuses the read. - Listing: the icon is square and at least 512px behind a direct link (PNG, JPEG, WebP or SVG, measured from the bytes), and
/favicon.icoresolves. The privacy policy covers collection, retention and user controls. Support is a web page. Name, subtitle, one-liner, description and starter prompts fit each store's limits, including the 1,024 characters the ChatGPT package allows for its root description. Every test case uses tools the live server actually has. The ChatGPT domain challenge is served. - Plugin repo: public, on GitHub, with
.claude-plugin/plugin.json, and no rootSKILL.mdshadowing the plugin's skills. Grok plugins come from an organisation. - Vercel Connect: what its For Service Providers page asks for, read from your discovery documents alone (nothing is registered). Required items block: metadata served as JSON (at the path-suffixed form when the issuer has a path),
token_endpoint,grant_types_supported, and OAuth and OpenID Connect documents that agree. Recommended items warn: DCR or CIMD so Connect can create the client, atoken_endpoint_auth_methods_supportedit can use, PKCE S256, refresh tokens. Optional ones are notes: protected-resource metadata,revocation_endpoint,scopes_supported. What needs a real token (expires_in, refresh rotation, thehttps://connect.vercel.com/callbackredirect) is on the list of things to check yourself. - ARD: whether your domain publishes an Agentic Resource Discovery manifest at
/.well-known/ard.json, whether it's valid, whether it lists this server, and whether Lighthouse 13.5 (which still reads the older/.well-known/ai-catalog.json) accepts it.
--json for machines; exit code 1 when something blocks. A check at level info is a note: it never blocks and isn't counted as something to review.
Preflight also lists what no script can see and that has still cost real submissions. For example: a reviewer account a stranger can actually use (not your Google login, email
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
113.9kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
109.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
91.1kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
