基于Python的模型上下文协议(MCP)服务器,允许Claude完全访问您的代码库,使其能够读取、写入、创建、删除、编辑和管理文件及目录。
该服务器是在Claude 3.7 Sonnet的帮助下创建的。
我试用了其他一些MCP工具,发现它们依赖过多或过于复杂,不是我想要或需要的。所以我尝试创建一个简单易设置的MCP工具,让Claude(也许有一天还有其他AI)可以随意操作我的电脑上的文件。
目前它并不非常先进,但计划就是保持其简单性。我已经与Claude进行了大量的交流,感觉自己了解了他的行为模式,这个工具的设计方式不会违背Claude的行为习惯。
运行setup.bat以自动执行以下操作:
创建Python虚拟环境:
python -m venv mcp_env
mcp_env\Scripts\activate
安装依赖项:
pip install mcp pathlib glob2 diff_match_patch
创建名为Project的目录
配置Claude桌面:
打开claude_desktop_config.json
添加配置(根据需要调整路径):
{
"mcpServers": {
"MCP_Codebase_Browser": {
"command": "C:\\path\\to\\your\\mcp_env\\Scripts\\python.exe",
"args": ["C:\\path\\to\\your\\codebase_server.py"]
}
}
}
完成设置,确保在Claude桌面的claude_desktop_config.json中添加自定义配置
将整个代码库放入Project目录
重启Claude桌面
在聊天输入框右下角查找锤子图标
当您请求时,Claude可以执行各种代码库任务
当Claude尝试使用工具时,他会先询问许可
考虑以下示例:
此工具将允许Claude更改您的文件。他可能会破坏某些东西。
此项目正在进行中,我不对因使用此工具而丢失的数据负责。建议经常让Claude进行备份。
我尽量拥抱并利用Claude的行为。我使用过的其他工具可能试图通过错误消息来“教导”Claude。例如,我见过一个文本编辑器工具试图设计一种机制来阻止Claude对文件进行后续编辑。在我的经验中,Claude在计算行号方面很糟糕。如果是行编辑,他会插入到他没有计算出最近编辑更改的行中,所以他很容易破坏文件。显然,文本编辑器工具的开发者得出了与我相同的结论。文本编辑工具的解决方案是制作一个基于校验和的谜题,Claude必须解决。在我的经验中,Claude通常会在工具报告“成功”或“失败”后停止关注。谜题的设计试图纠正Claude的行为,但如果你经常与Claude打交道,你会发现虽然有时你可以通过足够的上下文学习来打破他的坏习惯,但很多时候成功的道路非常艰难。
我的意思是,与其试图对抗Claude的一贯不良行为,不如利用他的良好行为。他只是不能通过这些工具学习,所以我不试图教他或训练他以任何特殊的方式使用工具。对于文本编辑的例子,我发现Claude有一种不可思议的能力,能够保持对代码的准确心理构建。这种无形构建中的代码由Claude很好地维护。为了利用这一优势,我试图设计工具,只需让Claude写出他认为需要修补的内容,然后工具将匹配并替换为他的替代代码,大多数时候这都能无误地工作,因为Claude很好地跟踪了他正在处理的代码的当前状态,所以匹配几乎总是存在,而无需Claude多次阅读文件。我们不讨论行号,因为我们知道Claude在计算准确行号方面很差。没有故意为Claude设置陷阱。这为我们提供了极小的工具使用失败。
MIT许可证