三大核心原语:Tools、Resources、Prompts 深度解析
原语概述:控制权的分配
MCP 的核心价值在于通过三种原语(Primitives)实现 控制权的明确分配:
| 原语 | 控制方 | 核心价值 |
|---|---|---|
| Tools | 模型(AI) | 让 AI 主动执行动作 |
| Resources | 应用 | 让应用控制数据访问 |
| Prompts | 用户 | 让用户复用交互模式 |
这种设计让每一方都能在擅长的领域发挥主导作用,避免了「AI 什么都能做」的失控风险。
Tools:模型驱动的可执行函数
什么是 Tools?
Tools 是 Server 暴露的可执行函数,AI 模型可以主动调用这些函数来完成特定任务。
关键特征:
- 模型决定何时调用
- 模型决定传递什么参数
- 模型解析返回结果
Tool 定义 Schema
每个 Tool 都需要提供清晰的 Schema 定义:
{
"name": "search_files",
"description": "在指定目录中搜索包含特定内容的文件",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "要搜索的目录路径"
},
"pattern": {
"type": "string",
"description": "搜索模式(支持通配符)"
},
"maxResults": {
"type": "number",
"description": "返回结果的最大数量",
"default": 10
}
},
"required": ["path", "pattern"]
}
}
关键字段:
name:工具的唯一标识符description:AI 用这个字段理解工具用途inputSchema:JSON Schema 格式的参数定义required:必需参数列表
工具调用流程
用户:帮我搜索包含 "TODO" 的代码文件
AI 分析:需要调用 search_files 工具
↓
AI → Client → Server:tools/call 请求
{
"name": "search_files",
"arguments": {
"path": "/src",
"pattern": "*TODO*"
}
}
↓
Server 执行搜索,返回文件列表
↓
AI 解析结果,生成响应
↓
用户:找到 3 个包含 TODO 的文件...
Tools 最佳实践
1. 单一职责 每个 Tool 只做一件事,避免「万能工具」:
❌ 不推荐:
{
"name": "file_operations",
"description": "所有文件操作"
}
✅ 推荐:
AI 编程知识库会员专享内容
开通后解锁「三大核心原语:Tools、Resources、Prompts 深度解析」全文,AI 编程知识库全年访问
扫码添加企业微信,找大熊掌门开通会员

添加后说明想开通的会员类型即可