使用 MCP 让企业 Coding 十倍提效

一、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. 高德地图美食推荐

lbs.amap.com/api/mcp-ser...

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 官方示例改

github.com/spring-proj...

未来已来,快上车!

相关推荐
Pitayafruit6 小时前
🔓AI赋能开源:如何借助MCP快速解锁开源项目并提交你的首个PR
ai编程·cursor·mcp
小兵张健7 小时前
高德地图 MCP 全网最全教程(Cursor + Win)
aigc·cursor·mcp
AI云师兄8 小时前
MCP 实战系列(Day 2)- 动手搓个文件系统 MCP 服务器
服务器·人工智能·ai编程
勤劳打代码11 小时前
码力全开——导入 deepseek 模型到 IDE
mcp·trae
utmhikari11 小时前
【日常随笔】基于MCP生态的LLM-Agent开发
llm·ai编程·mcp
十分钟空间14 小时前
别再手动查热点了!200行Python代码搞定微博知乎头条等全网焦点,小白也能快速上手
爬虫·ai编程
毅航14 小时前
以通俗易懂的方式讲解mcp 协议
mcp
惊鸿Randy17 小时前
AI模型多阶段调用进度追踪系统设计文档
java·spring boot·ai·ai编程
土豆125018 小时前
Augment Code:开启AI代理编程新时代
ai编程
justdoit52118 小时前
前端的AI路其之一: MCP与Function Calling
aigc·openai·mcp