是什么
为什么
Agent 需要可靠调用外部能力,MCP 提供统一接口,降低集成复杂度。
怎么做
通过定义工具描述、输入输出格式和调用流程,实现模型与工具的无缝对接。
什么时候
当 Agent 需要调用多个外部工具或数据源时使用;若只需单一简单接口,可直接硬编码。
FOCUS
先记住这些
不掌握就不能用
工具描述必须准确、完整,否则模型无法正确调用
与最近邻的差异
MCP 提供标准化调用流程,区别于硬编码接口
最高频踩坑
权限配置不当会导致工具调用失败或安全风险
PROBLEM / POSITION / INTERFACE
先弄清它为什么存在,以及谁在使用
-
01 解决的问题
Agent 需要调用多个外部工具或数据源时
缺乏统一标准导致集成复杂、维护困难
- 成功标准
- 实现模型与工具的标准化交互,降低集成成本
-
02 AI 生态位
MCP 是 Agent 与外部工具之间的桥梁,提供标准化接口
- 上游
- 依赖大模型和外部工具/数据源
- 下游
- 为 Agent 提供调用外部能力的能力
-
03 人的生态位
开发者负责定义工具描述、输入输出格式和调用流程
- 适合使用
- 当 Agent 需要调用多个外部工具或数据源时
- 不必使用
- 若只需单一简单接口,可直接硬编码
-
04 独特价值
提供标准化接口,降低集成复杂度,提高可维护性
工具描述的准确性、输入输出格式的兼容性、调用流程的可靠性
- 复杂度判断
- 复杂度不是功能数量,而是控制与验证成本。
INTERFACE FLOW
谁在操作,信息怎样流动
-
WHO OPERATES
HUMAN开发者负责定义工具描述、输入输出格式和调用流程
MODEL大模型根据工具描述生成调用请求
-
INPUT
工具描述、输入参数、调用请求
-
CONTROL
工具描述、输入输出格式、调用流程、权限控制
-
OUTPUT
工具执行结果、状态码、错误信息
CODE / PYTHON最小 Python 调用
import os
from mcp import MCPClient
client = MCPClient(api_key=os.environ["API_KEY"])
resp = client.call_tool(
tool_name="search",
input={"query": "MCP 是什么"},
)
print(resp.result)最短闭环:读环境变量密钥 → 调用工具 → 打印结果。真实密钥不要写进代码。
JSON / RESPONSE典型返回(示意)
{
"tool_name": "search",
"result": "MCP 是模型上下文协议,用于标准化大模型与外部工具/数据源的交互。",
"status": "success",
"usage": {
"prompt_tokens": 12,
"completion_tokens": 18,
"total_tokens": 30
}
}FAQ
常见问题
01它和最相近的方案有什么区别?+
MCP 提供标准化接口,区别于硬编码接口。
避免跟风选型。02最小可用方式是什么?+
通过定义工具描述、输入输出格式和调用流程,实现模型与工具的无缝对接。
帮助真正开始。03什么时候不需要它?+
若只需单一简单接口,可直接硬编码。
控制系统成本。NEXT