MCP协议如何将REST API升级为AI原生接口|无需重写存量API

别慌!你写的 REST API 没被淘汰——它正被 MCP"翻译器"悄悄升维成 AI 原生接口
AI Agent 时代,存量 API 怎么办?
很多团队已经积累了大量 REST API 资产,面对 AI Agent 的兴起,一个现实问题摆在眼前:这些 API 还能用吗?是不是得全部重写才能接入 AI 生态?
答案是不用。MCP 协议提供了一条更务实的路径——现有 API 资产无需重写,直接升级为 AI 原生接口。
MCP 协议:给 AI Agent 一个标准插座
MCP 是什么?
MCP(Meta-Communication Protocol)是专为 AI Agent 设计的通信协议。它在传统请求-响应模式的基础上,引入了事件驱动和异步通信机制,更贴合 AI Agent 对实时性和并发性的要求。
WebMCP:把现有 API 直接变成 MCP 服务器
WebMCP 是 MCP 生态里的一个关键工具,能把任意 Chrome 网页转换为 MCP 服务器。对于已有的基于网页的 REST API,WebMCP 可以直接完成协议转换,不需要动一行业务代码。
核心能力:
- 零侵入接入:不修改现有 API 代码,WebMCP 在外层处理协议转换。
- 实时通信:支持 AI Agent 与 API 之间的实时数据交换。
- 事件驱动:异步通信模式,适配 AI Agent 的动态调用场景。
实战:把 Express REST API 接入 MCP
假设你有一个基于 Express.js 的用户管理 API:
const express = require('express');
const app = express();
app.use(express.json());
app.get('/users', (req, res) => {
res.json([{id: 1, name: 'Alice'}, {id: 2, name: 'Bob'}]);
});
app.post('/users', (req, res) => {
const user = req.body;
// 保存用户到数据库
res.status(201).json(user);
});
app.listen(3000, () => console.log('API server running on port 3000'));引入 WebMCP 只需在末尾加几行:
const express = require('express');
const { WebMCP } = require('webmcp');
const app = express();
app.use(express.json());
app.get('/users', (req, res) => {
res.json([{id: 1, name: 'Alice'}, {id: 2, name: 'Bob'}]);
});
app.post('/users', (req, res) => {
const user = req.body;
// 保存用户到数据库
res.status(201).json(user);
});
const mcpServer = new WebMCP(app);
mcpServer.start(3000).then(() => {
console.log('MCP server running on port 3000');
});改动就这些。原有路由逻辑完全不动,AI Agent 就可以通过 MCP 协议调用你的接口了。
MCP Server 开发与部署
完整代码示例
下面是一个更完整的 MCP Server 示例,展示如何同时暴露 REST 接口和 MCP 接口:
const express = require('express');
const { MCP } = require('mcp-sdk');
const app = express();
app.use(express.json());
app.get('/greet', (req, res) => {
const name = req.query.name || 'World';
res.json({ message: `Hello, ${name}!` });
});
const mcp = new MCP();
mcp.expose('greet', async (args) => {
const name = args.name || 'World';
return { message: `Hello, ${name}!` };
});
app.listen(3000, () => {
console.log('API server running on port 3000');
mcp.connect('ws://localhost:8080').then(() => {
console.log('Connected to MCP broker');
});
});
部署步骤
1. 安装依赖
npm install express mcp-sdk2. 启动 MCP Broker
MCP Broker 负责消息路由,是整个 MCP 生态的核心组件。用 Docker 一行启动:
docker run -d -p 8080:8080 mcpbroker3. 启动 MCP Server
node server.js4. 测试接口
用 mcp-cli 直接调用:
mcp-cli call greet --args '{"name":"Alice"}'返回结果:
{
"message": "Hello, Alice!"
}MCP 工具生态与商业价值
常用工具
- mcp-sdk:多语言客户端 SDK,快速集成 MCP 功能。
- mcp-broker:高性能 Broker,支持集群部署和负载均衡。
- mcp-cli:命令行工具,用于测试和调试 MCP 接口。
为什么值得投入?
MCP 协议对存量 API 资产的复用价值是实打实的,具体体现在三个方面:
- 缩短开发周期:不用从零搭建 AI Agent 服务,直接复用现有 API 逻辑。
- 跨平台集成:MCP 协议本身与语言和平台无关,不同系统之间的对接成本大幅降低。
- 性能适配:事件驱动和异步通信模式,让服务的实时性和并发能力跟上 AI Agent 的调用节奏。
一个具体场景:天气服务商接入 AI Agent
假设你是一家天气服务商,已有一套成熟的天气查询 API。接入 MCP 的路径大致是这样的:
- 用 WebMCP 把天气 API 包装成 MCP 服务器,对外暴露给 AI Agent 调用。
- 基于 MCP 工具开发 AI Agent 应用,提供个性化天气咨询能力。
- 通过 MCP 协议把这套能力集成到智能音箱、智能手表等终端,打通多渠道分发。
整个过程,核心的天气查询逻辑一行没改。
动手试试
如果你想直接上手,按这个顺序来:
第一步:启动 MCP Broker
docker run -d -p 8080:8080 mcpbroker第二步:给现有 Express 应用加上 WebMCP
npm install webmcpconst { WebMCP } = require('webmcp');
const app = express();
// 你的 Express 应用代码保持不变
const mcpServer = new WebMCP(app);
mcpServer.start(3000).then(() => {
console.log('MCP server running on port 3000');
});第三步:开发 AI Agent 应用
调用你刚才暴露的 MCP 接口,构建 Agent 业务逻辑。
第四步:本地测试通过后,部署到生产环境。
MCP 协议的核心价值不是颠覆现有 API,而是给它加一层 AI 友好的通信外壳。存量资产不用扔,开发成本不用翻倍,这才是工程上真正务实的选择。