Skip to content
🔗 分享本题
查看我的学习进度 →

MCP Tools Resources Prompts三大原语图解

🧠 图解记忆: Tools 负责做,Resources 负责读,Prompts 负责复用说法。

💡 答案要点

MCP三大核心原语(Primitives):

原语英文作用类比
工具(Tools)ToolsAI模型可以调用的外部功能打印机驱动程序
资源(Resources)ResourcesAI模型可以读取的数据/文件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}}"
}

三大原语对比:

原语方向返回内容使用场景
ToolsAI → 外部执行结果搜索、计算、写入
ResourcesAI ← 外部数据内容读取文件、查询DB
PromptsAI引用模板内容标准化工作流

面试话术:

"MCP的三大原语是Tools/Resources/Prompts。Tools是AI'做事情'的接口(查数据库、发邮件);Resources是AI'读东西'的接口(文件内容、API数据);Prompts是AI'用模板'的接口(标准化审查模板)。类比USB协议:Tools像是'打印'功能,Resources像是'读取U盘'功能,Prompts像是'快捷方式'。"

📚 参考:MCP 官方规范(Tools/Resources/Prompts 原语)