超越基础:配置Claude Code
在第1部分中,你让Claude Code运行起来了。现在是时候为实际工作配置它了。Claude Code有几个配置层,控制它的行为、可以访问的工具以及如何与你的项目交互。
三层配置体系
Claude Code从三个位置读取设置,优先级如下:
- 项目级(项目中的
.claude/settings.json)——覆盖其他所有 - 用户级(
~/.claude/settings.json)——适用于你所有项目 - 环境变量——API密钥、代理设置、功能标志
设置Claude配置文件
创建一个项目级设置文件来控制Claude Code在你特定项目中的行为:
# 在项目根目录创建.claude目录
mkdir -p .claude
# 创建设置文件
cat > .claude/settings.json << 'EOF'
{
"permissions": {
"allow": ["bash", "read", "edit", "glob", "grep"],
"deny": []
},
"model": {
"name": "claude-sonnet-4-20250514",
"maxTokens": 8192,
"temperature": 0.3
}
}
EOF
MCP工具:扩展Claude Code的能力
MCP(Model Context Protocol)是Claude Code连接到外部工具和数据源的方式。它可以通过MCP服务器访问数据库、API、文件系统等。
要添加MCP工具,编辑项目中的.claude/settings.json并添加mcpServers部分:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your_github_pat_here"
}
}
}
}
流行的MCP服务器包括:
- Filesystem: 带高级权限的读、写和搜索文件
- GitHub: 管理仓库、issue、PR和代码审查
- PostgreSQL: 直接从Claude会话中查询数据库
- Puppeteer: 用于测试和网页抓取的浏览器自动化
- Slack: 在Slack频道中发送和读取消息
API密钥管理最佳实践
绝不硬编码API密钥在项目文件中。使用环境变量:
选项1:.env文件(最简单,适用于单个项目)
echo 'ANTHROPIC_API_KEY=sk-ant-***' > .env
echo '.env' >> .gitignore # 防止提交密钥
Claude Code自动读取.env文件(如果存在)。
选项2:系统环境变量(适用于全局使用)
# 添加到 ~/.zshrc 或 ~/.bashrc
export ANTHROPIC_API_KEY="sk-ant-***"
export ANTHROPIC_BASE_URL="https://api.anthropic.com/v1"
使用.claudeignore控制Claude Code
类似于.gitignore,.claudeignore文件告诉Claude Code在读取项目时跳过哪些文件:
# .claudeignore
node_modules/
dist/
build/
*.min.js
*.map
package-lock.json
*.log
.env
这使Claude Code专注于你的源代码,防止它在生成的文件上浪费上下文。
配置的后续步骤
尝试这些命令来验证你的配置:
# 显示当前配置
claude config list
# 测试MCP服务器连接
claude mcp list
# 以详细日志模式启动会话
claude --verbose
常见问题
问:MCP和常规工具之间有什么区别?
常规工具(read、edit、bash、glob、grep)内置于Claude Code中,默认可用。MCP服务器是外部集成,增加数据库访问、API调用或浏览器控制等功能。你根据项目需要选择安装哪些MCP服务器。
问:不同项目可以有不同设置吗?
可以。.claude/settings.json中的项目级设置覆盖~/.claude/settings.json中的用户级设置。这让你可以为工作项目设置严格的权限,为个人项目设置宽松的设置。
问:MCP服务器有风险吗?
有。MCP服务器可以访问它们连接的任何系统(数据库、API、文件系统)。只从可信来源安装MCP服务器。在安装前检查每个服务器请求的权限。