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

  1. 访问官网:https://git-scm.com/install/windows
  2. 选择适合你自己系统的安装包
  3. 双击下载的.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。

  1. 注册并获取API-Key

    智谱AI开放平台:https://bigmodel.cn/console/overview

  2. 配置环境变量(个人的、系统的都可以)

    # 在 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

上面这么多,我都不想看,所以就有了下面极其好用的几个命令总结:

  1. claude 直接启动交互命令
  2. claude “prompt” 根据你的提示词运行一次任务,并返回
  3. claude -p “prompt” 运行一次并返回
  4. claude -c 继续最近一次的对话
  5. claude -r 恢复之前的对话
  6. claude --help 查看所有的可用选项参数
  7. claude commit 创建git提交
  8. 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 间循环切换

上面提到的都是泛化的命令集,下面来点细糠品品,主要还是/命令前缀用法:

  1. /model 切换底层模型
  2. /init 将当前目录初始化为,claude的工作目录
  3. /clear 清除对话历史
  4. /compact 清空对话历史但保留摘要在上下文中 /compact [摘要指令]
  5. /help 显示帮助信息,也就是上面我提到的那一大段
  6. /cost 显示当前会话消耗的Token
  7. /context 显示当前上下文占用
  8. /exit(quit) 退出claude
  9. /agents 管理Agent配置
  10. /config 打开配置面板
  11. /export 导出当前对话到文件或者剪贴板
  12. /hook 管理工具事件的hook配置
  13. /login 登录Anthropic
  14. /logout 退出登录
  15. /memeory 编辑claude memory文件
  16. /mcp 管理MCP servers
  17. /migrate-install 从全局npm安装迁移至本地安装
  18. /output-style 直接设置输出风格(或从菜单选择)
  19. /resume 继续/恢复某个会话
  20. /review Review一个Pull Request
  21. /rewind 把代码和/或对话恢复到之前的某个点
  22. /status 显示claude 状态
  23. /statusline 设置 Claude Code 状态栏 UI
  24. /tasks(bashes) 列出并管理后台任务
  25. /terminal-setup 安装 Shift+Enter 换行的终端按键绑定
  26. /todos 列出当前 todo 项
  27. /vim 在 Vim 与普通编辑模式间切换
  28. /pause 暂停任务

CLAUDE.md撰写

编写 CLAUDE.md 文件是充分利用 Claude Code 的一项关键实践。可以将其看作是专门为人工智能代理准备的一套指令或项目指南。通过提供关于项目的清晰、结构化的信息,您可以帮助Claude 理解上下文、遵循约定,并更准确、高效地执行任务。CLAUDE.md是一个特殊的 Markdown 文件,每当您在代码仓库中启动会话时,Claude Code 都会自动读取并将其纳入上下文。

它的主要功能是记录:

  1. 项目背景:项目的目的、技术栈和架构;
  2. 关键命令:用于构建、代码检查和测试项目的 Shell 命令;
  3. 编码规范:风格指南、命名约定和必需的格式;
  4. 工作流程:关于测试、创建拉取请求或处理 Git 分支的说明;
  5. 仓库特定怪癖:项目特有的任何异常行为或设置要求。

如何创建和使用CLAUDE.md?

  1. 自动初始化:最简单的方法是在您的项目目录中运行 /init 命令。Claude 会分析您的代码库——查看像 package.json 这样的文件,甚至其他工具(如 Cursor 或 GitHub Copilot)的规则——并为您生成一个具有良好起点的 CLAUDE.md 文件手动创建

  2. 手动创建:您可以手动创建该文件。将其放置在以下任一位置最为有效:

    项目根目录:最常见的位置。将此文件检入 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
补充说明/小贴士
  • --transport vs type: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-xxxuser-xxx)。
  • 连不上时先查url 是否可访问、headers/token 是否正确、环境变量是否真的设置、command 路径是否存在(stdio)。

参考:https://www.cnblogs.com/token-ai/p/18987079

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐