MCP Claude Code
使用模型上下文协议(MCP)实现的Claude Code功能。
概述
本项目提供了一个实现Claude Code类功能的MCP服务器,允许Claude直接执行修改和改进项目文件的指令。通过利用模型上下文协议,该实现能够与各种MCP客户端(包括Claude桌面版)无缝集成。

功能
- 代码理解:通过文件访问和模式搜索分析并理解代码库
- 代码修改:在获得适当权限的情况下对文件进行定向编辑
- 增强命令执行:在多种语言中运行命令和脚本,并改进错误处理和shell支持
- 文件操作:通过shell命令以适当的安全控制管理文件
- 代码发现:以高性能搜索在整个项目中查找相关文件和代码模式
- 代理委托:将复杂任务委托给可并行工作的专用子代理
- 多LLM提供商支持:为代理操作配置任何LiteLLM兼容模型
- Jupyter Notebook支持:读取和编辑Jupyter Notebook,支持完整单元格和输出处理
实现的工具
| 工具 | 描述 |
|---|---|
read | 具有行号、偏移量和限制功能的读取文件内容工具 |
write | 创建或覆盖文件 |
edit | 对文本文件进行基于行的编辑 |
multi_edit | 在单个文件操作中执行多个精确文本替换,并支持原子事务 |
directory_tree | 获取目录的递归树状视图 |
grep | 在文件中进行快速模式搜索,集成ripgrep以获得最佳性能 (文档) |
content_replace | 替换文件内容中的模式 |
grep_ast | 搜索代码并显示函数、类和其他结构中的匹配项(带AST上下文) |
run_command | 执行shell命令(也用于目录创建、文件移动和目录列出) |
notebook_read | 提取并读取Jupyter Notebook中所有单元格的源代码及输出 |
notebook_edit | 编辑、插入或删除Jupyter Notebook中的单元格 |
think | 用于复杂推理和分析的结构化空间,不会进行更改 |
dispatch_agent | 启动一个或多个代理,这些代理可使用只读工具并行执行任务 |
batch | 在单个请求中并行或串行执行多个工具调用 |
todo_write | 创建和管理结构化的任务列表 |
todo_read | 读取结构化的任务列表 |
入门指南
有关详细的安装和配置说明,请参阅 INSTALL.md。
有关0.3版本的详细教程,请参阅 TUTORIAL.md
安全
该实现遵循保护文件系统访问的最佳实践:
- 文件修改和命令执行的权限提示
- 仅限于指定目录的访问限制
- 输入验证和清理
- 正确的错误处理和报告
开发
要为该项目做出贡献:
- 分叉仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开Pull Request
许可证
本项目根据MIT许可证授权 - 详细内容请参阅 LICENSE 文件。