使用说明
项目简介
Code Assistant 是一个使用 Rust 编写的命令行工具,它不仅可以作为独立的 Agent 模式的智能代码助手使用,还可以作为 Model Context Protocol (MCP) 服务器运行。在 MCP 服务器模式下,Code Assistant 能够为支持 MCP 协议的 LLM 客户端(例如 Claude Desktop)提供代码库上下文信息和代码操作工具,从而扩展 LLM 在代码处理方面的能力。
主要功能点
- 资源管理: 托管和管理代码项目资源,允许 LLM 客户端访问项目文件内容和结构。
- 工具注册与执行: 提供一系列代码操作工具(如文件读取、文件列表、文件搜索、命令执行等),允许 LLM 客户端通过 MCP 协议调用这些工具来完成代码相关的任务。
- MCP 服务器模式: 实现 Model Context Protocol 协议,可以作为插件集成到 MCP 客户端应用中,例如 Claude Desktop。
- 项目配置管理: 支持通过 'projects.json' 文件配置和管理多个代码项目,方便 LLM 客户端切换和访问不同的代码库。
安装步骤
- 安装 Rust: 确保您的系统已安装 Rust 编程环境。您可以访问 https://www.rust-lang.org/tools/install 按照官方指引进行安装。
- 克隆仓库: 使用 git 命令克隆 Code Assistant 仓库到本地:
git clone https://github.com/stippi/code-assistant - 进入项目目录: 导航到克隆下来的 'code-assistant' 目录:
cd code-assistant - 编译项目: 使用 cargo 构建 release 版本:
编译成功后,可执行文件 'code-assistant' 将位于 'target/release/' 目录下。cargo build --release
服务器配置
Code Assistant MCP 服务器需要配置在 MCP 客户端应用中才能使用,例如 Claude Desktop。以下是在 Claude Desktop 中配置 Code Assistant MCP 服务器的步骤和配置信息:
-
配置项目: 在用户 home 目录下创建 '.code-assistant/projects.json' 文件,用于配置可供 LLM 客户端访问的代码项目。文件内容示例如下:
{ "code-assistant": { "path": "/Users/<username>/workspace/code-assistant" }, "asteroids": { "path": "/Users/<username>/workspace/asteroids" }, "zed": { "path": "Users/<username>/workspace/zed" } }- 'code-assistant', 'asteroids', 'zed': 项目名称,可以自定义。
- 'path': 代码项目在本地文件系统中的绝对路径。注意: 为了安全,工具不会直接向 LLM 云服务商泄露绝对路径。
-
配置 MCP 服务器: 打开 Claude Desktop 应用设置 (Claude -> Settings),切换到 Developer 选项卡,点击 Edit Config 按钮编辑配置文件 'claude_desktop_config.json'。在 'mcpServers' 字段下添加 Code Assistant 服务器配置,示例如下:
{ "mcpServers": { "code-assistant": { "command": "/Users/<username>/workspace/code-assistant/target/release/code-assistant", "args": [ "server" ] } } }- 'code-assistant': 服务器名称,可以自定义,与 'projects.json' 中的项目名称无关。
- 'command': Code Assistant 服务器可执行文件的绝对路径,根据您的实际安装路径修改。
- 'args': 启动服务器的参数,固定为 '["server"]'。
基本使用方法
完成上述配置后,启动 Claude Desktop 应用,Code Assistant MCP 服务器将作为插件自动连接。您可以在 Claude Desktop 中与 LLM 交互,并利用 Code Assistant 提供的代码工具和项目上下文信息,例如:
- 让 LLM 读取和分析项目中的代码文件。
- 使用 LLM 搜索项目中的代码。
- 让 LLM 执行代码构建、测试等命令。
- 利用 LLM 修改项目中的代码文件。
具体工具的使用方法和参数可以参考仓库 README 文档或工具自身的帮助信息。
信息
分类
开发者工具