Back to MCP directory
publicPublicdnsLocal runtime

CodeSavant Coding Assistant

CodeSavant是一个基于MCP协议的代码管理服务器,提供代码读写、执行和版本控制功能,支持多语言开发和历史回溯。

article

README

🚀 MCP-CodeSavant

CodeSavant 是一个正在开发中的项目,它基于 Model Context Protocol (MCP) 构建,是一个强大的服务器。该服务器提供了代码操作、执行和版本控制等功能,允许 AI 助手读取、写入和执行代码,同时还能维护代码更改的历史记录,为代码开发和管理带来了极大的便利。

🚀 快速开始

CodeSavant 是一个基于 Model Context Protocol (MCP) 的服务器,它为代码操作、执行和版本控制提供了全面的支持。以下是快速开始使用 CodeSavant 的步骤:

  1. 克隆仓库:
git clone https://github.com/twolven/mcp-codesavant.git
cd mcp-codesavant
  1. 安装所需的依赖项:
pip install -r requirements.txt
  1. 将服务器配置添加到您的 Claude 桌面 config.json 文件中:
{
    "mcpServers": {
        "codesavant": {
            "command": "python",
            "args": ["path/to/codesavant.py"]
        }
    }
}

✨ 主要特性

  • 支持读取和写入代码文件,并能按行进行特定操作,方便对代码进行精细处理。
  • 可在多种编程语言(Python、Node.js)中执行代码,满足不同开发需求。
  • 能在受控环境中执行 shell 命令,增强了代码执行的灵活性。
  • 具备版本控制功能,可跟踪和管理代码更改,方便回溯和恢复代码版本。
  • 支持在代码文件中搜索内容,提高查找代码的效率。
  • 可以将代码恢复到先前版本,确保代码的稳定性和可维护性。

📦 安装指南

  1. 克隆仓库:
git clone https://github.com/twolven/mcp-codesavant.git
cd mcp-codesavant
  1. 安装所需的依赖项:
pip install -r requirements.txt
  1. 将服务器配置添加到您的 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 命令)

每种语言的执行都会在工作区目录中创建一个临时文件,并使用相应的解释器进行执行。

贡献

  1. 叉克隆仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建新的拉取请求

📄 许可证

本项目根据 MIT License 许可,详细信息请参阅 LICENSE 文件。

作者

Todd Wolven - (https://github.com/twolven)

致谢

  • 使用 Model Context Protocol (MCP) 构建
  • 为 Anthropic 的 Claude 开发
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client