引言
当我们再使用别人开发的MCP服务器的同时,以人人为我,我为人人的宗旨,我也希望我开发的MCP也能造福大家。但是要如何把我的MCP服务器发布呢,这边文章以我自己的开发经历分享给大家。
前提条件
本人使用nodejs开发mcp,所以在开始之前,您需要的环境如下:
- Node.js:版本 16 或更高(推荐 18+)。
- MySQL:版本 5.7 或更高(推荐 8.0+)。
- npm 账户:用于发布到 registry.npmjs.org。
- GitHub 账户:用于托管代码仓库。
- 基本工具:Git 和一个代码编辑器(如 VS Code)。
项目代码
-
引入项目的nodejsMCP的sdk,这可是开发MCP服务器的核心,具体的使用例子可以参考我的
[MCP极简入门:node+idea运行简单的MCP服务和MCP客户端] juejin.cn/post/752373…
引入依赖的例子:
"dependencies": { "@modelcontextprotocol/sdk": "^0.6.0", "dotenv": "^16.4.7", "mcp-evals": "^1.0.18", "mysql2": "^3.11.5", "pino": "^8.0.0" },
-
配置package.json发布信息
确保package.json包含必要的发布字段:
{ "name": "@fhuang/mcp-mysql-server", "version": "1.0.0", "main": "dist/index.js", "types": "dist/index.d.ts", "files": ["dist/**/*"], "publishConfig": { "access": "public" }, // 其他配置... }
-
创建README.md
包含安装、使用和API文档。
# mcp-mysql-server MCP Server for interacting with MySQL databases. Allows AI models to safely and efficiently interact with MySQL through Model Context Protocol. ## Installation ```bash npm install @yourusername/mcp-mysql-server
构建项目
npm run build
版本控制
遵循语义化版本控制:
# 补丁版本更新 (1.0.0 -> 1.0.1)
npm version patch
# 次要版本更新 (1.0.0 -> 1.1.0)
npm version minor
# 主要版本更新 (1.0.0 -> 2.0.0)
npm version major
发布包
我们需要把项目发布到registry.npmjs.org/,所以需要登录registry.npmjs.org/注册账号。
-
查看nodejs的源地址
npm get registry
我这边有做了加速,不是registry.npmjs.org/;
-
设置源地址
npm config set registry https://registry.npmjs.org/
-
登录
npm login #如果做了加速,不想把源改回来,可以指定源执行 npm login --registry=https://registry.npmjs.org/ --registry 指定源参数
PS D:\nodews\mcp-mysql-server>npm login --registry=https://registry.npmjs.org/
npm notice Log in on https://registry.npmjs.org/
Login at:
https://www.npmjs.com/login?next=/login/cli/ea7c99d5-a1d9-4f3e-a99a-470f72c823f1
Press ENTER to open in the browser...
需要登录注册的邮箱号,使用一次性密码登录。
-
发布项目
npm publish --access public --registry=https://registry.npmjs.org/
发布到MCP市场
Smithery
注册并登录 Smithery
- 访问 smithery.ai 并注册账户。
- 登录并连接您的 GitHub 账户(通过 Smithery 的 GitHub 集成)。
提交 MCP 服务器
根据 Smithery 文档,以下是提交流程:
-
导航到 Deployments 页面:
- 在 Smithery 仪表板,进入 “Deployments” 标签。
- 点击 “Create Deployment” 或类似选项。
-
选择 GitHub 仓库:
- 选择您的 yourusername/mcp-server-example 仓库。
- 如果仓库未列出,点击 “Connect GitHub” 授权 Smithery 访问。
-
指定配置:
- Smithery 会检测 smithery.yaml 和 Dockerfile。
- 如果您的仓库包含多个服务器(例如,子目录中的多个 Dockerfile),在 “Base Directory” 设置中指定正确的子目录(例如 ./)。
- 我们这边是only local
-
启动部署:
- 点击 “Create”
- Smithery 将构建 Docker 容器并部署您的服务器。
- 部署完成后,进入Deployed Servers。
-
验证收录:
- 访问 smithery.ai 的服务器列表,搜索 @yourusername/mcp-server-example。
- 确保服务器页面显示正确的描述、工具列表(list_tables、query)和安装说明。
modelscope
modelscope发布比较简单,注册modelscope并登录后,创建MCP,并填写相关的内容即可!
MCP广场->创建MCP
填写完后,到市场查询。
mcp.so
平台:MCP Servers
登录网址,然后登录,我这边使用github登录,然后填写相关的信息:
补充相关的信息:
去首页查询,或者输入
https://mcp.so/explore?q=mcp-mysql-serve
既能查到我们的mcp了。
火山引擎
火山引擎是trae的mcp市场,当前不能直接发布到市场,需要审核的,咨询了相关的客服:
要将MCP服务器发布到MCP市场,您可以按照以下步骤操作:
1. 访问火山引擎MCP Server广场:https://www.volcengine.com/mcp-marketplace
2. 如果您是第三方服务提供商,需要上架MCP Server,可以填写对接申请表单:https://szacq.cn/debqg/
3. 提交申请后,火山引擎的工作人员会与您联系,协助完成后续的上架流程。
提交问题后,等待答复吧.
总结
通过上面的环节,我们就可以把我的MCP分享出去了。学习新的一种语言或者框架,环境的搭建、代码如何构建、发布是很重要的,也是必不可少的一个环节,通过几篇的MCP极简入门,大家都可以快速的进行MCP服务器开发了,希望对大家有帮助。