Claude Code CLI MCP配置很难?三种方式轻松掌握

前言

前面对Claude Code CLI有了基本了解,但是对于一些复杂的高级功能一笔带过没有进行深度了解和使用,今天对Claude Code CLI MCP配置做下深度探索和使用。对往期内容感兴趣的小伙伴也可以看往期内容:

Claude Code CLI MCP配置文件理解

在Claude Code CLI中MCP的配置文件可以分为 全局(用户)配置、项目配置 和 本地配置 3种,不同的配置生效范围不同:

  • 全局(用户)配置:存放在 /Users/username/.claude.json文件的mcpServers 配置下
  • 项目配置:存放在 /项目根目录/.mcp.json 文件
  • 本地配置:存放在 /Users/username/.claude.json 文件的 projects 配置下

安装方式大致可分为 原生命令行 和 插件可视化 2种配置方式,虽然也可以找到对应的MCP JSON文件手动配置,但是不推荐,因为手动配置出错几率更多,出问题后不易排查。

命令行配置

Claude Code CLI原生配置MCP的方法提供了很多配置命令,这里只列举探索一些常用的命令。

添加MCP

日常所见的MCP有 Stdio、SSE、HTTP 3种连接方式:

  • Stdio:英文全称是 Standard Input/Output,标准输入输出,是最常见的一种连接方式。MCP服务和MCP客户端运行在同一台电脑上,所有通讯都在计算机内部完成,无需通过互联网传输信息。
  • SSE:英文全称是 Server-Sent Events,是一种基于 HTTP 协议的服务端向客户端单向推送实时数据的技术,它允许服务器主动、持续地向已建立连接的客户端发送数据流,无需客户端频繁发起请求(如轮询),适用于实时通知、数据更新、日志推送等场景。客户端无法向服务器发送事件,客户端如果需要向服务器发送事件,就只能通过另一种方式HTTP。
  • HTTP:这种连接方式也可以叫做 Streamable HTTP(流式HTTP),客户端和服务器建立一个持久的 HTTP 连接后,这条连接就变成了一个双向通道。客户端可以随时通过这个通道向服务器发送请求,服务器也可以通过同一个通道向客户端推送数据或响应。

根据Claude Code CLI mcp指令说明,使用 mcp 指令添加MCP的基本语法格式如下,也可以理解为JSON格式配置文件的命令版本

shell 复制代码
# 默认为stdio类型
$ claude mcp add <name> <command> [args...]

添加Stdio MCP Server

Stdio连接方式的MCP有很多,以Fetch为例,JSON配置文件格式如下:

json 复制代码
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

将上面JSON形式转为MCP命令形式可以简单理解为将 command、args 等配置变为空格即可,命令如下:

sql 复制代码
$ claude mcp add fetch uvx mcp-server-fetch

可以看到上面Fetch MCP配置是单 args 的,如果是 多args 参数的MCP,需要在 <name> 和 <command> 之间加上 -- 特殊语法符号,主要作用是标记「选项结束」,用于明确区分命令的「选项参数」和「普通参数」,避免歧义。

典型的以Context7为例,配置文件格式如下:

perl 复制代码
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp"
      ]
    }
  }
}

转换为MCP命令格式如下:

ruby 复制代码
$ claude mcp add context7 -- npx -y @upstash/context7-mcp

-- 语法符号是必须的,如果不加标记符号就会出现报错

配置成功,可以在 /Users/username/.claude.json 文件的 projects 配置中看到MCP配置信息,当前MCP配置信息只会针对当前项目生效且不会被Git记录

添加SEE MCP Server

SSE类型MCP的原生添加的命令是在MCP基本语法上添加 --transport sse 参数,具体语法格式如下:

css 复制代码
$ claude mcp add --transport sse <name> <command> [args...]

以Context7为例,配置命令如下,其他参数配置同Stdio类型

shell 复制代码
$ claude mcp add --transport sse context7 https://mcp.context7.com/sse

添加HTTP MCP Server

HTTP类型MCP添加的命令是在MCP基本语法上添加 --transport http 参数,具体语法格式如下:

css 复制代码
$ claude mcp add --transport http <name> <command> [args...]

以Context7为例,配置命令如下,其他参数配置同Stdio类型

shell 复制代码
$ claude mcp add --transport http context7 https://mcp.context7.com/mcp

使用JSON形式添加

除了可以使用原生命令行形式配置MCP,Claude Code CLI还支持使用json形式配置,不过着实没什么必要,了解即可。

json 复制代码
$ claude mcp add-json context7 -s user '{"type": "stdio", "command": "npx", "args": ["-y", "@upstash/context7-mcp@latest"]}'

配置完成后,效果和原生命令行配置一致, 可以使用claude mcp list命令查看

指定项目安装MCP

上面【添加MCP】方式配置的MCP作用范围都是只针对当前项目生效且不会被Git记录,也就是不会在项目中展示MCP配置信息,这也意味着MCP配置无法在团队中共享。

如果我们想要MCP针对特定项目生效且还想被Git记录提供给团队使用,我们需要指定配置范围,增加参数 -s project 或者 --scope project,详细语法格式如下:

shell 复制代码
$ claude mcp add <name> -s project <command> [args...]

以Context7 MCP为例,完整指令如下:

ruby 复制代码
# 简写方式
$ claude mcp add context7 -s project -- npx -y @upstash/context7-mcp

# 完整命令
$ claude mcp add context7 --scope project -- npx -y @upstash/context7-mcp

执行完成后,会在项目工作区根目录会创建一个 .mcp.json 文件,实际上就是我们传统的MCP JSON配置形式

通过 .mcp.json 文件配置的MCP,使用 /claude 首次启动时会提示启动MCP服务

在Claude Code CLI中使用 /mcp 交互命令可以查看MCP详细信息

全局安装MCP

如果想全局安装MCP针对所有项目生效,可以指定配置范围为 -s user 或者 --scope user,完整语法格式如下:

shell 复制代码
$ claude mcp add <name> -s user <command> [args...]

以Context7为例,安装命令如下:

ruby 复制代码
# 简写方式
$ claude mcp add context7 -s user -- npx -y @upstash/context7-mcp

# 完整写法
$ claude mcp add context7 --scope user -- npx -y @upstash/context7-mcp

配置完成后,可以在 /Users/username/.claude.json 文件的 mcpServers 配置中看到MCP配置信息,当前MCP配置信息会针对所有项目生效且不会被Git记录

在终端输入如下命令,查看已配置MCP列表信息

查看MCP详情

查看MCP服务详细信息有2种方式,一种是通过 CLI命令,一种是通过 交互式命令

方式一:CLI命令

通过CLI命令获取MCP服务信息基本语法如下:

arduino 复制代码
$ claude mcp get <name>

以Context7为例,在命令行终端输入如下指令:

arduino 复制代码
$ claude mcp get context7

执行完成后会输出MCP相关信息(该方式无法查看MCP配置路径和工具信息)

方式二:交互式命令

进入Claude Code CLI,输入指令 /mcp 输出MCP相关信息

选择【View tools】可以查看MCP提供的所有工具列表

移除MCP

Claude Code CLI提供了移除MCP的的命令,基本语法格式如下:

arduino 复制代码
$ claude mcp remove <name>

以Context7为例,具体命令如下:

arduino 复制代码
$ claude mcp remove context7

如果同一个MCP同时指定了不同的配置范围(在全局、项目都配置了) , 移除时需要指定配置范围,即加上 -s 标识移除哪个指定范围配置

lua 复制代码
$ claude mcp remove "context7" -s project
$ claude mcp remove "context7" -s user
$ claude mcp remove "context7" -s local

JSON配置

该配置方式可以说是命令行配置的反向操作,在命令行配置方式中我们了解到,在Claude Code CLI中MCP的配置信息最终都是存储在 /Users/username/.claude.json 和 项目根目录/.mcp.json 文件的:

  • /Users/username/.claude.json:存储全局和本地MCP配置信息,
  • 项目根目录/.mcp.json:存储项目MCP配置

利用这个特点,我们可以直接通过对应配置文件对MCP进行 添加、修改 和 删除。

添加全局和本地MCP

首先使用编辑器打开 /Users/username/.claude.json 文件,添加全局MCP找到最外层 mcpServers 配置,在 mcpServers 内添加MCP配置

保存配置文件,在在命令行终端使用 claude mcp list 命令查看MCP信息

添加本地MCP首先在配置文件中找到项目路径下的 mcpServers 配置,在 mcpServers 内添加MCP配置

保存配置文件,在在命令行终端使用 claude mcp list 命令查看MCP信息

添加项目MCP

添加项目MCP,首先在项目根目录创建 .mcp.json 配置文件

保存配置文件,在在命令行终端使用 claude mcp list 命令查看MCP信息

Claude Code可视化配置

可视化配置主要是用Claude Code Chat插件提供的可视化MCP配置功能,对Claude Code Chat插件感兴趣的小伙伴可以看往期内容:
不习惯终端黑窗口?Claude Code Chat可视化插件猜你会喜欢

总结

此次主要介绍了为Claude Code CLI使用 命令行 和 可视化 方式添加MCP的基本操作,无疑使用可视化操作是最简单的,按照可视化配置即可快速配置。使用命令行的小伙伴也不用担心命令记不住,随着Claude Code CLI的普遍使用,很多MCP说明文档都贴心的提供了Claude Code CLI MCP添加命令,比如Context7几乎提供了所有MCP客户端的配置方式。

友情提示

见原文:Claude Code CLI MCP配置很难?三种方式轻松掌握

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。友情提示友情提示

相关推荐
佛喜酱的AI实践14 小时前
Claude Code配置魔法:从单人编程到专属AI团队协作
人工智能·claude
哪吒编程14 小时前
谁是最强编程大模型?横向对比GPT-5、GPT-5 Codex、Claude Sonnet 4.5、Gemini 2.5 Pro
gpt·chatgpt·claude
飞哥数智坊17 小时前
Cursor 不设限:竟然直接支持 Claude Code 配置
ai编程·claude·cursor
量子位1 天前
别Claude Code了,一个国产免费命令行就够了
claude
CoderLemon2 天前
告别重复编码:Claude Code 自动化开发全流程详解——启航篇-00
人工智能·claude
yaocheng的ai分身3 天前
claude code 插件市场
ai编程·claude
yaocheng的ai分身3 天前
通过插件自定义 Claude Code
ai编程·claude
win4r4 天前
⚡️ 震撼!Claude Code插件系统来了!一行命令打包整套工作流,团队协作效率提升10倍,从此告别复杂配置,这个功能太强大了!
ai编程·claude·vibecoding
下位子4 天前
『AI 编程』用 Claude Code 从零到一开发全栈减脂追踪应用
前端·ai编程·claude