article
README
🚀 MCP-CodeSavant
CodeSavant 是一个正在开发中的项目,它基于 Model Context Protocol (MCP) 构建,是一个强大的服务器。该服务器提供了代码操作、执行和版本控制等功能,允许 AI 助手读取、写入和执行代码,同时还能维护代码更改的历史记录,为代码开发和管理带来了极大的便利。
🚀 快速开始
CodeSavant 是一个基于 Model Context Protocol (MCP) 的服务器,它为代码操作、执行和版本控制提供了全面的支持。以下是快速开始使用 CodeSavant 的步骤:
- 克隆仓库:
git clone https://github.com/twolven/mcp-codesavant.git
cd mcp-codesavant
- 安装所需的依赖项:
pip install -r requirements.txt
- 将服务器配置添加到您的 Claude 桌面 config.json 文件中:
{
"mcpServers": {
"codesavant": {
"command": "python",
"args": ["path/to/codesavant.py"]
}
}
}
✨ 主要特性
- 支持读取和写入代码文件,并能按行进行特定操作,方便对代码进行精细处理。
- 可在多种编程语言(Python、Node.js)中执行代码,满足不同开发需求。
- 能在受控环境中执行 shell 命令,增强了代码执行的灵活性。
- 具备版本控制功能,可跟踪和管理代码更改,方便回溯和恢复代码版本。
- 支持在代码文件中搜索内容,提高查找代码的效率。
- 可以将代码恢复到先前版本,确保代码的稳定性和可维护性。
📦 安装指南
- 克隆仓库:
git clone https://github.com/twolven/mcp-codesavant.git
cd mcp-codesavant
- 安装所需的依赖项:
pip install -r requirements.txt
- 将服务器配置添加到您的 Claude 桌面 config.json 文件中:
{
"mcpServers": {
"codesavant": {
"command": "python",
"args": ["path/to/codesavant.py"]
}
}
}
📚 详细文档
目录结构
服务器创建和管理以下目录结构:
workspaces/
├── project1/
│ ├── .code_history.json
│ └── [代码文件]
├── project2/
│ ├── .code_history.json
│ └── [代码文件]
└── ...
工具参考
1. 读取代码文件
- 功能:读取指定路径的代码文件内容。
- 输入示例:
{
"project": "myproject",
"path": "src/main.js"
}
- 输出示例:
{
"success": true,
"timestamp": 1234567890,
"data": {
"content": "console.log('Hello World!');"
}
}
2. 按行读取代码文件
- 功能:按指定的起始和结束行读取代码文件内容。
- 输入示例:
{
"project": "myproject",
"path": "src/main.js",
"start_line": 1,
"end_line": 5
}
- 输出示例:
{
"success": true,
"timestamp": 1234567890,
"data": {
"content": "console.log('Hello World!');\n// 第二行注释"
}
}
3. 执行代码
- 功能:在指定语言环境中执行代码。
- 输入示例(Python):
{
"language": "python",
"code": "print('Hello World!')"
}
- 输出示例:
{
"success": true,
"timestamp": 1234567890,
"data": {
"output": "'Hello World!'\n"
}
}
4. 执行 shell 命令
- 功能:在受控环境中执行 shell 命令。
- 输入示例:
{
"command": "ls -a"
}
- 输出示例:
{
"success": true,
"timestamp": 1234567890,
"data": {
"output": ". .. .bashrc .config ..."
}
}
5. 恢复到代码版本
- 功能:将代码文件恢复到指定时间戳的版本。
- 输入示例:
{
"path": "src/main.js",
"timestamp": 1234567890
}
- 输出示例:
{
"success": true,
"timestamp": 1234567890,
"data": {
"diff": {
"changes": [["- console.log('Hello World!');", "+ console.log('Hi there!');"], ...],
"timestamp": 1234567890
}
}
}
错误处理
服务器提供详细的错误响应,格式如下:
{
"success": false,
"timestamp": 1234567890,
"data": null,
"error": "错误信息"
}
可能的错误类型包括:
CodeFileError:文件操作错误CodeValidationError:代码验证错误CodeExecutionError:代码执行错误
语言支持
目前支持以下语言用于代码执行:
- Python(使用系统 Python 解释器)
- Node.js(使用 node 命令)
每种语言的执行都会在工作区目录中创建一个临时文件,并使用相应的解释器进行执行。
贡献
- 叉克隆仓库
- 创建功能分支
- 提交更改
- 推送到分支
- 创建新的拉取请求
📄 许可证
本项目根据 MIT License 许可,详细信息请参阅 LICENSE 文件。
作者
Todd Wolven - (https://github.com/twolven)
致谢
- 使用 Model Context Protocol (MCP) 构建
- 为 Anthropic 的 Claude 开发
微信扫一扫