AI导航

如何让现有应用支持MCP协议?

AI百科
5 min read
5 次阅读

如何让现有应用支持 MCP 协议:迁移路线、适配模式与实践要点

一、为什么要给旧系统加上 MCP?

  • 让 LLM 直接调用既有功能,而无需开发专用插件
  • 统一上下文管理,避免多套 API 集成逻辑
  • 通过流式传输(SSE / Streamable HTTP)提升响应时效与用户体验

二、三种主流适配模式

  1. 轻量包装(Wrapper):在原接口外层写一个「Remote MCP Server」,把每个业务端点暴露为 MCP 工具;适合已有 REST/GraphQL 服务
  2. 边车代理(Sidecar / Proxy):把现有服务编译或容器化后,旁挂 mcp-proxymcp-access-point,自动转换 HTTP↔MCP
  3. 代码内嵌(In-Process SDK):在应用代码中直接引入 mcp-sdk(Python/Go/TS),以 Stdio 或 Streamable HTTP 模式启动 MCP 服务器;适合微服务或脚本型工具

三、迁移流程(无代码版)

  • Step 1 梳理接口:列出现有服务中可对外暴露的功能与参数
  • Step 2 生成工具元数据:每个接口需要 namedescriptionparameters(JSON Schema)
  • Step 3 选择传输层
    • 浏览器场景:SSE
    • 高并发 & 双向流:Streamable HTTP
    • 本地脚本:Stdio
  • Step 4 实现 OAuth 2.1:为每个工具配置最小 scope,保护敏感资源
  • Step 5 部署 & 灰度:使用 mcp-proxy 蓝绿发布,兼容旧 SSE 客户端
  • Step 6 监控 & 优化:关注帧速率、上下文字节数、RTT;必要时压缩或拆分大响应

四、常见坑与最佳实践

  • 连接缓冲:Nginx 需 proxy_buffering off;,否则流式分块被积压
  • 安全:对 metadata.signature 做 RSA 验签,防止伪造工具
  • 大文件:调用方将二进制上传对象存储,返回预签名 URL,而非 Base64
  • 版本碎片:2024 版默认 SSE,2025-03-26 版默认 Streamable HTTP,注意客户端升级

#### 示例代码(可直接复制运行)

> **Python — 现有 Flask API 包装成 Streamable HTTP MCP 服务器**

```python
# server.py
from flask import Flask, request, jsonify
from mcp import MCPServer, Tool

# ① 原有 Flask 业务
app = Flask(__name__)
@app.route("/sum")
def sum_api():
    a, b = int(request.args["a"]), int(request.args["b"])
    return jsonify({"result": a + b})

# ② 用 SDK 包装成 MCP Server
srv = MCPServer("LegacyTools", transport="streamable_http", listen="0.0.0.0:8080")

@Tool(name="sum", description="两数求和", parameters={"a": "int", "b": "int"})
def sum_tool(a: int, b: int) -> int:
    # 复用现有逻辑
    return a + b

if __name__ == "__main__":
    srv.run()        # Streamable HTTP server on /message

Node/TypeScript — mcp-proxy 将现有 REST 服务转换为 MCP

// proxy.ts
import { RESTAdapter } from "mcp-proxy";

const adapter = new RESTAdapter({
  baseUrl: "https://legacy.example.com",
  routes: [
    {
      mcpName: "getUser",
      description: "根据 ID 获取用户信息",
      path: "/user/{id}",
      method: "GET",
      params: { id: "string" }
    }
  ]
});

adapter.listen(8080);   // 开启 /message (Streamable HTTP) 端口

Go — 在单体应用内嵌 Stdio MCP 服务器

// main.go
package main
import (
	"github.com/mark3labs/mcp-go"
	"log"
)

func add(a, b int) int { return a + b }

func main() {
	server := mcpgo.NewStdioServer("CLI-Tools")
	server.Tool("add", "两数求和", mcpgo.Args{"a": "int", "b": "int"}, add)
	if err := server.Run(); err != nil {
		log.Fatal(err)
	}
}

推荐工具

Microsoft Copilot

Microsoft Copilot

AI聊天

Microsoft Copilot 是微软推出的多模态 AI 助手,集成于 Windows、Microsoft 365、Edge 浏览器等平台,提供文本生成、语音交互、图像创作等功能。基于 GPT-4 和 Microsoft Graph,Copilot 能理解用户的自然语言指令,协助完成文档撰写、数据分析、邮件处理、代码编写等任务。用户可通过网页、桌面应用、移动设备访问 Copilot,提升工作效率与创造力。Copilot 还支持插件扩展,适用于个人用户与企业团队的多样化需求。

Meta AI

Meta AI

AI聊天

Meta AI是由Meta公司(原Facebook)开发的多模态人工智能助手,基于最新的Llama 4大语言模型构建,支持文本、图像、音频等多种输入形式。用户可通过Facebook、Instagram、WhatsApp、Messenger等平台,以及独立的Meta AI应用和Ray-Ban智能眼镜访问该助手。Meta AI具备强大的自然语言处理、图像生成、语音交互和代码编写能力,广泛应用于内容创作、办公自动化、编程辅助等场景。其“Imagine”功能可根据文本描述生成高质量图像,增强用户的创意表达。Meta AI致力于提供个性化、智能化的服务,提升用户在社交、工作和娱乐等方面的体验。

Gemini

Gemini

AI聊天

Gemini是由Google DeepMind开发的下一代多模态人工智能助手,旨在提供集成文本、图像、音频、视频和代码处理能力的强大AI服务。自2023年12月推出以来,Gemini已成为Google生态系统的核心AI引擎,广泛应用于Gmail、Docs、Chrome、Photos等产品中。其最新版本Gemini 2.5 Pro引入了“Deep Think”模式,显著提升了复杂任务的推理和规划能力。Gemini支持多种交互方式,包括语音对话、图像生成、视频创作等,满足用户在办公自动化、内容创作、编程辅助等多方面的需求。通过API接口,开发者可将Gemini集成至各类应用中,打造个性化的AI解决方案。此外,Gemini还提供了Pro和Ultra订阅计划,解锁更高级的模型访问权限和功能,助力企业和个人用户实现更高效的工作流程。

Grok

Grok

AI聊天

Grok是由埃隆·马斯克创立的xAI公司开发的先进AI助手,旨在提供真实、直接且富有幽默感的对话体验。其最新版本Grok 3于2025年2月发布,利用xAI的Colossus超级计算平台,具备强大的推理、编程、视觉处理和实时搜索能力。Grok支持多模态输入,包括文本、图像和音频,能够生成图像、分析趋势,并通过“Think”和“Big Brain”模式处理复杂任务。该助手集成于X平台(原Twitter),并提供iOS、Android和网页端访问。此外,Grok已部署在微软Azure云平台,支持企业级API接入。

DeepSeek

DeepSeek

AI聊天

DeepSeek是由杭州深度求索人工智能基础技术研究有限公司于2023年推出的人工智能平台,专注于开发高性能、低成本的大语言模型。其核心产品包括DeepSeek-R1和DeepSeek-V3,前者于2025年1月发布,后者于2024年12月发布,均在自然语言处理、数学推理和代码生成等任务中表现出色。DeepSeek支持多语言交互,提供网页、移动应用和API接口,适用于内容创作、办公自动化、编程辅助等多种场景。其模型采用开源策略,训练成本显著低于行业平均水平,推动了人工智能技术的普及和应用。

文心一言

文心一言

AI聊天

文心一言(ERNIE Bot)是百度推出的生成式人工智能产品,基于自研的文心大模型(ERNIE)构建,具备强大的自然语言处理和多模态生成能力。该产品支持文本、图像、音频等多种输入形式,广泛应用于文学创作、商业文案撰写、数理逻辑推算、中文理解和多模态内容生成等场景。文心一言已集成至百度搜索、百度智能云等平台,并通过API接口向企业和开发者开放,助力各行业实现智能化升级。用户可通过网页版、移动应用等多种方式访问,享受高效便捷的AI服务。

通义千问

通义千问

AI聊天

通义千问是阿里云推出的超大规模语言模型,具备强大的自然语言处理和多模态理解能力。该模型支持文本、图像、音频等多种输入形式,广泛应用于内容创作、办公自动化、编程辅助、翻译服务等多个场景。通义千问已集成至钉钉、天猫精灵等阿里产品中,并通过API接口向企业和开发者开放,助力各行业实现智能化升级。用户可通过网页版、移动应用等多种方式访问,享受高效便捷的AI服务。

讯飞星火

讯飞星火

AI聊天

讯飞星火是科大讯飞推出的新一代认知智能大模型,具备跨领域的知识和语言理解能力,能够基于自然对话方式理解与执行任务。该模型拥有多风格多任务长文本生成、多层次跨语种语言理解、泛领域开放式知识问答、情境式思维链逻辑推理、多题型可解析数学能力、多功能多语言代码能力和多模态输入和表达能力等七大核心能力。讯飞星火已广泛应用于教育、办公、医疗、工业、汽车等多个领域,支持PC、iOS、安卓、小程序和H5等主流系统平台,满足用户在不同场景下的智能化需求。

Mistral AI

Mistral AI

AI聊天

Mistral AI是一家总部位于法国巴黎的人工智能公司,专注于开发开放权重的大型语言模型(LLM)。其产品组合包括Mistral 7B、Mixtral 8x7B、Mistral Medium、Mistral Large等,支持多语言处理、代码生成和复杂推理任务。Mistral AI提供的“Le Chat”是一款多语言、多模态的AI助手,具备网页搜索、图像生成和实时更新功能,适用于内容创作、办公自动化和编程辅助等场景。此外,Mistral AI的“La Plateforme”平台允许企业自定义、微调和部署AI模型,支持边缘计算和本地部署,确保数据隐私和安全。公司致力于通过开放和创新的方式,推动人工智能技术的普及和应用。