MCP极简入门:如何让别人使用我的MCP服务器

276 阅读4分钟

引言

当我们再使用别人开发的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...

image.png

需要登录注册的邮箱号,使用一次性密码登录。

  • 发布项目

     npm publish --access public --registry=https://registry.npmjs.org/
    

image.png

发布到MCP市场

Smithery
注册并登录 Smithery
  1. 访问 smithery.ai 并注册账户。
  2. 登录并连接您的 GitHub 账户(通过 Smithery 的 GitHub 集成)。
提交 MCP 服务器

根据 Smithery 文档,以下是提交流程:

  1. 导航到 Deployments 页面

    • 在 Smithery 仪表板,进入 “Deployments” 标签。
    • 点击 “Create Deployment” 或类似选项。

image.png

  1. 选择 GitHub 仓库

    • 选择您的 yourusername/mcp-server-example 仓库。
    • 如果仓库未列出,点击 “Connect GitHub” 授权 Smithery 访问。
  2. 指定配置

    • Smithery 会检测 smithery.yaml 和 Dockerfile。
    • 如果您的仓库包含多个服务器(例如,子目录中的多个 Dockerfile),在 “Base Directory” 设置中指定正确的子目录(例如 ./)。
    • 我们这边是only local

image.png

  1. 启动部署

    • 点击 “Create”
    • Smithery 将构建 Docker 容器并部署您的服务器。
    • 部署完成后,进入Deployed Servers。

image.png

image.png

  1. 验证收录

    • 访问 smithery.ai 的服务器列表,搜索 @yourusername/mcp-server-example。
    • 确保服务器页面显示正确的描述、工具列表(list_tables、query)和安装说明。

image.png

modelscope

modelscope发布比较简单,注册modelscope并登录后,创建MCP,并填写相关的内容即可! MCP广场->创建MCP image-20250724144935586.png

image.png 填写完后,到市场查询。

mcp.so

平台:MCP Servers

登录网址,然后登录,我这边使用github登录,然后填写相关的信息:

image.png

补充相关的信息:

image.png

去首页查询,或者输入

 https://mcp.so/explore?q=mcp-mysql-serve

既能查到我们的mcp了。

image.png

火山引擎

火山引擎-云上增长新动力

火山引擎是trae的mcp市场,当前不能直接发布到市场,需要审核的,咨询了相关的客服:

 要将MCP服务器发布到MCP市场,您可以按照以下步骤操作:
 1. 访问火山引擎MCP Server广场:https://www.volcengine.com/mcp-marketplace
 2. 如果您是第三方服务提供商,需要上架MCP Server,可以填写对接申请表单:https://szacq.cn/debqg/
 3. 提交申请后,火山引擎的工作人员会与您联系,协助完成后续的上架流程。

image.png

提交问题后,等待答复吧.

总结

通过上面的环节,我们就可以把我的MCP分享出去了。学习新的一种语言或者框架,环境的搭建、代码如何构建、发布是很重要的,也是必不可少的一个环节,通过几篇的MCP极简入门,大家都可以快速的进行MCP服务器开发了,希望对大家有帮助。