Install
openclaw skills install @zian502/mcp-third-party-publisherUse when publishing or submitting an MCP server to third-party MCP directories and marketplaces including Glama, mcp.so, Smithery, and MCP Market, especially when Codex must use Computer Use, Browser, or Chrome to open websites, fill submission forms, verify listing pages, and stop before final external submission.
openclaw skills install @zian502/mcp-third-party-publisher使用该 Skill 时,先读取发布工具生成的 skill_inputs:
platform:目标平台,取值 glama、mcp.so、smithery、mcp-market。server:标准化 MCP 元数据,包含 id、name、description、repo_url、license、transport、install_config 等。payload:平台提交材料。form:需要填写到网页表单的字段。public_url:预期上架后的公开访问链接。执行顺序:
stop_before_submit,向用户确认。public_url,无法访问时记录为待审核而不是失败。URL、Repository、GitHub URL 都可对应 repo_url。平台入口:
https://glama.ai/mcphttps://glama.ai/mcp/servers/{owner}/{server_id}操作方案:
https://glama.ai/mcp。public_url 并记录为已可访问。glama.json。发布工具的 payload["glama.json"] 是建议内容。glama.json 索引为主;如果页面提供提交入口,填写 repo_url 并提交前 stop_before_submit。字段映射:
server.repo_urlserver.nameserver.descriptionpayload["glama.json"]平台入口:
https://mcp.so/submithttps://mcp.so/server/{server_id}/{owner}操作方案:
https://mcp.so/submit。Server。form 中字段:
TypeNameURLServer ConfigDescriptionstop_before_submit。needs_human。字段映射:
form["Type"]form["Name"]form["URL"]form["Server Config"]form["Description"]When publishing from https://github.com/patsnap/mcp, Do not use the root repository name mcp as the Smithery Server ID.
Before filling Smithery:
python -m mcp_publisher github-mcp-cache --cache-dir .cache..cache/patsnap-mcp-github-main.md and show the cached MCP list to the human..cache/patsnap-mcp-github-main.json was written and contains the same entry set.patsnap-advanced-patent-search.Server ID*.mcp_server_url for MCP Server URL*.mcp_server_url, stop and ask the human for the real Streamable HTTP MCP endpoint.Continue.Server ID* must be the exact GitHub MCP directory name. Do not shorten patsnap-advanced-patent-search to advanced-patent-search.
When the human asks to upload PatSnap MCPs to Smithery in order:
.cache/patsnap-mcp-github-main.json as the ordered source list.patsnap-advanced-patent-search and patsnap-deep-patent-mining as already uploaded when the human explicitly says they are successful."platform": {"smithery": {"success": true, "public_url": "https://smithery.ai/servers/openpatsnap/<server_id>", "updated_at": "<iso timestamp>"}}
success: false, empty public_url, updated_at, and a reason field.https://smithery.ai/servers/new, fill:
Server ID*: exact GitHub directory name, for example patsnap-advanced-patent-searchMCP Server URL*: the selected entry's Streamable HTTP endpoint without the ?apikey=YOUR_API_KEY placeholder when uploading without credentialsConfigure connection settings and the human requested no credentials, click Skip.https://smithery.ai/servers/openpatsnap/<server_id>/settings.Description: entry.descriptionHomepage: entry.homepageGitHub Repository: https://github.com/patsnap/mcpSave Settings..cache/patsnap-mcp-github-main.json with platform.smithery.success = true.success: false and reason, then stop immediately. Do not continue to later MCPs.platform.smithery.success is false.平台入口:
https://smithery.ai/https://smithery.ai/servers/newhttps://smithery.ai/servers/{owner}/{server_id}https://smithery.ai/server/{owner}/{server_id}openpatsnapopenpatsnap@gmail.com操作方案:
https://smithery.ai/。public_url 并记录为已可访问。payload["commands"] 中的 Smithery CLI 命令;网页只用于登录、验证和确认结果。https://smithery.ai/servers/new,确认页面标题为 Publish an MCP Server,并确认已登录账号。Server ID*:使用短横线 slug,例如 patsnap-pharma-intelligence。MCP Server URL*:优先使用真实 Streamable HTTP MCP endpoint;如果用户明确给出 Marketplace 页面 URL,也按用户输入填写,但说明可能只是 HTML 页面。Continue 前执行 stop_before_submit;用户确认后才点击。Configure connection settings 页面:
Add Parameter 并确认字段。Skip 时,点击 Skip 继续。https://smithery.ai/servers/{owner}/{server_id}。如果页面显示 This server is unlisted and won't appear in search results,状态记录为 submitted 或 needs_human,并提示可在 Settings/verification 中处理公开可见性。WORKING 表示 release 已创建,不等于 MCP 能力一定可用。Unexpected content type: text/html、No capabilities found、Failed to list tools/resources/prompts/triggers,说明填写的是网页 URL 或非 MCP HTTP 响应;记录公开链接,同时提示后续应改成真实 Streamable HTTP MCP endpoint。字段映射:
server.repo_urlserver.nameserver.descriptionpayload["server_card"]payload["commands"]form["Server ID"] 或 slug 化后的 server.idform["MCP Server URL"] 或用户明确提供的 URL平台入口:
https://mcpmarket.com/submithttps://mcpmarket.com/server/{server_id}openpatsnap@gmail.comGet Listed Now / RECOMMENDED / $29 / OFFICIAL 方案。操作方案:
https://mcpmarket.com/submit。https://github.com/username/mcp-server,对应 form["Repository URL"] 或 server.repo_url。openpatsnap@gmail.com,除非用户在本次请求中明确给出其他邮箱。RECOMMENDED 的 Get Listed Now 方案,通常显示为 $29、OFFICIAL、Listed within 24 hours。Get listed now 前执行 stop_before_submit,明确说明将提交 GitHub 仓库、邮箱和推荐付费/官方上架方案。needs_human。字段映射:
form["Repository URL"]form["Name"]form["Description"]form["Category"]form["License"]openpatsnap@gmail.comGet Listed Now / RECOMMENDED / $29 / OFFICIAL完成操作后返回:
platformstatus:listed、submitted、needs_human 或 failedpublic_url如果只是完成表单填写但未得到用户最终提交确认,状态必须保持 needs_human。