手写MCPServer接入Agent实战,100行代码让AI直连后端API

MCP(Model Context Protocol)正成为 AI Agent 与后端服务对接的新标准。本文基于实战案例,解析如何用不到 100 行 TypeScript 代码构建 MCP Serve...

人工智能

在 AI Agent 应用快速落地的当下,一个长期被忽视的工程痛点正逐渐浮出水面:当开发者为某个客户端(如网页聊天界面)实现了 Function Calling 功能后,若想在 Cursor、Claude Desktop 或其他支持 Agent 的平台复用同一套后端能力,往往需要重复编写大量适配逻辑。这种“一客户端一实现”的模式,使得集成成本随客户端数量呈指数级增长。

MCP(Model Context Protocol)的出现,正是为了解决这一问题。它本质上为 AI 工具提供了一套标准化的通信接口——类似硬件领域的 Type-C 协议,只要后端服务按规范暴露 MCP Server,任何兼容客户端即可“即插即用”。近期一篇技术实践文章展示了如何手写一个轻量级 MCP Server,将自建书签服务 linkbox 的 API 转化为 AI 可调用的工具,全程仅需约 100 行 TypeScript 代码,且无需依赖复杂框架。

该方案的核心价值在于解耦:AI 客户端不再需要感知具体业务逻辑,只需通过统一协议(stdio)与 MCP Server 交互;而 MCP Server 则负责将请求转发至真实后端,并处理认证、错误重试等细节。以“查询稍后阅读中最新收藏的视频”为例,用户向 AI 发出指令后,流程如下:AI 客户端识别需调用工具 → 通过 MCP 协议向本地 Server 发起请求 → Server 向 linkbox 后端发起带 Token 的 HTTP 请求 → 返回结果并由 AI 执行后续操作(如复制到前端收藏夹)。整个链路稳定、低延迟,且避免了模拟浏览器点击带来的 DOM 依赖风险。

文章配图

MCP Server 的能力模型清晰划分为三类:Tools(可被 AI 主动调用的操作型函数)、Resources(只读参考资料,如文档或日志)、Prompts(预设提示词模板)。对于绝大多数后端集成场景,仅需实现 Tools 类型即可。一个最小可行的工程结构仅包含三个关键文件:

  • index.ts:启动入口,创建 McpServer 实例并绑定 stdio 通道,代码不足 10 行;
  • client.ts:封装 HTTP 请求逻辑,统一处理 Authorization 头、超时与错误响应;
  • tools.ts:定义工具元数据,包括名称、描述、参数 Schema(通常使用 Zod 校验),以及调用后端的实际逻辑。

文章配图

值得注意的是,该方案对开发环境有明确要求:需启用 Node.js 原生 ESM 模块支持(在 package.json 中声明 "type": "module"),并在 tsconfig.json 中配置 "module": "Node16",此时导入语句需显式添加 .js 后缀(如 import { registerTools } from "./tools.js")。依赖极简,仅需 @modelcontextprotocol/sdk 与 zod 两个包。

从工程实践角度看,MCP 的优势不仅体现在开发效率上,更在于长期维护性。传统 Function Calling 方案中,一旦后端接口变更(如字段名调整、鉴权方式升级),所有客户端的适配代码均需同步修改;而采用 MCP 后,只需更新 Server 层逻辑,所有客户端自动受益。此外,由于通信基于标准 JSON-RPC over stdio,调试极为便捷——开发者可直接运行 node dist/index.js 启动 Server,再通过 mcp-inspector 等工具实时查看请求/响应内容,大幅缩短排错周期。

当前主流 AI 开发工具已陆续支持 MCP。Cursor 作为深度集成 AI 编程的编辑器,其最新版本原生支持 MCP Server 注册;Claude Desktop 亦可通过配置接入本地 Server;开源社区还出现了如 mcp-inspector 的调试面板,用于可视化测试工具定义与调用链路。这意味着,开发者无需等待平台方推动,即可自主构建私有化 AI 工具生态。

对比早期依赖浏览器自动化(如 Puppeteer 模拟点击)的方案,MCP 显著提升了可靠性与性能。页面结构微调即可导致自动化脚本失效,而 API 接口契约稳定、响应快、Token 消耗低——这对高频调用的 Agent 场景尤为关键。一位实践者指出:“把 AI 当作后端服务的‘高级客户端’来设计,而不是‘会说话的爬虫’,是工程成熟度的重要标志。”

尽管 MCP 尚处于早期推广阶段,但其设计理念已获得广泛认同。它并非替代 Function Calling,而是将其抽象为可复用的服务层。未来随着更多客户端加入兼容行列,MCP 有望成为企业级 AI Agent 集成的事实标准。对于中小型团队而言,手写一个轻量 Server 成本极低,却能立即释放已有 API 的 AI 能力,形成“一次开发、多端复用”的良性循环。

目前,该方案已在个人知识管理、内部运维助手、客服工单处理等多个场景验证可行。其门槛之低——15 分钟内可完成部署与测试——使其特别适合工程师快速验证想法。随着社区工具链日益完善(如自动生成 tools.ts 的 CLI),MCP 的普及速度可能远超预期。

技术演进的本质,往往不是发明新东西,而是让已有能力以更合理的方式组合。MCP 正是这样一种“连接器”:它不创造新功能,却让分散的后端服务与智能体之间建立起高效、可靠、可维护的桥梁。