一、MCP 是什么
MCP(Model Context Protocol,MCP)是 Anthropic 2024.11 推出的开源标准,旨在解决大模型与外部工具、数据源的集成难题。其核心作用是通过标准化接口规范,将 AI 模型的决策逻辑与外部资源、数据、工具调用解耦,形成 "智能大脑 + 外接四肢" 的协同模式。
传统 API 不同服务提供不同 SDK,调用方需要对该应用做接入 | MCP 不同服务就是一个 MCP Server,都遵循 MCP 协议提供服务 |
---|---|
![]() |
![]() |
MCP 只是一个协议,并未做任何实现,细究起来上图中用 type-c 拓展坞来类比 MCP 有一定问题,MCP 更像是 Type-C 协议,指导厂家生产兼容 type-c 规范的设备,这样华强北的插头就可以给印度手机充电了,不用为每个品牌手机做插头
MCP 核心概念
MCP 定义了三大核心原语实现交互标准化

Cursor 目前只支持 Tools,AI 终端 MCP 支持情况

MCP 工作流程
以 Cursor 接入 MCP Server 为例介绍下 MCP 工作流程,主要分为三个阶段
1.1. 初始化
- Cursor 启动时,内置的 MCP Host 探测配置的 MCP Server 并与之建立连接
- 双方进行功能协商,确定配置 Server 提供的可用资源/工具列表,为后续调用做好准备
1.2. 处理用户请求
- 请求传递与工具选择:开发同学在 Cursor 通过自然语言输入指令,Cursor MCP client 将请求发送至 MCP Server,获取当前可用的工具描述。Cursor 将工具列表转为系统提示词与用户 Prompt 拼接,发送给模型
- 模型决策与工具调用:模型解析请求,判断需调用的工具,并生成结构化参数,Cursor 通过 MCP Server 执行工具调用
1.3. 结果整合
- 资源访问与执行:MCP Server 响应请求,结果通过 JSON-RPC 2.0 协议返回给 Cursor 的 MCP Client
- 模型生成最终响应:Cursor MCP Client 将 MCP Server 返回结果再次发送给模型,模型整合上下文生成自然语言响应,最终结果通过 Cursor 界面展示给用户

Function Call 与 MCP
一图以蔽之
两者能力上几乎没区别,Function Call 是 GPT 专属的内置功能(其它模型做了各自版本的实现),在调用时指定 tools 列表
python
from openai import OpenAI
client = OpenAI()
tools = [{
"type": "function",
"name": "get_weather",
"description": "Get current temperature for a given location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City and country e.g. Bogotá, Colombia"
}
},
"required": [
"location"
],
"additionalProperties": False
}
}]
response = client.responses.create(
model="gpt-4o",
input=[{
"role": "user",
"content": "What is the weather like in Paris today?"
}],
tools=tools
)
print(response.output)
而从 MCP 的工作流程可以看出来,MCP 是 LLM 的外挂,通过 MCP Client(严格讲是 MCP Host) 组装提示词和 LLM 交互,无需 LLM 支持 Function Call,这就意味着企业提供一套标准的服务即可接入任意模型

二、IDE 配置 MCP Server
1. VSCode
VSCode 1.99 终于带来 MCP 支持
code.visualstudio.com/updates/v1_...
此处为语雀视频卡片,点击链接查看:mcp.mp4
2. Cursor
docs.cursor.com/context/mod...

三、企业都在用 MCP Server 做什么
1. 高德地图美食推荐

2. 阿里云可观测服务
阿里云可观测服务发布 Observable MCP Server,让可观测使用更简单

3. 代码质量评估

4. Hologress 数据分析
mp.weixin.qq.com/s/82f48KqO1...


5. 问题诊断

6. 符合企业规范的代码生成
此处为语雀视频卡片,点击链接查看:ai_banner.mp4
Agent 交互过程截图



一句提示词根据 PC 生成 Mobile 代码
此处为语雀视频卡片,点击链接查看:4月12日.mp4
Agent 交互过程


7. 业界开源
四、开始写自己的 MCP Server
1. 官方 SDK
Anthropic 官方提供了 MCP Client/Server 多种语言的 SDK
使用官方 SDK 创建一个 MCP Server 非常简单
python
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
强烈建议内部实践使用 Python,前后端同学都可以快速参与
2. Spring AI
如果 MCP Server 能力和现有应用深度耦合,无法服务化,使用 Spring 的话可以参考 Spring AI 官方示例改
未来已来,快上车!