SuperAPI AI 工具集

build-custom-mcp-server

智能体与模型

查看项目

更新于 10-16 03:42

技能介绍

用途:创建一个自定义 MCP(Model Context Protocol)服务器,将领域专用工具暴露给 Claude Code、Claude Desktop 等 AI 助手使用。适用于需要向 AI 助手提供自定义功能、构建超出 mcptools 提供的专用工具、创建领域专用助手集成,或将现有 API 与服务包装为 MCP 工具的场景。

输入要求:必需提供要暴露的工具清单(名称、描述、参数、行为)、实现语言(Node.js 或 R)、传输类型(stdio 或 HTTP);可选提供认证需求和 Docker 打包需求。

主要步骤:1)先定义工具规范,用 YAML 或 Markdown 写明每个工具的名称、描述、参数(含类型、默认值、必填标志)和返回类型,再写代码;2)用 MCP SDK 在 Node.js 中实现,导入 @modelcontextprotocol/sdk 与 zod,定义工具并连接 StdioServerTransport,运行 node server.js 启动;3)在 R 中用 mcptools 实现,通过 mcp_tool() 注册工具、mcp_server() 启动,运行 Rscript server.R 启动;4)搭建项目结构(server.js、package.json、tools/、test/、Dockerfile、README.md 等);5)测试服务器,可用 echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node server.js 手动验证,并用 claude mcp add my-server stdio "node" "/path/to/server.js" 注册到 Claude Code;6)为每个工具处理器添加 try/catch 错误处理,返回 isError: true;7)用带 bin 入口的 package.json 打包分发,用户可 npm install -g my-mcp-server 后注册。

验证要点:服务器无错误启动、tools/list 返回全部工具及正确 schema、工具对有效输入正确执行、对无效输入返回适当错误、通过 stdio 与 Claude Code 协作、工具在会话中可被发现和使用。

常见陷阱:阻塞操作会阻塞其他工具调用(应异步处理);缺少错误处理会让未捕获异常导致服务器崩溃;参数 schema 必须与处理器期望一致;stdio 传输需确保输出被刷新;MCP 服务器拥有与进程相同的访问权限,需仔细校验输入,尤其是 shell 命令或数据库查询。

资料未提供具体收费、价格或效果信息。