Claude Code :Skills、MCP、Plugin 安装目录、权限问题

Claude Code :Skills、MCP、Plugin 安装目录、权限问题

最近在用 Claude Code 做项目,踩了不少坑,特别是扩展系统的权限管理这块。把经验整理一下,希望对大家有帮助。

前言

Claude Code 的扩展系统有三种类型:Skills、MCP Servers、Plugins。刚开始用的时候,我经常搞混它们的安装位置和权限控制,导致插件在某个项目里不生效,或者配置改了半天没反应。

这篇文章把这三种扩展的安装目录、配置方式、权限层级整理清楚,方便大家查阅。


一、三种扩展类型概览

先上一张对比表,心里有个数:

特性 Skills MCP Servers Plugins
安装位置 ~/.claude/skills/.claude/skills/ 配置在 settings.json ~/.claude/plugins/
文件格式 Markdown (.md) JSON 配置 目录 + 配置
调用方式 /skill-name 自动加载工具 自动加载功能
禁用方式 删除文件 "disabled": true "enabledPlugins": false
典型用途 自定义工作流、模板 外部工具集成 功能扩展包

二、Skills:技能文件

Skills 是最简单的扩展形式,本质上就是 Markdown 文件。

安装目录

bash 复制代码
# 用户级(所有项目生效)
~/.claude/skills/

# 项目级(仅当前项目生效)
.claude/skills/

使用方式

在目录下放一个 .md 文件,然后通过 /skill-name 调用。比如你放了一个 code-review.md,就可以用 /code-review 来使用它。

权限规则

  • 项目级 Skills 优先级高于用户级
  • 同名文件会被项目级覆盖
  • 删除文件就等于禁用,没有其他开关

三、MCP Servers:模型上下文协议服务

MCP 是用来集成外部工具的,比如文件系统操作、数据库访问等。配置相对复杂一些。

配置位置

MCP 的配置写在 settings.json 里,有三个层级:

bash 复制代码
# 用户全局配置
~/.claude/settings.json

# 项目级配置(可提交 Git)
.claude/settings.json

# 项目本地配置(不提交 Git)
.claude/settings.local.json

配置示例

json 复制代码
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@anthropic/mcp-filesystem"]
    },
    "project-db": {
      "command": "node",
      "args": ["./mcp-server.js"],
      "env": {
        "DB_URL": "postgresql://localhost/mydb"
      }
    }
  }
}

禁用单个 MCP Server

在配置里加 "disabled": true

json 复制代码
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@anthropic/mcp-filesystem"],
      "disabled": true
    }
  }
}

常用命令

bash 复制代码
# 添加 MCP Server
claude mcp add <name> <command>

# 列出所有 MCP Server
claude mcp list

# 移除 MCP Server
claude mcp remove <name>

四、Plugins:插件扩展

Plugins 是功能最完整的扩展,但权限控制也最让人困惑。

安装目录

javascript 复制代码
~/.claude/plugins/

插件安装到用户级目录后,理论上所有项目都能用。但这里有个坑:还需要在 settings 里显式启用

启用配置

~/.claude/settings.json 里配置:

json 复制代码
{
  "enabledPlugins": {
    "my-plugin": true,
    "code-formatter": true
  }
}

项目级禁用

如果某个项目不想用某个插件,可以在项目级 settings 里覆盖:

json 复制代码
// .claude/settings.json
{
  "enabledPlugins": {
    "my-plugin": false
  }
}

这个设置会覆盖全局配置,但只对当前项目生效。


五、配置优先级

这是最容易踩坑的地方。Claude Code 的配置采用三层覆盖机制:

bash 复制代码
项目本地配置 (.claude/settings.local.json)
    ↓ 覆盖
项目级配置 (.claude/settings.json)
    ↓ 覆盖
用户全局配置 (~/.claude/settings.json)

优先级从高到低:项目本地 > 项目级 > 用户全局

举个例子:

  1. 全局配置里启用了 my-plugin: true
  2. 项目级配置里设置了 my-plugin: false
  3. 最终结果:该项目里 my-plugin 是禁用的

settings.local.json 的作用

.claude/settings.local.json 不会被提交到 Git,适合放一些个人偏好或者敏感配置。比如:

json 复制代码
{
  "mcpServers": {
    "personal-db": {
      "command": "node",
      "args": ["./my-personal-server.js"],
      "env": {
        "DB_PASSWORD": "xxx"
      }
    }
  }
}

六、实际使用建议

1. Skills 适合什么场景?

  • 代码审查模板
  • 提交信息规范
  • 常用的代码片段
  • 团队共享的工作流

2. MCP Servers 适合什么场景?

  • 文件系统操作
  • 数据库查询
  • API 调用
  • 外部工具集成

3. Plugins 适合什么场景?

  • 代码格式化
  • AI 辅助功能
  • 复杂的工作流扩展

4. 权限管理最佳实践

bash 复制代码
# 全局配置放通用的、大家都需要的
~/.claude/settings.json

# 项目配置放项目特定的、需要版本控制的
.claude/settings.json

# 本地配置放个人的、敏感的
.claude/settings.local.json

七、常见问题

Q: 插件安装了但不生效?

检查两件事:

  1. enabledPlugins 里是否设置为 true
  2. 项目级配置是否覆盖了全局设置

Q: MCP Server 配置了但没反应?

bash 复制代码
# 先检查配置是否正确
claude mcp list

# 如果配置有问题,重新添加
claude mcp remove <name>
claude mcp add <name> <command>

Q: 想在某个项目里禁用全局插件?

在项目根目录创建 .claude/settings.json

json 复制代码
{
  "enabledPlugins": {
    "plugin-name": false
  }
}

Q: 配置改了需要重启吗?

运行 /reload-plugins 重新加载,不需要重启 Claude Code。


总结

三种扩展类型各有用途:

  • Skills:最简单,就是 Markdown 文件,适合模板和工作流
  • MCP Servers:配置驱动,适合外部工具集成
  • Plugins:功能最完整,但权限控制最复杂

权限控制的关键是理解三层配置的优先级:项目本地 > 项目级 > 用户全局。遇到插件不生效的问题,先检查配置层级是否冲突。


相关推荐
lulu12165440782 小时前
Codex Computer Use 深度分析:AI桌面自动化的技术突破与行业影响
java·运维·人工智能·自动化·ai编程
JavaGuide2 小时前
Claude Code 怎么学?推荐 4 个高质量开源教程,从入门到实战
github·ai编程·claude
Holman2 小时前
Claude Code 工程化:从"偶尔惊艳"到"稳定输出"
ai编程
代码简单说2 小时前
Codex接入DeepSeek教程:使用CC-Switch配置API渠道(图文详解)
openai·ai编程
沈麽鬼2 小时前
【人机协作:AI 编程高效落地指南】提示词篇:AI指挥提示词体系
ai编程·cursor·vibecoding
sweet丶2 小时前
Git Worktree 与AI Coding 协作并行开发
ai编程
沈麽鬼2 小时前
【人机协作:AI 编程高效落地指南】原理篇:AI Coding 底层认知
ai编程·cursor·vibecoding
沈麽鬼2 小时前
【人机协作:AI 编程高效落地指南】生态篇:配套工具与入门方案(1)
ai编程·cursor·vibecoding