SuperAPI AI 工具集

build-mcp-server

智能体与模型

查看项目

更新于 10-15 20:07

技能介绍

用途:MCP(Model Context Protocol)是连接 AI 助手与外部数据源及工具的开放标准。本资料讲解如何构建 MCP 服务器,暴露三类能力:工具(LLM 可调用的函数,如读文件、查询 API、执行命令)、资源(LLM 可读取的数据源,如文件、数据库、API)、提示(带参数的可复用模板)。MCP 由服务器提供能力,客户端(如 Claude Desktop)消费;传输方式包括 STDIO(本地)、SSE(Server-Sent Events)与 HTTP(网络)。

主要能力与用法:官方 SDK 为 TypeScript 的 @modelcontextprotocol/sdk 与 Python 的 mcp。

安装: npx @modelcontextprotocol/create-server@latest my-server cd my-server && npm install 或 pip install mcp (资料另注可用 uv:uv pip install mcp)

TypeScript 侧:用 CLI 交互式创建服务器,在 src/index.ts 中通过 Server 与 StdioServerTransport 定义工具,用 ListToolsRequestSchema、CallToolRequestSchema 处理列表与调用,并用 fs/promises 读文件、列目录;执行 npm run build 后重启 Claude Desktop,服务器会出现在 🔌 菜单。

Python 侧:在 server.py 中用 mcp.server 的 Server、mcp.server.stdio 的 stdio_server,配合 @app.list_tools()、@app.call_tool()、@app.list_resources()、@app.read_resource()、@app.list_prompts()、@app.get_prompt() 装饰器实现对应能力,可直接 python server.py 独立测试。

Claude Desktop 配置:在 claude_desktop_config.json 的 mcpServers 中写入 command 与 args,指向构建产物或脚本的绝对路径(macOS 位于 ~/Library/Application Support/Claude/,Windows 位于 %APPDATA%/Claude/)。

进阶模式:错误处理(捕获异常并返回 isError 提示)、异步操作(axios、aiosqlite)、环境变量与配置(dotenv、os.getenv)、大数据的流式读取,以及基于注册表的动态工具注册。

适用场景与限制:适合为 Claude Desktop 等 MCP 客户端扩展本地或网络能力,如文件系统访问、API 调用、数据库查询与代码评审模板。资料未提供收费、价格、许可证、性能指标或平台兼容性细节;本地 STDIO 方式需重启客户端生效,实际能力受服务器实现与权限约束。