ai-cli-claude
本文介绍了AI命令行工具claude-code的安装、配置和使用方法。主要内容包括: 安装准备:需先安装Node.js和Git 安装claude-code:通过npm全局安装 配置GLM-4.6模型:注册智谱AI获取API Key并设置环境变量 常用命令:包括交互式会话、非交互式输出、调试日志、权限控制等 卸载方法:通过npm或brew卸载 该工具支持通过命令行与AI模型交互,提供多种输出格式和权
ai-cli
用来记录当前比较流行的ai-cli的安转、使用和卸载命令,记录以备忘
claude code
所接触的第一个ai-cli当然要放在第一位,这里主要介绍claude code的安装、使用、卸载、CLAUDE.md文件的撰写以及相关命令的介绍和使用方法,还有MCP是怎么在ai-cli中使用的
安装
在国内,anthropic本家的claude大模型,根本不能够使用,即使能够使用费用也很高。所以,在这里使用GLM-4.6 + Claude code来进行配置
需要使用的其他辅助工具:Node.js(在安装之后会自动安装npm)、Git
安转Node.js
# Windows系统
1. 访问官网:https://nodejs.org/zh-cn/
2. 最好下载LTS版本(长期支持版本)的安装包
3. 双击下载的.msi文件,之后一路点击next
4. 修不修改安装路径,看个人喜好吧。但是要确保勾选了Add to PATH (好像默认也是勾选的)
5. 最后安装的其他工具,就是使node、npm在之后的过程中,更不容易出错,推荐勾选上
# Mac OS
# 推荐使用Homebrew,安装方法
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装node.js
brew install node
# Linux OS(以Ubuntu为例)
#1. 使用官方库
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
#2. 使用apt
sudo apt update
sudo apt install nodejs npm
# 验证安装
node --version
npm -v 或者 npm --version
#1. npm可以配置镜像进行下载加速,可以使用腾讯的,也可以使用淘宝的
npm config set registry https://registry.npmmirror.com/
#2. 设置全局安装路径
npm config set prefix "D:\nodejs\npm_global" # Windows
npm config set prefix "~/.npm-global" # macOS/Linux
#3. 将全局路径添加到环境变量
Windows:在系统变量 PATH 中添加 D:\nodejs\npm_global
macOS/Linux:在 ~/.bashrc 或 ~/.zshrc 中添加 export PATH=~/.npm-global/bin:$PATH
#4. 验证配置
npm config list
安装Git
Windows
- 访问官网:https://git-scm.com/install/windows
- 选择适合你自己系统的安装包
- 双击下载的.exe文件
# mac用户
# 安装Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装Git
brew install git
# Linux(Ubuntu用户)
# 更新包列表
sudo apt update
# 安装Git
sudo apt install git
# 验证安装
git --version
安装Claude Code
# 直接使用全局安转
npm install -g @anthropic-ai/claude-code
# 检查安转
claude --version
配置GLM-4.6
这个配置就是先去智谱AI开放平台注册一下申请一个API-Key,然后写入到系统环境变量中就可以了。当然多少是需要花费一点的,不过刚注册人家也很大方地送你不少Token。
-
注册并获取API-Key
智谱AI开放平台:https://bigmodel.cn/console/overview
-
配置环境变量(个人的、系统的都可以)
# 在 PowerShell 中运行以下命令 # 注意替换里面的 `your_zhipu_api_key` 为您上一步获取到的 API Key [System.Environment]::SetEnvironmentVariable('ANTHROPIC_AUTH_TOKEN', 'your_zhipu_api_key', 'User') [System.Environment]::SetEnvironmentVariable('ANTHROPIC_BASE_URL', 'https://open.bigmodel.cn/api/anthropic', 'User') [System.Environment]::SetEnvironmentVariable('CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC', '1', 'User') # 也可以直接在图形化界面中进行操作配置 # 还可以再claude安装目录下面,创建一个setings.json文件,写入如下内容: { "env": { "ANTHROPIC_AUTH_TOKEN": "你的apikey", "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic", "API_TIMEOUT_MS": "3000000", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air", "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6", "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6" } } # 配置完成这个再配置Git的bash路径,也就是claude在后台执行命令的环境 CLAUDE_GIT_BASH_PATH = Your git-bin path # 额外多加一个 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = 1
测试
随便打开一个目录,右键,在终端中打开
然后输出claude,回车就可以正常使用了
卸载
# Windows/Linux 用户
npm uninstall -g claude-code
# Mac用户
brew uninstall claude-code
# 验证卸载
claude --version # 如果显示命令不存在,说明已成功卸载
常用命令总结
在这个板块分为两个部分:
1.在终端中直接使用claude 【option】【args】
2.在claude对话窗口中可以使用的命令
终端环境
基本用法
- claude:默认进入交互式会话
- claude "你的prompt":带初始问题进入交互式
- claude -p "你的prompt" / claude --print "...":非交互,一次性输出后退出(适合管道/脚本)
输出/输入格式(主要配合 --print)
- --output-format text|json|stream-json:输出格式(仅对 --print 生效)
- text:纯文本(默认)
- json:单次 JSON 结果
- stream-json:流式 JSON(实时输出)
- --input-format text|stream-json:输入格式(仅对 --print 生效)
- --include-partial-messages:流式输出时包含“分片/增量”消息(仅 --print + --output-format=stream-json)
- --json-schema <schema>:要求输出符合给定 JSON Schema(做结构化结果校验很有用)
- --replay-user-messages:在 stream-json 输入/输出模式下,把 stdin 的用户消息回显到stdout(用于对账/ACK)
调试与日志
- -d, --debug [filter]:开启 debug,可用分类过滤(如 "api,hooks" 或 "!statsig,!file")
- --verbose:覆盖配置里的 verbose 设置
- --mcp-debug:已废弃(提示用 --debug 代替)
权限与安全(很重要)
- --permission-mode default|acceptEdits|dontAsk|plan|bypassPermissions:本次会话的权限策略
- --dangerously-skip-permissions:直接绕过所有权限检查(高风险,只建议无网沙箱)
- --allow-dangerously-skip-permissions:允许“绕过权限”成为可选项,但默认不启用
- 注意:-p/--print 模式会跳过 workspace trust 对话框,只在你信任的目录用
工具与目录访问控制
- --tools <tools...>:指定可用内置工具集合(仅 --print 生效)
- "" 禁用全部工具,default 启用默认集合,或显式如 Bash,Edit,Read
- --allowed-tools <tools...>:允许的工具白名单(可逗号或空格分隔,支持像 Bash(git:*) 这种限定)
- --disallowed-tools <tools...>:禁止的工具黑名单
- --add-dir <directories...>:额外允许工具访问的目录
MCP / 插件 / 扩展
- --mcp-config <configs...>:从 JSON 文件或 JSON 字符串加载 MCP server 配置
- --strict-mcp-config:只使用 --mcp-config 指定的 MCP,忽略其他来源
- --plugin-dir <paths...>:本次会话临时加载插件目录(可重复)
模型与提示词
- --model <model>:指定模型(可用别名如 sonnet/opus,或完整模型名)
- --fallback-model <model>:默认模型拥堵时自动回退(仅 --print)
- --system-prompt <prompt>:覆盖系统提示词
- --append-system-prompt <prompt>:在默认系统提示词后追加
- --agents <json>:定义自定义 agents(JSON 对象)
会话管理
- -c, --continue:继续最近一次对话
- -r, --resume [sessionId]:恢复指定会话(不传则交互选择)
- --fork-session:恢复时另起新 session id(不覆盖原会话)
- --session-id <uuid>:指定本次会话使用的 session id
配置来源
- --settings <file-or-json>:额外加载设置(JSON 文件路径或 JSON 字符串)
- --setting-sources <sources>:设置来源(user, project, local 组合)
IDE 集成
- --ide:启动时自动连接 IDE(仅当恰好有一个可用 IDE)
常用子命令(Commands)
- claude mcp:管理/配置 MCP servers
- claude plugin:管理 Claude Code 插件
- claude setup-token:设置长期 token(需订阅)
- claude doctor:检查自动更新器健康状态
- claude update:检查并安装更新
- claude install [stable|latest|<version>]:安装原生构建版本(可指定目标版本)
- claude migrate-installer:从全局 npm 安装迁移到本地安装
- 以及 -v/--version、-h/--help
上面这么多,我都不想看,所以就有了下面极其好用的几个命令总结:
- claude 直接启动交互命令
- claude “prompt” 根据你的提示词运行一次任务,并返回
- claude -p “prompt” 运行一次并返回
- claude -c 继续最近一次的对话
- claude -r 恢复之前的对话
- claude --help 查看所有的可用选项参数
- claude commit 创建git提交
- claude --dangerously-skip-permissions 免授权模式,跳过频繁权限认证
交互式环境
核心入口(输入前缀)
- !:进入 bash mode(直接写命令风格的交互)
- /:命令面板(会话内命令)
- @:快速插入文件路径/引用文件
- \#:memorize(把信息写入“记忆/偏好”,便于后续会话沿用 \ 是转义作用)
编辑与输入
- 双击 Esc:清空当前输入框
- \ + Enter:插入换行(在同一条输入里写多行)
- Ctrl + _:撤销(undo)
- Alt + v:粘贴图片
会话控制
- Alt + m:自动接受 edits(减少每次修改确认的打断)
- Ctrl + o:切换 verbose 输出
- Ctrl + t:显示 todos
- Tab:切换 thinking(是否展示/启用思考模式)
- Tab(在顶部标签处):在 general / commands / custom-commands 间循环切换
上面提到的都是泛化的命令集,下面来点细糠品品,主要还是/命令前缀用法:
- /model 切换底层模型
- /init 将当前目录初始化为,claude的工作目录
- /clear 清除对话历史
- /compact 清空对话历史但保留摘要在上下文中 /compact [摘要指令]
- /help 显示帮助信息,也就是上面我提到的那一大段
- /cost 显示当前会话消耗的Token
- /context 显示当前上下文占用
- /exit(quit) 退出claude
- /agents 管理Agent配置
- /config 打开配置面板
- /export 导出当前对话到文件或者剪贴板
- /hook 管理工具事件的hook配置
- /login 登录Anthropic
- /logout 退出登录
- /memeory 编辑claude memory文件
- /mcp 管理MCP servers
- /migrate-install 从全局npm安装迁移至本地安装
- /output-style 直接设置输出风格(或从菜单选择)
- /resume 继续/恢复某个会话
- /review Review一个Pull Request
- /rewind 把代码和/或对话恢复到之前的某个点
- /status 显示claude 状态
- /statusline 设置 Claude Code 状态栏 UI
- /tasks(bashes) 列出并管理后台任务
- /terminal-setup 安装 Shift+Enter 换行的终端按键绑定
- /todos 列出当前 todo 项
- /vim 在 Vim 与普通编辑模式间切换
- /pause 暂停任务
CLAUDE.md撰写
编写
CLAUDE.md文件是充分利用 Claude Code 的一项关键实践。可以将其看作是专门为人工智能代理准备的一套指令或项目指南。通过提供关于项目的清晰、结构化的信息,您可以帮助Claude 理解上下文、遵循约定,并更准确、高效地执行任务。CLAUDE.md是一个特殊的 Markdown 文件,每当您在代码仓库中启动会话时,Claude Code 都会自动读取并将其纳入上下文。它的主要功能是记录:
- 项目背景:项目的目的、技术栈和架构;
- 关键命令:用于构建、代码检查和测试项目的 Shell 命令;
- 编码规范:风格指南、命名约定和必需的格式;
- 工作流程:关于测试、创建拉取请求或处理 Git 分支的说明;
- 仓库特定怪癖:项目特有的任何异常行为或设置要求。
如何创建和使用CLAUDE.md?
自动初始化:最简单的方法是在您的项目目录中运行
/init命令。Claude 会分析您的代码库——查看像package.json这样的文件,甚至其他工具(如 Cursor 或 GitHub Copilot)的规则——并为您生成一个具有良好起点的CLAUDE.md文件手动创建手动创建:您可以手动创建该文件。将其放置在以下任一位置最为有效:
项目根目录:最常见的位置。将此文件检入 Git 可以让整个团队受益于相同的指令;
父目录或子目录:对于单体仓库(monorepos)很有用,根目录的
CLAUDE.md可以提供通用规则,而子目录文件可以添加更具体的上下文;主文件夹:位于
~/.claude/CLAUDE.md的文件将全局偏好设置应用于您所有的 Claude Code 会话。CLAUDE.md文件中应该包含哪些内容?
一个好的
CLAUDE.md文件应该是简洁、易于人类阅读且结构清晰的。考虑包含以下部分:
- 仓库概览:项目目的和目标的简要总结;
- 技术栈:使用的主要语言、框架和库;
- 常用命令:开发、测试和构建所需的基本命令列表。这可以避免 Claude 费力查找它们;
- 代码风格和约定:关于格式化、导入/导出语法、命名约定和错误处理的说明。明确表达您的偏好。
- 测试说明:如何运行整个测试套件,更重要的是,如何运行单个测试以获得更好的性能;
- 工作流程和 Git 规则:分支命名、提交信息格式(例如,约定式提交 Conventional Commits)和拉取请求流程的指南;
- 个性化:您甚至可以包含关于 Claude 应如何与您互动的说明,例如用昵称称呼您。
编写最佳实践:
像对待任何重要的提示(prompt)一样对待您的
CLAUDE.md。持续优化它以获得更好的结果。
- 具体且可操作:不要写“测试代码”,而应写“使用
npm run test:unit运行单元测试”;- 使用结构:使用 Markdown 标题、列表和代码块来组织文件,使其易于人类和 AI 解析;
- 提供示例:对于像提交信息格式这样的规则,提供一个清晰的良好提交信息示例;
- 迭代和调整:如果 Claude 没有遵循某条指令,尝试换种说法。您可以使用“重要”(IMPORTANT)或“必须”(YOU MUST)等词语来强调,以提高遵循度。您还可以在会话期间使用
#键快速向文件添加新指令。最后:
在刚开阶段,可以直接使用**自然语言**来直接撰写CLAUDE.md文档,不过需要有一个结构清晰的、步骤明确、任务分明的布局。
精髓—>在于把整个项目拆成若干个子项目,然后对每个子项目,再进行分解,分步骤,描述出来。
自然语言示例
———
# CLAUDE.md
## 你在这个项目里的角色
你是我的结对开发助手。你的工作方式是:先把需求澄清到“可落地”,再把任务拆成可执行的小步骤,然后在每一步都给出可验证的结果(能运行、能测试、能回滚)。你可以提出更优方案,但不要擅自扩大范围。
当你准备修改代码时,先说明“你要改哪些文件 + 为什么”,并等我确认或按权限要求申请。
———
## 项目概览(给你 2 分钟快速上手用)
项目名称:NoteFlow(示例名)
一句话目标:做一个可搜索、可标签化的个人知识库笔记系统,支持 Markdown 编辑与预览。核心用户路径:登录 → 新建笔记 → 编辑/预览 → 打标签 → 搜索 → 分享只读链接(可选)。
技术栈(示例)
- Web:Next.js + TypeScript + Tailwind
- 数据:SQLite(开发)/ Postgres(生产)+ Prisma
- 鉴权:NextAuth(或自研轻量 token)
- 测试:Vitest + Playwright(可先只上单测)
> 如果实际项目技术栈不同,你不要自作主张迁移;优先沿用仓库已有方案。
———
## 非目标(避免你把项目越做越大)
- 不做多租户企业权限系统(只做个人/少量团队)
- 不做复杂富文本(仅 Markdown + 少量扩展)
- 不做全量协同编辑(先保证单人编辑体验)
———
## 工作约定(你每次开工都照这个流程来)
1. 先复述你理解的需求,用 3~5 条要点写清楚“做什么 / 不做什么”
2. 给一个分步骤计划(每步都能验证),并标注风险点
3. 默认采用“最小改动”策略:优先改局部、避免大重构
4. 每完成一步就自检:能跑、能测、能回退
5. 结束时输出:改了什么、怎么验证、有哪些已知限制
如果信息不足,你要先问我 1~3 个关键问题,不要猜。
———
## 目录结构(示例)
- apps/web:前端页面与组件
- apps/api:接口/服务端逻辑(如果是 Next.js API routes 也可合并在 web)
- packages/db:Prisma schema、migration
- packages/ui:可复用 UI 组件(可选)
- docs/:需求说明、设计决策、接口文档
你要新增文件时,优先放到最合适的目录,不要随手丢根目录。
———
## 环境与启动(你需要你自己也能复述一遍)
首次启动
1. 安装依赖
2. 初始化数据库(生成 schema、迁移、seed)
3. 启动开发服务器
4. 访问本地地址验证首页/登录页能打开
常用命令(示例,按项目实际改)
- 安装:pnpm i
- 开发:pnpm dev
- 构建:pnpm build
- 单测:pnpm test
- 端到端:pnpm test:e2e
- Prisma:pnpm db:migrate / pnpm db:seed
如果仓库里已有 Makefile 或 justfile,优先用它们统一入口。
———
## 需求写法(我希望你怎么接任务)
每个需求用下面模板表达(你也可以反问补齐空白):
- 需求一句话:
- 用户价值:
- 验收标准(必须可测试):
- 边界/不做:
- 影响范围(页面/接口/数据):
- 风险点:
- 回滚方案:
———
## 当前里程碑(示例:从 0 到可用)
### M0:项目骨架(能跑起来)
- 页面:Home、登录、笔记列表、笔记详情(空壳也行)
- 数据:一张 notes 表(id、title、content、tags、createdAt、updatedAt)
- 验收:本地能启动,能创建一条假数据并展示
### M1:笔记 CRUD(能用)
- 新建/编辑/删除笔记
- 自动保存(可选:先做手动保存)
- 验收:列表能看到新增,详情能编辑保存,刷新不丢
### M2:搜索与标签(好用)
- 支持按标题/内容关键词搜索
- 支持标签筛选
- 验收:构造 10 条数据,搜索/筛选结果正确
### M3:分享与权限(可控)
- 分享只读链接(带 token)
- 私有笔记不被未登录访问
- 验收:未登录无法访问私有;分享链接可读不可改
———
## 你写代码时的“质量底线”
- 不引入重复依赖/新框架来解决小问题
- 所有新增接口要有输入校验与错误处理
- 关键逻辑必须有测试(至少单测),并说明如何跑
- 出现不确定行为要记录在 docs/decisions.md(没有就新建)
———
## 你和 Claude Code 的交互建议(减少来回)
- 需要你执行后台任务时,用 /tasks 看是否仍在跑
- 改动较大前先 /todos 列出待办,完成一项勾一项
- 怀疑走错路就 /rewind 回到某个 checkpoint
- 工具权限不够时:先告诉我你需要什么,再用 /permissions 或我用 CLI 参数放开
- 需要额外目录访问:用 /add-dir,并说明原因
———
## 安全与隐私(硬性要求)
- 不要把 token、密码、个人隐私写进文档或提交到仓库
- 需要演示配置时,用占位符(如 YOUR_TOKEN_HERE),并说明放置位置(环境变量/本地配置)
- 如果你发现疑似敏感信息(密钥、cookie、私钥),立刻提示我处理
———
## 输出格式(你每次结束要给我什么)
- 改动摘要(1~5 条)
- 影响文件列表(只列关键文件)
- 验证步骤(我复制命令就能跑)
- 未解决问题/后续建议(可选)
———
高级示例
# CLAUDE.md - Claude Code 站点指南
此文件为 Claude Code 在此代码仓库中工作时提供指导。
## 1. 仓库概览
此代码仓库包含一个使用 Jekyll 和 Minimal Mistakes 主题构建的个人博客,托管在 GitHub Pages 上。
## 2. 关键命令
- **本地开发**:`bundle exec jekyll serve`[^7]
- **运行测试**:`ci.sh`[^7]
- **代码检查**:`npm run lint`
## 3. 代码风格与约定
- **模块语法**:您必须使用 ES 模块 (`import`/`export`) 语法,而不是 CommonJS (`require`)。
- **导入**:尽可能解构导入(例如:`import { foo } from 'bar'`)。
- **样式**:所有样式均通过位于 `_sass/` 目录中的 SCSS 文件完成。
## 4. 工作流程
- **测试**:进行更改时,出于性能考虑,优先运行单个测试,而不是整个测试套件。
- **新博文**:在 `_posts/` 文件夹中创建新博文,使用 `YYYY-MM-DD-标题.md` 格式。
- **Git 提交**:所有提交信息必须遵循约定式提交(Conventional Commits)规范。
- **示例**:`feat: 为头部添加暗黑模式切换按钮`
## 5. 个人备注
- 如果遇到困难,请停下来寻求帮助。我的名字是 Harp Dog。
MCP配置
前言:什么是MCP?
想象一下,如果Claude是一个超级聪明的助手,那么MCP(Model Context Protocol)就是给它装上了各种神奇的"义肢"。就像钢铁侠的盔甲一样,MCP让Claude能够连接到外部世界,访问数据库、API、文件系统,甚至你的GitHub仓库。
简单来说,MCP就像是AI界的USB-C接口——一个标准化的方式,让AI模型能够连接到各种不同的数据源和工具。而Claude Code就是这个生态系统中最酷的客户端之一。
MCP能解决什么问题?
- 标准化集成:用同一套协议把“模型”与“外部工具/数据源”连接起来(像统一接口/插槽)。
- 能力扩展:让AI在对话里安全地调用外部能力:读写文件、查库、调API、访问代码仓库等(具体取决于你接入的MCP Server)。
安全提醒(务必看)
- 第三方MCP Server需要自担风险:尤其是会访问互联网/外部内容的服务器,存在提示注入等风险。
- 最小权限原则:只接入你信任的Server,给最小必要权限;敏感凭据尽量放环境变量,不要写死在仓库文件里。
添加/管理MCP Server(Claude Code CLI)
# 查看当前已配置的 MCP servers
claude mcp list
# 查看某个 server 的详细信息
claude mcp get <name>
# 删除某个 server
claude mcp remove <name>
1)stdio Server(最常见,本地进程)
stdio 方式会把 MCP Server 当成本地命令启动,通过标准输入/输出和 Claude Code 通信。
# 基本语法
claude mcp add <name> <command> [args...]
# 示例:添加一个本地服务器,并注入环境变量
claude mcp add my-server -e API_KEY=123 -- /path/to/server arg1 arg2
2)SSE Server(Server-Sent Events,适合实时推送)
# 基本语法
claude mcp add --transport sse <name> <url>
# 示例:添加一个 SSE server
claude mcp add --transport sse sse-server https://example.com/sse-endpoint
# 示例:携带自定义 header(例如 API Key)
claude mcp add --transport sse api-server https://api.example.com/mcp --header "X-API-Key: your-key"
3)HTTP Server(更通用的远程方式)
# 基本语法
claude mcp add --transport http <name> <url>
# 示例:添加一个 HTTP server
claude mcp add --transport http http-server https://example.com/mcp
# 示例:携带认证 header
claude mcp add --transport http secure-server https://api.example.com/mcp --header "Authorization: Bearer your-token"
作用域(Scopes):Local / Project / User(以及优先级)
Claude Code 支持把 MCP Server 配在不同“作用域”里,以满足个人使用 vs 团队共享。
- Local(默认):只对当前项目目录生效、且对你个人私有;适合个人/实验性配置、含敏感凭据的Server。
- Project:写入项目根目录的
.mcp.json,适合团队共享(建议检入版本控制)。 - User:跨项目可用,但仍只对你个人私有;适合你自己常用的工具型Server。
当同名 server 同时存在多个作用域时,优先级是:Local > Project > User。
# Local(默认)
claude mcp add my-private-server /path/to/server
# Project(写入项目根目录 .mcp.json)
claude mcp add shared-server -s project /path/to/server
# User(跨项目)
claude mcp add my-user-server -s user /path/to/server
.mcp.json(团队共享配置)
Project 作用域会在项目根目录生成/更新 .mcp.json,格式类似:
{
"mcpServers": {
"shared-server": {
"type": "stdio",
"command": "/path/to/server",
"args": []
}
}
}
出于安全原因,Claude Code 在使用来自 .mcp.json 的 Project 作用域 server 前会提示你进行批准;如果需要重置批准选择,可使用:
claude mcp reset-project-choices
环境变量扩展(让 .mcp.json 可共享且不泄密)
.mcp.json 支持环境变量占位,便于把“密钥/机器路径”留在本机环境里:
${VAR}:展开为环境变量VAR的值${VAR:-default}:若VAR未设置则使用default
可用于 command / args / env / url / headers 等字段。
{
"mcpServers": {
"api-server": {
"type": "sse",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
远程Server认证(OAuth)与 /mcp 菜单
一些远程 MCP Server 需要认证。Claude Code 支持 OAuth 2.0 流程,并提供 /mcp 交互菜单用于:
- 查看各 server 连接状态
- 对需要 OAuth 的 server 完成认证(通常会自动打开浏览器)
- 清除现有认证/令牌
- 查看 server 能力
其他实用命令
# 通过 JSON 直接添加一个 server(注意 shell 转义)
claude mcp add-json <name> '<json>'
# 从 Claude Desktop 导入(文章中提示:仅 macOS / WSL 场景可用)
claude mcp add-from-claude-desktop
补充说明/小贴士
--transportvstype:CLI 用--transport sse/http指定传输;.mcp.json里对应字段通常是"type": "sse"|"http"|"stdio"。- stdio 的
--分隔符:--之前是claude mcp add的参数(比如-e),--之后才是 MCP Server 的命令与参数。 - 快速验证是否生效:先用
claude mcp list看是否已配置;进入会话后用/mcp看连接状态/能力是否可用。 - 团队共享不泄密:
.mcp.json适合检入仓库,但密钥/令牌用${API_KEY}这类环境变量占位,不要写死在文件里。 - 避免“同名覆盖”:同名 server 会按
Local > Project > User覆盖,建议命名带前缀(如proj-xxx、user-xxx)。 - 连不上时先查:
url是否可访问、headers/token 是否正确、环境变量是否真的设置、command路径是否存在(stdio)。
参考:https://www.cnblogs.com/token-ai/p/18987079
更多推荐



所有评论(0)