首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
代码助手MCP服务器2026-10-21267分享添加福利群:解决AI开发者的「MCP实战痛点」
代码助手是一个用Rust构建的CLI工具,旨在辅助代码相关任务。其核心功能包括智能探索代码库、文件读写、基于Zed的用户界面、交互式通信以及作为模型上下文协议(MCP)服务器运行。在MCP服务器模式下,代码助手可以为运行在MCP客户端中的LLM提供工具和资源,支持多种LLM提供商如Anthropic、OpenAI等。用户可以通过命令行或GUI界面与工具交互,执行任务如代码分析、优化等。此外,代码助手还支持会话记录与回放,便于测试和调试。
By stippi
2026-10-21267
github
详情内容

代码助手

CI

一个用Rust构建的CLI工具,用于辅助代码相关任务。

功能

  • 自主探索:代理能够智能地探索代码库,并构建项目结构的工作记忆。
  • 文件读写:代理可以读取文件内容并根据需要修改文件。
  • 用户界面:代理可以运行基于Zed的gpui的用户界面。
  • 交互式通信:能够向用户提问并获取响应,以便做出更好的决策。
  • MCP服务器模式:可以作为模型上下文协议(MCP)服务器运行,为运行在MCP客户端中的LLM提供工具和资源。

安装

确保您的系统上已安装Rust。然后:

# 克隆仓库
git clone https://github.com/stippi/code-assistant

# 进入项目目录
cd code-assistant

# 构建项目
cargo build --release

# 二进制文件将位于target/release/code-assistant

在Claude Desktop中的配置

code-assistant实现了Anthropic的模型上下文协议。 这意味着它可以作为插件添加到MCP客户端应用程序中,例如Claude Desktop。

配置您的项目

创建一个文件~/.config/code-assistant/projects.json。 该文件在MCP服务器模式下添加可用项目(list_projects和文件操作工具)。 其结构如下:

{
  "code-assistant": {
    "path": "/Users/<用户名>/workspace/code-assistant"
  },
  "asteroids": {
    "path": "/Users/<用户名>/workspace/asteroids"
  },
  "zed": {
    "path": "Users/<用户名>/workspace/zed"
  }
}

注意事项:

  • 绝对路径不由工具提供,以避免将这些信息泄露给LLM云服务提供商。
  • 该文件可以在不重启Claude Desktop或MCP服务器的情况下进行编辑。

配置MCP服务器

  • 打开Claude Desktop应用程序设置(Claude -> 设置)
  • 切换到开发者选项卡。
  • 点击编辑配置按钮。

将打开一个Finder窗口,高亮显示文件claude_desktop_config.json。 在您喜欢的文本编辑器中打开该文件。

示例如下:

{
  "mcpServers": {
    "code-assistant": {
      "command": "/Users/<用户名>/workspace/code-assistant/target/release/code-assistant",
      "args": [
        "server"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "pplx-...", // 可选,启用perplexity_ask工具
        "SHELL": "/bin/zsh" // 您的登录shell,在此配置"env"时需要
      }
    }
  }
}

使用

代码助手可以运行在两种模式下:

代理模式(默认)

code-assistant --task <任务> [选项]

可用选项:

  • --path <路径>:要分析的代码目录路径(默认:当前目录)
  • -t, --task <任务>:在代码库上执行的任务(除非使用--continue-task或--ui,否则为必需)
  • --ui:启动GUI界面
  • --continue-task:从之前的状态继续
  • -v, --verbose:启用详细日志记录
  • -p, --provider <提供商>:使用的LLM提供商 [ai-core, anthropic, open-ai, ollama, vertex, openrouter](默认:anthropic)
  • -m, --model <模型>:使用的模型名称(默认值:anthropic="claude-3-7-sonnet-20250219", open-ai="gpt-4o", vertex="gemini-2.5-pro-exp-03-25", openrouter="anthropic/claude-3-7-sonnet", ollama=必需)
  • --base-url <URL>:LLM提供商的API基础URL
  • --tools-type <工具类型>:工具声明类型 [native, xml](默认:xml)native = 通过LLM提供商API的工具,xml = 自定义系统消息
  • --num-ctx <数量>:上下文窗口大小(以token为单位,默认:8192,仅对Ollama相关)
  • --agent-mode <模式>:使用的代理模式 [working_memory, message_history](默认:message_history)
  • --record <路径>:将API响应记录到文件中以供测试(目前支持Anthropic和AI Core提供商)
  • --playback <路径>:从文件中回放录制的会话
  • --fast-playback:快速回放模式 - 在回放时忽略块计时

环境变量:

  • ANTHROPIC_API_KEY:使用Anthropic提供商时必需
  • OPENAI_API_KEY:使用OpenAI提供商时必需
  • GOOGLE_API_KEY:使用Vertex提供商时必需
  • OPENROUTER_API_KEY:使用OpenRouter提供商时必需
  • PERPLEXITY_API_KEY:使用Perplexity搜索API工具时必需
  • 注意:AI Core身份验证在命令行中配置(工具将提示参数并将其存储在您的默认钥匙串中)

示例:

# 使用Anthropic的Claude分析当前目录中的代码
code-assistant --task "解释此代码库的用途"

# 继续之前中断的任务
code-assistant --continue-task

# 启动GUI界面
code-assistant --ui

# 记录会话以供稍后回放
code-assistant --task "优化数据库查询" --record ./recordings/db-optimization.json

# 快速回放录制的会话(无计时延迟)
code-assistant --playback ./recordings/db-optimization.json --fast-playback

服务器模式

作为模型上下文协议服务器运行:

code-assistant server [选项]

可用选项:

  • -v, --verbose:启用详细日志记录

路线图

本节并不是真正的路线图,因为项目没有特定的顺序。 以下是一些可能成为下一个重点的主题。

  • 改进UI:UI有多种改进方式。
  • 持久化聊天:持久化所有聊天记录,并从侧边栏中提供访问。
  • 添加记忆工具:添加有助于构建在给定项目中有用的知识库的工具。
  • 安全性:理想情况下,所有工具的执行都应在某种沙箱中运行,以限制对由git跟踪的项目的文件的访问。 目前,工具拒绝绝对路径,但不检查相对路径是否指向项目外部或尝试访问被git忽略的文件。 execute_command工具运行一个带有提供的命令行的shell,目前完全没有检查。
  • 模糊匹配搜索块:研究模糊匹配搜索块的好处。 目前,文件被规范化(始终为\n行尾,无尾随空格)。 这大大提高了匹配搜索块的成功率,但某些模糊匹配方式可能会进一步提高成功率。 匹配失败会引入相当多的低效,因为它们几乎总是触发LLM重新读取文件。 即使replace_in_file工具的错误输出包括完整文件并告诉LLM不要重新读取文件。

贡献

欢迎贡献!请随时提交Pull Request。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档