MCP克劳德代码
使用模型上下文协议(MCP)实现克劳德代码功能。
概述
该项目提供了一个实现类似Claude Code功能的MCP服务器,允许Claude直接执行修改和改进项目文件的指令。通过利用模型上下文协议,此实现实现了与包括Claude Desktop在内的各种MCP客户端的无缝集成。
特性
- 代码理解:通过文件访问和模式搜索分析和理解代码库
- 代码修改:通过适当的权限处理对文件进行有针对性的编辑
- 增强的命令执行:运行各种语言的命令和脚本,改进错误处理和shell支持
- 文件操作:通过shell命令使用适当的安全控制来管理文件
- 代码发现:通过高性能搜索在整个项目中查找相关文件和代码模式
- 代理委托:将复杂任务委托给可以同时工作的专门子代理
- 多LLM提供商支持:为代理操作配置任何LiteLLM兼容模型
- Jupyter笔记本支持:使用完整单元格和输出处理读取和编辑Jupyter笔记本
已实施的工具
| 工具 | 说明 |
|---|---|
read | 读取具有行号、偏移量和限制功能的文件内容 |
write | 创建或覆盖文件 |
edit | 对文本文件进行基于行的编辑 |
multi_edit | 使用原子事务在单个文件操作中进行多个精确的文本替换 |
directory_tree | 获取目录的递归树视图 |
grep | 使用ripgrep集成在文件中进行快速模式搜索,以获得最佳性能(文档) |
content_replace | 替换文件内容中的模式 |
grep_ast | 具有AST上下文的搜索代码,显示函数、类和其他结构中的匹配项 |
run_command | 执行shell命令(也用于目录创建、文件移动和目录列表) |
notebook_read | 从带有输出的Jupyter记事本中的所有单元格中提取并读取源代码 |
notebook_edit | 在Jupyter记事本中编辑、插入或删除单元格 |
think | 无需更改即可进行复杂推理和分析的结构化空间 |
dispatch_agent | 启动一个或多个可以同时使用只读工具执行任务的代理 |
batch | 在单个请求中并行或串行执行多个工具调用 |
todo_write | 创建和管理结构化任务列表 |
todo_read | 阅读结构化任务列表 |
入门指南
有关详细的安装和配置说明,请参阅 安装.md.
有关0.3版本的详细教程,请参阅 TUTORIAL.md
安全
此实现遵循了保护文件系统访问的最佳实践:
- 文件修改和命令执行的权限提示
- 仅限访问指定目录
- 输入验证和净化
- 正确的错误处理和报告
发展
为该项目做出贡献:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
