mcpship: check and publish MCP servers

io.github.emanueltnsv0.1.0更新于 Oct 6, 2026

Checks a remote MCP server against the Claude directory rules and guides its publication.

概览

AI 生成的概览

按 Claude 连接器目录规则检查远程 MCP 服务器,并逐步引导其发布。

功能
mcpship 按 Claude 连接器目录规则校验远程 MCP 服务器:登录发现、受保护资源与授权服务器元数据、PKCE、客户端注册、工具标题与注解、工具描述、图标 URL、文档与隐私页面,以及列表字段长度。它会生成 publish.json 模板,输出目录表单每一步所需的文本,报告 npm、MCP Registry、插件仓库和目录的实时状态,并给出下一个未完成步骤及确切命令。它也可作为本地 stdio MCP 服务器运行,让助手驱动同样的步骤。
适用场景
当你维护远程 MCP 服务器并希望发布到 npm、官方 MCP Registry、Claude Code 插件仓库或 Claude 连接器目录时使用;也可在提交前用目录规则检查已有服务器。
运行要求
通过 stdio 在本地运行,通常使用 npx mcpship。需要 Node.js 和 npm,以及访问你的服务器、publish.json 中的 URL、MCP Registry API 和 npm、gh 所调用地址的网络。check 命令通过环境变量 MCPSHIP_TOKEN 提供访问令牌或 API 密钥;未声明其他凭据。
安装前请注意
MCPSHIP_TOKEN 从环境变量读取并用于调用你的服务器,应视为机密。check 命令会向你的服务器和 publish.json 中的 URL 发起请求,工具还会调用 npm 和 gh,这些外部调用会离开本机。done directory 等命令会记录发布状态,发布步骤会作用于 npm、MCP Registry 和目录。

安装

在 SourceWeft 中

  1. 打开 控制台中的 mcpship: check and publish MCP servers,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcpship

Check a remote MCP server against the Claude connector directory rules, then publish it: npm, the official MCP Registry, a Claude Code plugin repo and the Claude connector directory. One step at a time, for people and for agents.

Quick start

npx mcpship init https://example.com/mcp   # writes publish.json; fill in the fieldsMCPSHIP_TOKEN=<access token or API key> npx mcpship checknpx mcpship next                            # the next step, with the exact command

Commands

CommandWhat it does
init <url>Writes a publish.json template in the current folder
check [url]Tests sign-in discovery, tools and listing; exit code 1 if a rule fails
packetWrites docs/directory/submission.md: the text for each directory form step
nextThe first unfinished step, with the command or click
statusLive state of npm, the MCP Registry, the plugin repo and the directory
done directoryRecords that you submitted the directory form
mcpRuns as a local MCP server over stdio

Add --json for machine-readable output and --dir <path> to point at another folder.

npm counts as published only when you are a maintainer of the package. mcpship asks npm whoami; if you publish with a token instead of npm login, set channels.npm.maintainer to your npm user name in publish.json.

What check tests

RuleFails when
auth.httpsthe server URL is not https
auth.www-authenticatean unauthenticated call does not return 401 with resource_metadata
auth.resource-metadataprotected resource metadata is missing or has no authorization server
auth.as-metadataauthorization server metadata is missing
auth.pkceS256 is not supported
auth.client-registrationneither Dynamic Client Registration nor Client ID Metadata Documents
tools.reachabletools/list fails with the given token (skipped without one)
tools.titlea tool has no title
tools.annotationsa tool has neither readOnlyHint nor destructiveHint
tools.instructionsa description tells the model what to do ("use it first", "you must", "call X")
tools.hidden-texta description holds invisible characters or encoded text
listing.icon-urlthe icon URL is not a public https PNG
listing.pagesdocs, privacy or terms page does not load
listing.lengthsname, one-liner or description is over the form limit, or a field is empty
listing.unpublished-mentiona page tells users to run npx <package> before it is on npm

Warnings: tools.mentions (a description names another tool) and listing.em-dash.

Use it from Claude Code

/plugin marketplace add emanueltns/mcpship/plugin install mcpship@mcpship

Then ask Claude to publish your MCP server. The plugin adds the mcpship tools and a skill that walks through each step.

Privacy

mcpship runs on your machine. It calls your server, the URLs in your publish.json, the MCP Registry API, and whatever npm and gh call. It sends no telemetry. MCPSHIP_TOKEN is read from the environment and never printed.

License

MIT

来源:README.md,提交 b2d0540

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v0.1.0最新Oct 6, 2026