使用说明
MCP代码库浏览器
一个基于Python的模型上下文协议(MCP)服务器,它使Claude可以完全访问您的代码库,用于文件管理、代码编辑、搜索和直接执行shell命令。
该服务器是在Claude的协助下创建的,优先考虑简单性和与Claude自然工作风格的兼容性。
概述
Codebase Browser是一个轻量级的MCP工具,它结合了文件操作、代码编辑、搜索、备份和 CLI命令执行 成为一个统一的界面。它既适用于Claude Desktop(通过stdio),也适用于基于浏览器的Claude(通过SSE/HTTP)。
主要特点:
- 文件操作(读、写、删除、移动、复制、mkdir、rmdir)
- 使用查找/替换操作进行代码编辑
- 在代码库中进行全文搜索
- 自动备份和恢复
- 带提交跟踪的Shell命令执行 新
- 自动操作历史和提交跟踪
- 两种部署模式:克劳德桌面(stdio)和Web/浏览器(SSE)
需求
核心
- Python 3.8或更高版本
- Claude桌面应用程序或基于浏览器的Claude,支持MCP
操作系统支持
- Windows、macOS、Linux
- Shell:cmd、PowerShell、bash、zsh(自动检测)
安装
快速安装(克劳德桌面版)
跑 setup.bat (Windows)或等效的shell脚本自动执行以下操作:
- 创建Python虚拟环境
- 安装所需的依赖项
- 设置项目目录
- 检测您的操作系统和可用shell
- 生成CLI配置
- 显示Claude Desktop配置说明
手动安装
创建虚拟环境:
python -m venv mcp_env
source mcp_env/bin/activate # On Windows: mcp_env\Scripts\activate
安装依赖项:
pip install mcp
创建项目目录:
mkdir Project
配置Claude桌面:
打开 claude_desktop_config.json 并添加:
{
"mcpServers": {
"MCP_Codebase_Browser": {
"command": "/path/to/your/mcp_env/bin/python",
"args": ["/path/to/your/codebase_server.py"]
}
}
}
用法
使用克劳德桌面
- 完成上述设置
- 将你的代码库放在
Project目录 - 重新启动克劳德桌面
- 在聊天输入框中查找锤子图标
- Claude现在可以管理你的代码库了
文件操作示例
- “列出项目中的所有文件”
- “阅读src/main.py的内容”
- “创建一个名为utils.js的新文件”
- “在代码库中搜索‘import’的所有用法”
- “编辑此函数并添加错误处理”
- “创建我的项目的备份”
- “从名为'my_project_backup'的备份还原”
CLI命令示例(新增)
- “跑
npm install设置依赖关系” - “使用以下命令执行测试套件
pytest" - “使用编译代码
gcc" - “检查git状态”
- “构建项目
cargo build"
当你要求Claude运行一个命令时,他会提供一条消息,描述他正在做什么,该命令会在你的操作历史中被跟踪。
部署模式
1.克劳德桌面(stdio)
最适合: 使用Claude Desktop应用程序进行本地开发
- 通过stdio直接连接
- 自动外壳检测
- 无网络暴露
- 最简单的设置
用途: 按照上述安装步骤进行操作
2.Web/浏览器克劳德(SSE模式)
最适合: 在浏览器中使用claude.ai的代码库浏览器
SSE版本允许您通过安全隧道将网络上的Claude(Claude.ai)连接到互联网上的本地代码库。
它是如何工作的: codebase_server_sse.py 运行本地HTTP服务器。 start_tunnel.bat 通过以下方式公开披露 服务.net --一个免费的SSH隧道服务,不需要帐户或安装,只需要标准的SSH。您的服务器可在以下位置访问 https://yoursubdomain.serveo.net/sse,您可以在Claude中将其添加为自定义连接器。
1.配置.env
复制 .env.example 到 .env 并设置您的子域和端口:
TUNNEL_SUBDOMAIN=yoursubdomainhere
SSE_PORT=9051
子域名是先到先得的——如果它目前没有被使用,你就可以得到它。选择一些足够独特的东西,没有人会抓住它。如果它被拿走了,你会在隧道窗口中看到一个错误,只需要选择一个不同的名称。
2.跑步 start_tunnel.bat
这将打开两个窗口——一个运行MCP服务器,一个运行到serveo.net的SSH隧道。当隧道打开时,你会看到:
Forwarding HTTP traffic from https://yoursubdomainhere.serveo.net
3.在Claude中添加为连接器
转到Claude.ai→ 设置→ 连接器→ 添加自定义连接器并输入完整的SSE URL:
https://yoursubdomainhere.serveo.net/sse
笔记:
- Serveo自动处理HTTPS——无需设置SSL证书
- 您的子域未被保留——如果您的隧道关闭,其他人可以认领它。只需在中选择一个新名称
.env如果发生这种情况 - 对于有保证的持久子域,您需要拥有一个域并添加指向serveo.net的DNS记录——请参阅 提供.net文档
配置
CLI配置(自动生成)
当你奔跑时 setup.bat一 cli_config.json 告诉克劳德:
- 您的操作系统类型
- 可用的shell(cmd、PowerShell、bash、zsh等)
- 如何调用命令
SSE配置(.env)
对于SSE版本,请复制 .env.example 到 .env 并配置您的设置。最低设置 TUNNEL_SUBDOMAIN 使用 start_tunnel.bat.
重要提示: 永不承诺 .env 到版本控制(它在 .gitignore)
安全与最佳实践
文件大小限制
- 读取/返回大文件时会进行行号过滤,以防止上下文溢出
- 搜索操作期间跳过超过10MB的文件
- 结果大小限制在~99KB,以保持响应效率
提交跟踪
- 每个操作(文件写入、编辑、删除、CLI命令)都会记录下来
- 使用“显示最近的提交”查看操作历史记录
- 在主要操作之前使用备份
备份
- 创建备份:“备份名为'v1.0'的代码库”
- 列出备份:“显示我的备份”
- 还原:“从名为'v1.0'的备份还原”
⚠️ 警告
此工具允许Claude更改您的文件。他可能会破坏东西。
这是一个强大的工具。 在进行重大更改之前,始终要求Claude创建备份。 作者对数据丢失不承担任何责任。
故障排除
- 克劳德没有显示锤子图标: 重新启动Claude Desktop并检查
claude_desktop_config.json具有正确的路径 - 命令执行失败: 检查您的外壳是否在检测到的外壳中(检查
cli_config.json) - 日志: 在以下网址查看克劳德桌面日志
%AppData%\Claude\logs\mcp*.log(Windows)或~/.claude/logs/(macOS/Linux) - 路径问题: 确保路径在macOS/Linux上使用正斜杠,在Windows上使用反斜杠
- SSL错误(SSE): 验证中的证书路径
.env是正确的
备注
- 单一统一工具: 一切都是一个工具,可以最大限度地减少权限提示
- 无人为限制: Claude直观地使用该工具,而不是违反工程限制
- 语言不可知: 适用于任何编程语言(JavaScript、Python、Java、Rust、Go等)
- 上下文效率: 文件操作智能地处理大小,以防止上下文膨胀
- 操作历史: 跟踪每个更改以进行问责制和调试
设计理念
这个工具包含了克劳德的长处,而不是与他的弱点作斗争。
其他MCP工具试图通过限制性错误消息或谜题“教”克劳德。在实践中,Claude并没有很好地从工具约束中学习——他只是转向了另一种方法。相反,这个工具是有效的 随着 克劳德的实际行为:
- 代码意识: Claude为你的代码维护了一个优秀的心理模型。该工具通过接受他对更改的描述(“找到X,用Y替换”)而不是强制行号来利用这一点。
- 意图清晰: 每个操作都需要一条描述意图的消息。这使得更改可审计,并帮助克劳德保持专注。
- 简单性: 没有人为的障碍,只需要直接访问文件和执行命令。
- 历史: 完整的提交跟踪,以便您了解发生了什么以及原因。
结果:工具使用失败率最低,生产率最高。
许可证
MIT许可证-有关详细信息,请参阅许可证文件
