MCP与Skills核心区别详解

  • Skill = 一个功能(查天气、写代码、搜文档)
  • MCP = 管理所有功能的“总控系统/标准协议”
  • 关系:MCP 调度 Skills

一、先拆清楚两个词

1. Skills(技能)

通常指 AI 能独立完成的一件具体事,是能力单元

特点:

  • 粒度小、功能单一
  • 面向“做什么”
  • 常见于:Agent 技能库、插件、函数、API 封装

例子:

  • 查天气 skill
  • 写邮件 skill
  • 搜索网页 skill
  • 代码执行 skill
  • 画图 / 生成视频 skill

你可以理解:Skill = 一个可调用的“功能按钮”

2. MCP(Model Control Plane / Model Communication Protocol)

不同场景叫法略有差异,但核心一致:
MCP 是一套标准协议/架构,用来让大模型安全、统一、可扩展地调用外部能力(工具、插件、服务、数据库、设备等)。

重点:

  • 它是机制、通道、标准,不是具体功能
  • 负责:注册、发现、鉴权、调度、调用、返回、异常处理
  • 目标:让模型“安全可控地连外部世界”

常见作用:

  • 统一管理所有 Skills / 插件 / Tools
  • 做权限、配额、审计、隔离
  • 支持热插拔、多源接入(本地/云端/第三方服务)
  • 保证模型不会乱调用、越权

你可以理解:
MCP = 插座 + 电线 + 配电箱
Skills = 插在上面的电器(台灯、风扇、电饭煲)


二、核心区别

维度Skills(技能)MCP(模型控制/通信层)
本质具体功能/能力调用能力的协议/框架/通道
粒度细粒度,单个动作粗粒度,整套体系
关注点做什么、怎么做怎么管、怎么安全调用、怎么扩展
关系被调度、被执行的对象调度、管理、执行 Skills 的载体
开发视角写函数/封装 API定义接口规范、权限、生命周期、路由
典型场景天气、搜索、代码、画图、发消息Agent 平台、插件市场、多模型统一调用网关

一句话再浓缩:

Skills 是“能力”,MCP 是“让能力被安全、标准化使用的系统”。


三、放在 Agent / 智能体里看

一个标准智能体流程:

  1. 用户提问
  2. LLM 理解意图 → 判断需要哪些 Skills
  3. 通过 MCP 去:
    • 查找 Skill 是否存在
    • 检查权限/参数
    • 调用对应服务/函数
  4. Skill 执行并返回结果
  5. LLM 整合结果 → 回复用户

所以结构是:

1
用户 → LLM → [ MCP(调度/安全/路由) ] → Skills(实际干活) → 结果返回
  • 先配 MCP 再写 Skill:Skill 依赖 MCP 才能调用外部工具,顺序不能反
  • 触发条件要清晰:skill.md 里写明确的触发词,减少 AI 误判
  • 异常处理:MCP 配置超时、重试策略;Skill 里写错误提示(如 Token 失效、网络异常)

四、常见使用场景

  1. 开发提效:代码生成、代码审查、依赖安装(MCP 连 npm/GitHub,Skill 封装命令)
  2. AIGC 场景:文生图 / 视频(MCP 连 Stable Diffusion/FFmpeg,Skill 封装生成逻辑)
  3. 数据处理:CSV/Excel 分析、数据库查询(MCP 连 MySQL/Pandas,Skill 封装清洗与可视化)
  4. 自动化工作流:PRD→编码→测试→部署(SOLO 模式下,MCP 调度构建工具,Skill 处理各环节任务)

一、开发提效类(程序员高频)

这类场景核心是让 Trae 调用开发工具 / 服务,替代重复的手工操作,Skills 封装 “开发动作”,MCP 负责对接工具。

1. 代码质量检测(ESLint/Pylint/ 代码审查)

  • 场景描述:输入 “检查当前 Python 文件的代码规范”,Trae 自动调用代码检测工具,输出问题和修复建议。

  • MCP 分工:配置调用本地 ESLint/Pylint 命令(或接入 SonarQube API),定义命令路径、参数(如检测文件路径)、超时时间。

    json

    1
    2
    3
    4
    5
    6
    7
    
    // MCP配置示例(调用Pylint)
    {
      "name": "Python-CodeLint-MCP",
      "transport": "stdio",
      "command": "python",
      "args": ["-m", "pylint", "${filePath}", "--output-format", "json"]
    }
  • Skills 分工:封装触发词(“代码审查”“检查 Python 规范”)、参数(当前文件路径)、输出格式(提取错误行、修复建议)。

  • 使用方式:在 Trae 中打开 Python 文件,输入触发词,直接看到格式化的审查结果。

2. 依赖包管理(安装 / 升级 / 卸载 npm/pip 包)

  • 场景描述:输入 “给当前项目安装最新版 requests 包”,Trae 自动执行 pip 命令,返回安装结果。
  • MCP 分工:配置调用终端命令(pip/npm),指定项目根目录、包名参数,处理命令行输出。
  • Skills 分工:封装触发词(“安装 XX 包”“升级 npm 依赖”)、参数校验(包名是否合法)、异常提示(如包不存在、权限不足)。

3. 接口自动化测试(调用 Postman/Newman/ 自定义脚本)

  • 场景描述:输入 “测试用户登录接口”,Trae 自动调用 Postman 导出的测试集合,返回接口响应、状态码、断言结果。
  • MCP 分工:接入 Newman(Postman 命令行工具)或自定义 Python/Java 接口测试脚本,传递接口地址、请求参数、测试用例路径。
  • Skills 分工:封装触发词、接口参数映射、测试结果格式化(如 “✅ 登录接口测试通过:响应时间 120ms | ❌ 密码为空时未返回正确提示”)。

二、AIGC 创作类(内容生产)

这类场景核心是调用 AIGC 工具(画图 / 生视频 / 写文案),MCP 对接 AIGC API / 本地模型,Skills 封装创作规则。

1. 文生图 / 图生图(对接 Stable Diffusion/SD WebUI / 文心一格 API)

  • 场景描述:输入 “生成一张赛博朋克风格的程序员桌面图,分辨率 1024x768”,Trae 自动调用画图工具,返回图片文件 / 链接。

  • MCP 分工:配置对接 SD WebUI 的 API(或本地 SD 脚本),传递 prompt、分辨率、采样器等参数,处理图片返回逻辑。

    json

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    // MCP配置示例(对接SD WebUI API)
    {
      "name": "SD-ImageGen-MCP",
      "transport": "http",
      "method": "POST",
      "url": "http://127.0.0.1:7860/sdapi/v1/txt2img",
      "headers": {"Content-Type": "application/json"},
      "body": "{\"prompt\":\"${prompt}\",\"width\":${width},\"height\":${height}}"
    }
  • Skills 分工:封装触发词(“生成 XX 风格图片”)、参数校验(分辨率范围、prompt 规范)、结果处理(保存图片到项目目录 + 预览)。

2. 文案 / 文档自动生成(对接大模型 API + 自定义模板)

  • 场景描述:输入 “基于当前 Python 函数生成接口文档”,Trae 先调用 MCP 读取函数代码,再调用大模型 API 生成符合 OpenAPI 规范的文档。
  • MCP 分工:① 接入 “读取文件” 本地脚本(获取代码);② 接入 GPT / 文心一言 API(生成文档)。
  • Skills 分工:封装 “代码→文档” 的逻辑(先读代码→提取函数名 / 参数 / 返回值→拼接 prompt→调用大模型→格式化文档)、触发词(“生成接口文档”“写函数注释”)。

三、办公自动化类(职场通用)

这类场景核心是对接办公软件 / 服务,替代重复的办公操作,Skills 封装 “办公动作”,MCP 对接工具。

1. Excel 数据处理(比 CSV 更复杂的 Excel 分析 / 可视化)

  • 场景描述:输入 “统计 Excel 中各部门的销售额,生成柱状图并保存”,Trae 调用 pandas/openpyxl 处理 Excel,生成图片。
  • MCP 分工:配置调用 Python 脚本(依赖 openpyxl/matplotlib),传递 Excel 路径、统计维度(部门 / 日期)。
  • Skills 分工:封装触发词、异常处理(Excel 格式错误、sheet 不存在)、输出格式(表格 + 图片预览)。

2. 邮件自动发送(对接 SMTP / 企业邮箱 API)

  • 场景描述:输入 “给客户发送产品报价邮件,附件用 D:/ 报价单.pdf”,Trae 自动调用邮件服务,发送指定内容的邮件。

  • MCP 分工:配置 SMTP 服务(如 QQ 邮箱 SMTP),传递收件人、主题、正文、附件路径,处理发送状态。

    json

    1
    2
    3
    4
    5
    6
    7
    
    // MCP配置示例(调用发送邮件的Python脚本)
    {
      "name": "Email-Sender-MCP",
      "transport": "stdio",
      "command": "python",
      "args": ["${projectRoot}/scripts/send_email.py", "${recipient}", "${subject}", "${attachment}"]
    }
  • Skills 分工:封装触发词、参数校验(邮箱格式、附件是否存在)、模板(报价邮件固定正文)。


四、跨工具自动化类(工作流整合)

这类场景是多 MCP + 多 Skills 联动,实现 “一站式完成复杂任务”,核心是 Trae 的 Builder 模式串联多个 Skill。

示例:PRD→代码→测试→部署(全流程自动化)

  • 场景描述:输入 “基于 PRD 文档生成用户管理模块的 Python 接口代码,测试接口并部署到本地服务器”。

  • MCP 分工

    ① 对接 “读取 PRD 文档” 脚本(MCP1);

    ② 对接大模型 API 生成代码(MCP2);

    ③ 对接 Pytest 执行接口测试(MCP3);

    ④ 对接 Flask/Docker 命令启动服务(MCP4)。

  • Skills 分工

    ① Skill1:提取 PRD 中的接口需求(触发词 “解析 PRD”);

    ② Skill2:生成符合规范的接口代码(触发词 “生成用户管理接口”);

    ③ Skill3:执行接口测试(触发词 “测试接口”);

    ④ Skill4:部署服务(触发词 “部署本地服务”);

  • 使用方式:在 Trae Builder 模式中,将 4 个 Skill 按顺序串联,输入 PRD 路径即可自动完成全流程。


五、其他小众但实用的场景

  1. 数据库操作:MCP 对接 MySQL/PostgreSQL CLI 或 API,Skills 封装 “查询销售数据”“导出表结构”“批量更新数据” 等动作;
  2. 文件格式转换:MCP 调用 ffmpeg(视频转码)/pandoc(Markdown 转 PDF),Skills 封装 “MP4 转 GIF”“MD 转 Word” 等触发规则;
  3. 爬虫 / 数据采集:MCP 调用自定义爬虫脚本(Scrapy/Requests),Skills 封装 “爬取某网站商品价格”“采集知乎回答” 等逻辑;
  4. 设计稿转代码:MCP 对接 Figma/Sketch API(获取设计稿尺寸 / 颜色),Skills 封装 “Figma 转 Vue/React 代码”“提取设计稿颜色规范”。

核心规律(所有场景通用)

无论什么场景,MCP 和 Skills 的分工始终不变:

  1. MCP:只负责 “怎么对接外部工具”—— 定义调用方式(stdio/http/grpc)、路径 / API 地址、参数、超时 / 重试,不关心 “做什么业务”;
  2. Skills:只负责 “做什么 + 怎么呈现”—— 定义触发条件、业务逻辑(如 “统计部门销售额”)、参数校验、输出格式,不关心 “怎么调用工具”;
  3. 扩展技巧:新场景只需 “新增 MCP 对接新工具 + 新增 Skill 封装新业务”,无需修改 Trae 核心配置,符合 “热插拔” 特性。
原文链接: https://www.17you.com/ai/mcp%E4%B8%8Eskills%E6%A0%B8%E5%BF%83%E8%A7%A3%E6%9E%90/ 已复制!
一起薅AI羊毛

保持关注,记得把网址 (17you.com) 加收藏夹!有空经常来网站看看!我们每天都分享最新鲜、最实用的AI知识、最新动态、最新技术,以及最新的应用场景。

请点击联系我


相关内容