🧠 图解记忆: Tools 负责做,Resources 负责读,Prompts 负责复用说法。
💡 答案要点
MCP三大核心原语(Primitives):
| 原语 | 英文 | 作用 | 类比 |
|---|---|---|---|
| 工具(Tools) | Tools | AI模型可以调用的外部功能 | 打印机驱动程序 |
| 资源(Resources) | Resources | AI模型可以读取的数据/文件 | U盘文件 |
| 提示模板(Prompts) | Prompts | 可复用的Prompt模板 | 快捷方式 |
1. Tools(工具)—— AI执行动作
json
// MCP工具定义示例
{
"name": "search_database",
"description": "在数据库中搜索用户订单",
"inputSchema": {
"type": "object",
"properties": {
"user_id": {"type": "string"},
"status": {"type": "string", "enum": ["pending", "completed"]}
},
"required": ["user_id"]
}
}
// AI调用工具
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_database",
"arguments": {"user_id": "12345", "status": "completed"}
}
}2. Resources(资源)—— AI读取数据
json
// MCP资源定义
{
"name": "user_profile",
"description": "用户个人资料文档",
"uri": "file:///data/users/{user_id}/profile.json",
"mimeType": "application/json"
}
// AI读取资源
{
"jsonrpc": "2.0",
"id": 2,
"method": "resources/read",
"params": {
"uri": "file:///data/users/12345/profile.json"
}
}3. Prompts(提示模板)—— 可复用Prompt
json
// MCP提示模板
{
"name": "code_review",
"description": "代码审查模板",
"arguments": [
{"name": "language", "required": true},
{"name": "code_snippet", "required": true}
],
"template": "请审查以下{{language}}代码,找出潜在问题:\n{{code_snippet}}"
}三大原语对比:
| 原语 | 方向 | 返回内容 | 使用场景 |
|---|---|---|---|
| Tools | AI → 外部 | 执行结果 | 搜索、计算、写入 |
| Resources | AI ← 外部 | 数据内容 | 读取文件、查询DB |
| Prompts | AI引用 | 模板内容 | 标准化工作流 |
面试话术:
"MCP的三大原语是Tools/Resources/Prompts。Tools是AI'做事情'的接口(查数据库、发邮件);Resources是AI'读东西'的接口(文件内容、API数据);Prompts是AI'用模板'的接口(标准化审查模板)。类比USB协议:Tools像是'打印'功能,Resources像是'读取U盘'功能,Prompts像是'快捷方式'。"
