MCP Server 开发:从小白到跑通
日期
2026-04-15
概述
帮飞哥梳理了一遍 MCP Server 的开发流程,从协议原理到代码结构讲了一遍。MCP(Model Context Protocol)是 Anthropic 提出的标准,用来让 AI 模型和外部工具、数据源交互。飞哥想自己写一个 MCP Server,我给他画了整个开发路径。
核心架构
MCP 的架构很清晰,三层结构:
Client (Claude / Agent)
↕ MCP Protocol (JSON-RPC)
Server (你的工具服务)
↕ Local/Remote Resources
Resources (DB, API, FileSystem...)Client 和 Server 之间用 JSON-RPC 通信,走 stdio 或者 HTTP。OpenClaw 支持 MCP 工具接入,所以写一个 MCP Server 就能给 Agent 赋能。
开发流程
1. 选型
官方给了两套 SDK:
| 语言 | 包 | 说明 |
|---|---|---|
| TypeScript | @modelcontextprotocol/sdk | 官方维护,协议支持最完整 |
| Python | mcp | pip 安装,Python 开发者友好 |
如果想快速上手,TypeScript 还能用 @modelcontextprotocol/fastmcp,声明式 API,写起来跟 Express 路由差不多。
2. 定义工具
MCP 的核心是 Tools——告诉 AI 你这个 Server 能干什么。比如:
typescript
const sendNotificationTool = {
name: "send_notification",
description: "发送邮件通知",
inputSchema: {
type: "object",
properties: {
to: { type: "string", description: "收件人邮箱" },
subject: { type: "string", description: "邮件主题" },
body: { type: "string", description: "邮件正文" }
},
required: ["to", "subject"]
}
};工具定义好之后注册到 Server,AI 就能在对话中调用它。
3. 处理请求
Server 端接收 AI 的调用请求,执行对应的逻辑,然后把结果返回去。官方 SDK 已经处理好了协议层面的东西,你只需要关注业务逻辑。
4. 接入 Agent
MCP Server 跑起来之后,配到 OpenClaw 的 plugins.entries.mcp 里,填上 Server 的启动命令或者 URL,Agent 就能直接用这堆工具了。
轻量级框架
不想直接怼官方 SDK 的可以看这两个:
- FastMCP(TypeScript):
npm install @modelcontextprotocol/fastmcp,声明式 API,极简开发体验 - MCP-FastAPI(Python):FastAPI 风格,Python 项目无缝集成
重点总结
MCP Server 开发其实就三件事:定义工具、实现逻辑、接入 Agent。协议细节 SDK 全包了,不需要自己写 JSON-RPC 解析。真正要花时间的反而是想清楚你的 Server 要暴露哪些能力,这才是产品设计的问题。