深入理解 Claude Code 的 Skills、MCP 与 Plugin:它们到底有什么区别

发布时间:2026/9/29 3:18:51

深入理解 Claude Code 的 Skills、MCP 与 Plugin:它们到底有什么区别 从 Playwright 插件源码出发搞清楚三种扩展机制的运行方式、进程模型与适用场景引言在使用 Claude Code 的过程中我安装了一个 Playwright 插件用于浏览器自动化操作。但随之而来一系列疑问这个插件到底装了什么它是 Skill、MCP Server 还是 Plugin它们之间有什么区别.claude/目录下哪些地方可以放自定义脚本本文记录了我的完整探索过程。一、从一个 Playwright 安装说起我在 Claude Code 的settings.json中加了一行配置{enabledPlugins:{playwrightclaude-plugins-official:true}}重启后我的工具列表多了 24 个浏览器工具browser_navigate、browser_click、browser_snapshot等。那么问题来了——这些工具是怎么来的1.1 从插件到 MCP Server安装的插件文件位于C:\Users\用户名\.claude\plugins\cache\claude-plugins-official\playwright\关键文件是.mcp.json{playwright:{command:npx,args:[playwright/mcplatest]}}所以这个插件本质上就是一个配置封装——它告诉 Claude Code启动时通过npx拉起playwright/mcp这个 MCP Server。1.2 真正干活的代码在哪里MCP Server 的实际代码在 npx 的缓存目录%LOCALAPPDATA%\npm-cache\_npx\9833c18b2d85bc59\node_modules\playwright\mcp\ ├── package.json → playwright/mcp v0.0.78由 Microsoft 维护 ├── cli.js → 入口调用 playwright-core 的 MCP 工具注册函数 └── index.js → 导出 createConnection 依赖 ├── playwright → v1.62.0-alpha ← 真正的浏览器控制引擎 └── playwright-core → v1.62.0-alpha ← MCP 协议实现调用路径如下Claude Code └─ 启动时 spawn npx playwright/mcp常驻进程PID 41664 └─ node cli.js └─ 加载 playwright-core └─ 启动 Chromium 浏览器实例 └─ 等待 JSON-RPC 指令我在终端验证了这一点——电脑上确实有 4 个 node 进程在跑其中 2 个是npx壳进程2 个是cli.jsMCP Server一个是旧实例一个是当前活跃实例。二、Skill、MCP、Plugin 的三角关系通过 Playwright 和另一个开源项目 claude-vision-skill 的对比我搞清了三种模式的区别。2.1 三种模式对比表维度SkillMCP ServerPlugin本质注入到 Claude 的 prompt 指令独立运行的常驻进程Skill MCP Hook 的打包有进程吗无有node 常驻进程取决于内含什么通信方式纯文本写在 prompt 里stdin/stdout JSON-RPC组合上述两种安装方式放.claude/skills/name/SKILL.md放.mcp.json或settings.json/plugin install自动下载何时用告诉 Claude 怎么想/怎么做需要运行时代码浏览器、数据库、API一个功能需要多部分配合2.2 案例分析claude-vision-skill这个开源项目的文件结构非常简单claude-vision-skill/ ├── CLAUDE.md ← 告诉 Claude遇到图片不要用 Read调 node vision.js └── vision.js ← 一个独立脚本调千问 VL API 识图vision.js不是常驻进程被node vision.js xxx.jpg一次性调用就退出。所以它天然适合用Skill方式接入。接入方法把CLAUDE.md改名为SKILL.md顶部加上 YAML frontmatter--- name: vision description: 让无识图能力的模型通过调用千问 VL API 实现识图 --- # 识图能力 你的底层模型不具备原生识图能力。遇到图片时**不要用 Read 工具** 改用 vision.jsnode vision.js 图片路径 用中文描述这张图片然后放入.claude/skills/vision/SKILL.mdvision.js放入同目录scripts/下。2.3 决策流程当你拿到一个开源仓库按下面的线索判断看仓库里有什么文件 │ ├── 只有 .md / prompt 文件 │ → Skill不需要二进制放 .claude/skills/ │ ├── 有 package.json bin 入口如 cli.js │ → MCP Servernpx 启动配置在 .mcp.json │ └── 同时有 .mcp.json plugin.json skill 提示词 → Plugin走 /plugin install三、.claude/目录的标准结构经过查证官方推荐的.claude/目录结构如下项目根目录/ ├── CLAUDE.md ← 项目说明自动加载 ├── .mcp.json ← MCP Server 定义 ├── .claude/ │ ├── settings.json ← 项目级配置 │ ├── settings.local.json ← 本地配置不提交 git │ ├── commands/ ← 自定义斜杠命令/xxx │ │ └── deploy.md │ ├── agents/ ← 子智能体定义 │ │ └── code-reviewer.md │ ├── skills/ ← 技能 │ │ └── vision/ │ │ ├── SKILL.md ← 技能说明 │ │ └── scripts/ ← 技能引用的脚本 ✅ │ │ └── vision.js │ └── rules/ ← 条件规则glob 匹配加载 │ └── frontend.md关键结论Skill 的scripts/目录可以放源码——这是设计意图不是滥用普通项目脚本不要放.claude/下——它们是通用工具属于项目scripts/目录没有.claude/tools/这个目录——这是我之前猜的经查证并不存在四、附加思考npm vs npx vs pipx在探讨二进制管理方式时还延伸出了关于包管理的对比。4.1 npm 的隔离方式npm install局部 npm install -g全局 ─────────────── ───────────────── node_modules/ 全局 node_modules/ ├── package-a/ 所有包混在一起 ├── package-b/ 升级冲突是常态 └── package-c/ └── node_modules/ ← 冲突时嵌套解决 └── dep2.0/Node 生态不太需要 “pipx 等价物”因为npm install默认局部隔离且有嵌套解决冲突的能力。4.2 Python 为什么需要 pipx# pip 的 site-packages 是**纯扁平**的site-packages/├── package_a/├── package_b/├── dep_x/← 只有一个版本A 和 C 冲突即炸 └── dep_y/所以 Python 需要 pipx/venv 做物理隔离。4.3 快速对照场景NodePython局部隔离npm install天生venvpip install全局隔离不太需要pipx install✅即用即走npx缓存 14 天pipx run依赖冲突处理嵌套 node_modules不支持靠 venv 物理分隔五、总结Skill 注入 prompt 的文字指令可附带脚本在scripts/目录MCP Server 常驻后台进程通过 JSON-RPC 与 Claude Code 通信Plugin Skill MCP Hook 的打包一键安装区分三者的最快方法看仓库里有没有package.json bin 入口.claude/skills/是放自定义 Skill 和脚本的正确位置Python 工具用pipxNode 工具用npx/局部npm install各取所需本文基于 Claude Code DeepSeek v4-pro 环境实测所有进程状态、文件路径均为真实输出。
延伸阅读

更多相关文章

2026/9/23 14:05:11

被动式太阳能遮阳系统优化建模与NSGA-II算法应用

1. 项目背景与问题定义 2026年MCM美赛E题聚焦于被动式太阳能遮阳系统的优化设计,这是一个典型的工程与数学建模交叉课题。被动式太阳能技术作为建筑节能领域的重要研究方向,其核心在于不依赖主动能源输入,仅通过建筑本身的物理特性&#xff0…

2026/9/27 23:54:39

3分钟快速上手:跨平台资源下载神器res-downloader完整使用指南

3分钟快速上手:跨平台资源下载神器res-downloader完整使用指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你…

2026/9/21 18:53:37

PathOfBuilding深度解析:掌握流放之路终极构建规划工具

PathOfBuilding深度解析:掌握流放之路终极构建规划工具 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding PathOfBuilding(PoB)作为流放之…

2026/9/29 3:14:12

StarNet深度学习去星:深空摄影后期星点分离实战指南

1. 先聊聊StarNet到底是干什么的从我开始拍深空照片那天起,就一直在跟一个老问题较劲:恒星永远挡在星云前面。拍摄猎户座大星云 M42 的时候,核心区域那几颗亮星周围一圈圈衍射芒,怎么看怎么碍眼。拍面纱星云的时候,暗弱…

2026/9/29 3:14:12

基于Dify的AI复盘工作流:从散乱文本到结构化报告

前阵子整理自己手头的项目复盘材料、客服聊天记录和用户反馈时,我意识到一个问题:每次想认真回顾一件事,最后都变成“当时要是……就好了”。这种状态特别典型——事后看全是正确答案,但当时没人看见。这正是英语里的 hindsight&a…

2026/9/29 3:14:12

基于Go的GaussDB只读MCP服务:为Claude Code构建安全数据查询通道

1. 为什么我要给 Claude Code 配一个只读的 GaussDB 通道先说结论:我写了一个用 Go 实现的 MCP 服务,把 GaussDB 的查询能力以只读方式暴露给 Claude Code。它解决的核心问题是——我想让 AI 帮我查数据、写 SQL、分析表结构,但绝对不能让它在…

2026/9/29 3:14:12

复杂系统数字孪生:从可视化大屏到智能仿真引擎的跃迁

简介:一份关于复杂系统数字孪生的Word文档,面向工业互联网、智能制造领域的研究者与工程师,系统梳理了数字孪生从单元级到系统级的演进路径,并围绕GE智能电厂IGCC场景解析典型应用。内容覆盖产品生命周期各阶段孪生模型的融合、P-…

2026/9/29 3:14:12

智能硬件四维协同:板卡、固件、云端、App的契约化开发实践

1. 为什么智能硬件项目总在“最后一公里”集体失速?“板卡还没回厂,固件还在debug,云端API刚跑通,App提测被拒三次”——这几乎是我过去八年带过的23个智能硬件项目里,90%以上团队在Q3末期脱口而出的原话。不是没人加班…

2026/9/29 3:09:11

GLSL语法规范深度拆解:从BNF到Shader编译错误排查

说一下我对这个标题的直觉。很多OpenGL开发者,写了几年shader,GLSL代码能跑能出画面,但很少人真正翻开过规范最后那几十页——OpenGL Shading Language Specification里的Shading Language Grammar,也就是GLSL的语法规范英文原版。…

2026/9/28 3:03:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/28 6:07:41

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 0:04:04

AI Evals实战指南:从零搭建LLM应用评估体系与CI/CD集成

1. 为什么AI Evals值得你花时间搞明白做LLM应用的人,迟早会撞上同一堵墙:模型输出飘忽不定,今天答得好好的,明天换个问法就胡说八道。你改了一版提示词,感觉好像好了点,但到底好了多少?说不清。…

2026/9/29 0:04:04

Java采购管理系统实战:从数据库设计到事务一致性

简介:这是一套面向Java Web初学者与课程设计者的采购管理系统完整源码,采用JSP技术搭建,配合MySQL数据库,用于解决企业采购信息的管理问题,适合作为毕业设计、课程大作业或进销存类项目的参考模板。系统实现了用户登录…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/28 1:59:25

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑