Build MCP servers (Model Context Protocol) that wrap your data and tools — FastMCP template. Turn any Python function into an MCP tool. 100% lokal template — du vælger selv endpoints.
Browser
MCP Third Party Publisher
Try itUse 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 exte
What it does
Use 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 exte
The skill document
MCP 三方平台发布 Skill
核心流程
使用该 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:预期上架后的公开访问链接。
执行顺序:
- 打开目标平台入口。
- 按平台章节填写或验证页面。
- 上传、提交、登录、付费、验证码、最终 Submit 之前必须
stop_before_submit,向用户确认。 - 用户确认后才可点击最终提交。
- 提交后打开或记录
public_url,无法访问时记录为待审核而不是失败。
Computer Use 规则
- 默认优先使用 Chrome 打开三方平台页面;只有用户明确要求应用内 Browser/Computer Use 时才切换。
- 每次打开、点击、填写后读取页面可见状态,确认页面确实进入下一步。
- 表单字段名不完全匹配时,使用语义匹配:例如
URL、Repository、GitHub URL都可对应repo_url。 - 不要绕过登录、验证码、付费墙、风控或审核流程。
- 任何会向三方平台发送数据的最终提交动作,都必须先停下并说明将提交的平台、账号页面和字段。
- 如果页面结构变化,使用页面可见文本和表单 label 重新定位,不要盲点。
Glama
平台入口:
- 目录首页:
https://glama.ai/mcp - 预期公开链接:
https://glama.ai/mcp/servers/{owner}/{server_id}
操作方案:
- 打开
https://glama.ai/mcp。 - 搜索 MCP 名称、仓库名或 owner,确认是否已被索引。
- 如果已存在,打开
public_url并记录为已可访问。 - 如果不存在,确认仓库内是否已有
glama.json。发布工具的payload["glama.json"]是建议内容。 - Glama 通常以 GitHub 仓库和
glama.json索引为主;如果页面提供提交入口,填写repo_url并提交前stop_before_submit。
字段映射:
- Repository/GitHub URL:
server.repo_url - Name:
server.name - Description:
server.description - Config:
payload["glama.json"]
mcp.so
平台入口:
- 提交页:
https://mcp.so/submit - 预期公开链接:
https://mcp.so/server/{server_id}/{owner}
操作方案:
- 打开
https://mcp.so/submit。 - 选择 Type 为
Server。 - 填写
form中字段:TypeNameURLServer ConfigDescription
- 如果页面要求登录、验证码或最终提交,执行
stop_before_submit。 - 提交后记录页面提示;若进入审核流程,状态保持
needs_human。
字段映射:
- Type:
form["Type"] - Name:
form["Name"] - URL:
form["URL"] - Server Config:
form["Server Config"] - Description:
form["Description"]
Smithery
PatSnap GitHub MCP Selection Gate
When publishing from https://github.com/patsnap/mcp, Do not use the root repository name mcp as the Smithery Server ID.
Before filling Smithery:
- Run
python -m mcp_publisher github-mcp-cache --cache-dir .cache. - Read
.cache/patsnap-mcp-github-main.mdand show the cached MCP list to the human. - Confirm
.cache/patsnap-mcp-github-main.jsonwas written and contains the same entry set. - Ask the human to select the exact GitHub MCP directory name, for example
patsnap-advanced-patent-search. - Use that exact directory name for
Server ID*. - Use the selected entry's
mcp_server_urlforMCP Server URL*. - If the selected entry has no
mcp_server_url, stop and ask the human for the real Streamable HTTP MCP endpoint. - Stop before clicking
Continue.
Server ID* must be the exact GitHub MCP directory name. Do not shorten patsnap-advanced-patent-search to advanced-patent-search.
PatSnap Smithery Ordered Upload And Cache Update
When the human asks to upload PatSnap MCPs to Smithery in order:
- Use
.cache/patsnap-mcp-github-main.jsonas the ordered source list. - Treat
patsnap-advanced-patent-searchandpatsnap-deep-patent-miningas already uploaded when the human explicitly says they are successful. - Store platform status in this exact shape:
"platform": {"smithery": {"success": true, "public_url": "https://smithery.ai/servers/openpatsnap/", "updated_at": ""}}
- For failures, use the same shape with
success: false, emptypublic_url,updated_at, and areasonfield. - For each MCP, open
https://smithery.ai/servers/new, fill:Server ID*: exact GitHub directory name, for examplepatsnap-advanced-patent-searchMCP Server URL*: the selected entry's Streamable HTTP endpoint without the?apikey=YOUR_API_KEYplaceholder when uploading without credentials
- If Smithery shows
Configure connection settingsand the human requested no credentials, clickSkip. - After creation or when the server already exists, open
https://smithery.ai/servers/openpatsnap//settings. - Fill and save these Settings fields from the cache:
Description:entry.descriptionHomepage:entry.homepageGitHub Repository:https://github.com/patsnap/mcp
- Click
Save Settings. - Only after Settings are saved or already match, update
.cache/patsnap-mcp-github-main.jsonwithplatform.smithery.success = true. - After every successful upload/cache update, sleep 5 seconds before starting the next MCP.
- If any upload or Settings save fails, update the cache with
success: falseandreason, then stop immediately. Do not continue to later MCPs. - If the human says to resume failed uploads, start from the first cache entry where
platform.smithery.successisfalse.
平台入口:
- 首页:
https://smithery.ai/ - 发布页:
https://smithery.ai/servers/new - 预期公开链接:
https://smithery.ai/servers/{owner}/{server_id} - 旧格式可能重定向:
https://smithery.ai/server/{owner}/{server_id} - openpatsnap 默认 namespace:
openpatsnap - openpatsnap 默认账号:
openpatsnap@gmail.com
操作方案:
- 打开
https://smithery.ai/。 - 搜索 MCP 名称、owner 或仓库 URL,确认是否已经存在。
- 如果已存在,打开
public_url并记录为已可访问。 - 如果需要发布,优先使用
payload["commands"]中的 Smithery CLI 命令;网页只用于登录、验证和确认结果。 - 如果用户要求网页发布,默认用 Chrome 打开
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页面:- 有 API key、token、headers 等用户连接参数时,先
Add Parameter并确认字段。 - 用户明确要求
Skip时,点击Skip继续。
- 有 API key、token、headers 等用户连接参数时,先
- 发布后打开或记录
https://smithery.ai/servers/{owner}/{server_id}。如果页面显示This server is unlisted and won't appear in search results,状态记录为submitted或needs_human,并提示可在 Settings/verification 中处理公开可见性。 - 在 Releases 日志中检查能力发现结果:
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。
字段映射:
- Repository:
server.repo_url - Name:
server.name - Description:
server.description - Server Card:
payload["server_card"] - CLI:
payload["commands"] - Server ID:
form["Server ID"]或 slug 化后的server.id - MCP Server URL:
form["MCP Server URL"]或用户明确提供的 URL
MCP Market
平台入口:
- 提交页:
https://mcpmarket.com/submit - 预期公开链接:
https://mcpmarket.com/server/{server_id} - 默认邮箱:
openpatsnap@gmail.com - 默认上架方式:使用页面推荐的
Get Listed Now/RECOMMENDED/$29/OFFICIAL方案。
操作方案:
- 打开
https://mcpmarket.com/submit。 - 填写 GitHub 仓库 URL。页面字段通常显示为
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。 - 如果页面提供 Try Now link 且没有用户明确给出链接,保持为空。
- 点击最终
Get listed now前执行stop_before_submit,明确说明将提交 GitHub 仓库、邮箱和推荐付费/官方上架方案。 - 用户确认后才可点击最终按钮。
- 提交后记录审核状态;未立即公开时保持
needs_human。
字段映射:
- Repository URL:
form["Repository URL"] - Name:
form["Name"] - Description:
form["Description"] - Category:
form["Category"] - License:
form["License"] - Email:
openpatsnap@gmail.com - Listing mode:
Get Listed Now/RECOMMENDED/$29/OFFICIAL
结果回填
完成操作后返回:
platformstatus:listed、submitted、needs_human或failedpublic_url- 页面提示、审核信息或失败原因
如果只是完成表单填写但未得到用户最终提交确认,状态必须保持 needs_human。
Related skills
Advanced MCP client enabling seamless integration with tools, data sources, and services via the Model Context Protocol. Supports dynamic discovery and invocation of remote capabilities, ensuring robust connectivity and interoperability across diverse external resources. Optimized for reliable, low-
Connect to Ben McAdams's personal MCP server for his resume, portfolio, and blog notes.
Scaffold MCP server projects and baseline tool contract checks. Use for defining tool schemas, generating starter server layouts, and validating MCP-ready st...
Publish HTML frontend projects to the PushWebly publishing platform, list published projects, obtain shareable project URLs, change a published app's public/...
Publish HTML frontend projects to the PushWebly publishing platform, list published projects, obtain shareable project URLs, change a published app's public/...