← 全部工具

chirag127/envpact-registry-publisher-npm-cli

AI Agent
热度 65 更新于 AI 与 Agent

Programmatic submission of MCP servers to every public registry (Smithery, official, glama, mcp.so, awesome-mcp-servers). Run on every npm publish.

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

envpact-registry-publisher

Publish once, appear everywhere — programmatically submit an MCP server to every public MCP registry on every npm publish, so you never hand-fill six web forms again.

Programmatic submission of MCP servers to every public MCP registry — on every npm publish, automatically.

Links: Repo · Live docs · envpact umbrella

Replaces the manual MCPREGISTRYSUBMISSION.md checklist with a single CLI + GitHub Action that runs at the tail of envpact-mcp's publish workflow (or anyone else's).

⭐ If this is useful, please star the repo — it helps other developers find it.

How it works

flowchart LR
    pub[npm publish] --> cli[[envpact-registry-publisher<br/>CLI / GitHub Action]]
    cli --> official[Official MCP Registry<br/>required]
    cli --> smithery[Smithery]
    cli --> glama[glama.ai]
    cli --> mcpso[mcp.so]
    cli --> awesome[awesome-mcp-servers PR]
    server[server.json] --> cli

Why this exists

The MCP-registry ecosystem in 2026 is split across:

| Registry | Submission method | | :--- | :--- | | Official MCP Registry (registry.modelcontextprotocol.io) | mcp-publisher CLI + server.json | | Smithery (smithery.ai) | API endpoint + bearer token (Playwright fallback if API rejects) | | glama.ai | Passive — auto-indexes from the official registry | | PulseMCP | Passive — same | | mcp.so | Web form only (Playwright drives it) | | punkpeye/awesome-mcp-servers | Pull request (driven by gh CLI) |

Doing six different things by hand on every release does not scale.

Install

npm install -g envpact-registry-publisher

Or run as a GitHub Action:

- uses: chirag127/envpact-registry-publisher@v0
  with:
    server-json: ./server.json
  env:
    SMITHERY_API_KEY: ${{ secrets.SMITHERY_API_KEY }}
    MCP_PUBLISHER_TOKEN: ${{ secrets.MCP_PUBLISHER_TOKEN }}
    GH_PAT: ${{ secrets.GH_PAT_FOR_PR }}

Use

envpact-registry-publish ./server.json