加载中...
返回AI 编程实战
AI 编程知识库 · AI 编程实战 · MCP 系统性进阶

三大核心原语:Tools、Resources、Prompts 深度解析

MCP 三大核心原语


原语概述:控制权的分配

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 编程知识库全年访问

扫码添加企业微信,找大熊掌门开通会员

企业微信二维码

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

加载中...