微信扫码
添加专属顾问
我要投稿
MCP协议让大模型Agent开发变得前所未有的简单,只需几行代码就能接入海量工具,快来了解如何快速上手! 核心内容: 1. MCP协议的背景与核心优势:统一规范降低开发门槛 2. 搭建MCP客户端的详细步骤与工具推荐 3. 丰富的开源生态与多语言SDK支持
最近在折腾大模型Agent开发的时候,发现了一个超级实用的协议——MCP(Model Context Protocol)。它是由Anthropic公司去年11月推出的,本来没啥动静,但今年Agent热潮一起来,它就火了。尤其是Cursor在2月份宣布支持MCP后,直接把这个协议推到了开发者眼前。今天我就来聊聊MCP的来龙去脉,以及怎么用它快速搭建客户端和服务器。相信看完这篇,你也能轻松上手,开发出自己的智能体Agent。
先简单说说MCP的背景。MCP全称Model Context Protocol,翻译成模型上下文协议。它本质上是一种规范,专门解决大模型调用外部工具的痛点。我们知道,大模型要想从聊天机器人进化成真正的Agent,必须能调用外部工具,比如查天气、爬网页、操作数据库。但大模型天生没法直接和外部世界互动,所以就需要一个“中介”——Function Calling。
Function Calling这个概念从诞生起就很受欢迎,但问题也明显:写函数代码太费劲,一个简单工具可能要上百行代码,还得配JSON Schema描述函数接口,再加上精心调提示词,确保大模型能准确调用。开发门槛高,重复劳动多。
MCP的出现就像秦始皇统一“书同文、车同轨”一样,它定义了统一的规范:大模型环境叫MCP Client(客户端),工具运行环境叫MCP Server(服务器)。两者之间用固定提示词模板通信。这样一来,大家就不用每次从零写工具了。GitHub上现在已经有上千个开源MCP服务器,从SQL查询到网页爬取、命令行操作,再到数据分析,应有尽有。你只要装个库,几行代码就能接入这些工具。
MCP的最大亮点是生态:Anthropic提供了Python、TypeScript、Java等多语言SDK,开发服务器超级简单。客户端不仅支持Claude模型,还兼容任意本地或在线大模型,甚至像Cursor这样的IDE也能直接用。想象一下,在Cursor里一键连接海量工具,Agent开发速度起飞!
MCP开发的第一步是建客户端。我们用uv工具管理环境——uv是Rust写的Python依赖管理器,比pip快多了,支持虚拟环境,还兼容requirements.txt。安装uv超级简单:用pip install uv,或者curl -LsSf https://astral.sh/uv/install.sh | sh。
安装依赖:uv pip install requests
创建虚拟环境:uv venv myenv
激活:source myenv/bin/activate(Linux/macOS)
运行项目:uv run python script.py
现在,创建一个MCP客户端项目:
uv init mcp-clientcd mcp-clientuv venvsource .venv/bin/activateuv add mcp
然后新建client.py,写一个极简客户端代码(我贴了简化版,实际开发可以复制全文):
import asynciofrom mcp import ClientSessionfrom contextlib import AsyncExitStackclass MCPClient: # 初始化、连接模拟服务器、聊天循环、清理资源等函数...async def main(): client = MCPClient() try: await client.connect_to_mock_server() await client.chat_loop() finally: await client.cleanup()if name == "main": asyncio.run(main())
运行uv run client.py,就能看到一个CLI界面:输入问题,它会模拟回复(先回显你的输入)。代码结构清晰:__init__初始化,chat_loop处理交互,cleanup释放资源。Jupyter里也能跑,加nest_asyncio.apply()解决事件循环冲突。
@极简版太基础了?加OpenAI或DeepSeek吧。先uv add openai python-dotenv,创建.env文件放API Key(国内用反代地址直连OpenAI)。DeepSeek类似,BASE_URL=https://api.deepseek.com。
修改client.py,用OpenAI客户端处理查询:
self.client = OpenAI(api_key=self.openai_api_key, base_url=self.base_url)async def process_query(self, query: str) -> str: messages = [{"role": "system", "content": "你是一个智能助手..."}, {"role": "user", "content": query}] response = await ... # 调用API return response.choices[0].message.content
运行后,就能和大模型聊天了!本地模型呢?用Ollama或vLLM调度框架,它们兼容OpenAI API风格,只改.env就行。比如ollama:BASE_URL=http://localhost:11434/v1/,MODEL=qwq。vLLM类似,启动服务后改BASE_URL=http://localhost:8000/v1。
我试了QwQ-32B模型,响应速度飞快,感觉本地Agent开发门槛真低了。
客户端ready了,现在建服务器。MCP服务器提供Resources(资源)、Tools(工具)、Prompts(提示词)三种能力。我们用stdio(标准输入输出)模式建一个天气查询服务器,用OpenWeather API。
先uv add mcp httpx,获取API Key(免费注册)。新建server.py:
import jsonimport httpxfrom mcp.server.fastmcp import FastMCPmcp = FastMCP("WeatherServer")async def fetch_weather(city: str) -> dict: # httpx请求OpenWeather API...def format_weather(data: dict) -> str: # 格式化输出温度、湿度等...@mcp.tool()async def query_weather(city: str) -> str: data = await fetch_weather(city) return format_weather(data)if name == "main": mcp.run(transport='stdio')
这个服务器注册了query_weather工具,描述清楚(城市英文名)。stdio模式下,服务器作为子进程跑。
修改client.py支持stdio连接和Function Calling:
async def connect_to_server(self, server_script_path: str): # 启动stdio服务器,list_tools列出工具...async def process_query(self, query: str) -> str: # list_tools获取可用工具,发给OpenAI # 如果finish_reason=="tool_calls",call_tool执行...
运行uv run client.py server.py,问“北京今天天气如何?”大模型会自动调用工具,返回格式化天气:温度XX°C,湿度XX%... 超方便!
MCP通讯机制:本地用stdio,远程用HTTP+SSE(服务器推送事件)。JSON-RPC 2.0格式传输。Anthropic正考虑升级成流式HTTP,解决SSE单向限制。
调试用Inspector:装Node.js,npx -y @modelcontextprotocol/inspector uv run server.py,在浏览器http://127.0.0.1:5173/查看工具运行。
MCP不只是协议,更是生态。它让Agent开发从“高端黑科技”变成“人人可上手”。我从零建了个天气Agent,花了不到一小时,就感受到协作效率的提升。未来,随着更多服务器开源,想象空间巨大。如果你也感兴趣,赶紧试试吧!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-09-20
腾讯AI的“三板斧”,首先砍向智能体
2025-09-20
Lemon AI Evolving V0.2.3版本更新:支持 HTML 结果云部署,升级大文件解析能力
2025-09-20
我去!全球 10 亿人用 AI 的真相。
2025-09-20
Claude Code Templates 解析:老铁们,AI开发配置这点事儿
2025-09-20
如何使用Codex高效开发?OpenAI内部Codex工作流解密
2025-09-20
Google Gemini AI 音频:将录音转换为笔记和摘要
2025-09-19
Notion 3.0 |AI转型最成功的互联网产品是怎么做的?
2025-09-19
周航:和AI这道正餐相比,前几十年的科技总和只是前菜
2025-08-21
2025-08-21
2025-08-19
2025-09-16
2025-07-29
2025-09-08
2025-08-19
2025-08-20
2025-09-14
2025-09-14
2025-09-19
2025-09-19
2025-09-18
2025-09-18
2025-09-17
2025-09-17
2025-09-16
2025-09-14