无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由: ...
2025-08-15 0
统一 AI 工具调用的“通信语言”
关键词:工具调用标准化、Client/Server 架构、上下文传递、SSE 流式响应
在 MCP 出现之前,AI 应用调用外部工具(如数据库、API)存在三大问题:
MCP 的核心目标:
定义一套与模型无关的标准化协议,让任意 AI 模型通过统一接口调用任意工具。
组件 | 职责 | 示例实体 |
Client | 发起工具调用请求 | Claude/ChatGPT/Cursor |
Server | 路由请求到工具并返回结果 | 本地 FastMCP 服务 |
Tool | 执行具体操作 | 天气查询/数据库连接器 |
Client 发送 结构化 JSON 到 MCP Server,包含:
{ "context": { "user_id": "u123", "session_id": "s456", "history": [{"role": "user", "content": "查询北京天气"}] }, "tool_name": "get_weather", "parameters": {"city": "北京", "unit": "celsius"}}
Server 根据 tool_name 路由到注册的工具函数,注入上下文并执行:
# MCP 工具注册示例(Python)@mcp_tool(name="get_weather")defweather_api(city: str, unit: str, context: dict) -> dict: # 可访问 context["user_id"] 做权限校验 return fetch_weather(city, unit) # 调用真实 API
通过 Server-Sent Events(SSE) 流式返回,支持大结果分块传输:
HTTP/1.1 200 OKContent-Type: text/event-streamevent: result_chunkdata: {"progress": 30, "text": "正在获取数据..."}event: final_resultdata: {"temp": 25, "humidity": 60}
核心价值:在多轮交互中保持状态连续性
// Server 可返回新上下文{"result": "...", "updated_context": {"selected_city": "北京"}}
Client 启动时通过 /registry 接口拉取 Server 的工具清单:
// GET http://mcp-server/registry{ "tools": [ { "name": "get_weather", "description": "查询城市天气", "parameters": { "city": {"type": "string", "required": true}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]} } } ]}
在工具执行前进行权限校验:
defweather_api(city: str, context: dict): user_token = context.get("user_token") ifnot validate_token(user_token, scope="weather:read"): raise MCPError(code=403, message="无权访问天气服务")
能力 | MCP 方案 | 传统 Function Calling |
跨模型兼容 | ✅ 统一接口 | ❌ 每个模型需独立适配 |
工具热插拔 | ✅ 服务端动态注册 | ❌ 需重新部署模型 |
上下文管理 | ✅ 显式状态传递 | ❌ 依赖模型记忆,不可靠 |
调试支持 | ✅ 内置 Trace Viewer | ❌ 自行搭建日志系统 |
pip install fast-mcpfast-mcp --tools demo_tools.py
curl -X POST http://localhost:8000/execute \ -H "Content-Type: application/json" \ -d '{ "tool_name": "get_weather", "parameters": {"city": "上海"}, "context": {"user_id": "test"} }'
{ "result": {"temp": 28, "condition": "sunny"}, "updated_context": {"last_city": "上海"}}
结语:MCP 不是简单的 RPC 协议,而是为 AI Agent 设计的 “工具协作语言”。其通过上下文传递、流式响应、动态注册等机制,为构建复杂智能应用提供了基础设施。
下一篇预告:《零基础 MCP 开发环境配置》
将手把手配置 Python/Node.js 双环境,集成 Claude 与 Cursor 实战演示!
行业首个「知识图谱+测试开发」深度整合课程【人工智能测试开发训练营】,赠送智能体工具。提供企业级解决方案,人工智能的管理平台部署,实现智能化测试,落地大模型,实现从传统手工转向用AI和自动化来实现测试,提升效率和质量。
相关文章
人工智能迅猛发展,算力需求不断飙升,这促使数据中心建设加速。在这个过程中,铜缆高速连接脱颖而出,它成本低、速率高且稳定性强,在数据中心和智算中心等场景...
2025-08-15 0
夏令营队员观看由广西师范大学本科生设计制作的智能机器人进行搬运、避障等现场表演。 李启冰 摄近日,在广西师范大学育才校区实验楼内,随着最后一只机器人精...
2025-08-15 0
【大河财立方 记者 张克瑶】8月15日,首届世界人形机器人运动会首日赛程在北京启动。大河财立方记者从中豫具身智能实验室获悉,由该实验室和卓益得机器人联...
2025-08-15 0
上周,《智绘光谷·CMG世界机器人技能大赛》在央视播出,光谷东智、光谷华汇、灏存科技、华威科、诚芯智联等光谷企业携最新产品亮相。在光谷,机器人早已不再...
2025-08-15 0
金融界8月15日消息,有投资者在互动平台向汉仪股份提问:最新版字库是否优化了算力需求?公司是否已搭建自用算力网络供字库数据使用?公司回答表示:您好!公...
2025-08-15 0
发表评论