多模型代码审查工具

MCP服务器允许Claude Code调用多个LLM(OpenAI、Google Gemini、Kimi、MiniMax、GLM)进行代码审查和通用查询。

  • by duanyytop
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 duanyytop/agents-review-mcp

使用说明

代理人审查mcp

MCP服务器,允许Claude Code调用多个LLM(OpenAI、Google Gemini、Kimi、MiniMax、GLM)进行代码审查和一般查询。

中文文档

安装

# Clone and build
git clone <repo>
cd agents-review-mcp
pnpm install
pnpm build

# Add to Claude Code
claude mcp add agents-review-mcp -s user -- node /path/to/agents-review-mcp/dist/index.js

认证

选项A:API密钥

适用于除Gemini以外的所有提供商。有两种方法可以设置它。

通过克劳德代码(推荐) --用自然语言问:

添加我的OpenAI API密钥:sk-xxx

将我的Kimi API密钥设置为sk-Kimi-xxx

将GLM API密钥更新为xxx并使用型号GLM-4

克劳德会打电话的 add_api_key 自动。密钥保存到 ~/.config/agents-review-mcp/config.json.

直接通过config.json --编辑 ~/.config/agents-review-mcp/config.json (如果它不存在,请创建它):

{
  "providers": {
    "openai": {
      "apiKey": "sk-xxx",
      "enabled": true
    },
    "kimi": {
      "apiKey": "sk-kimi-xxx",
      "enabled": true
    },
    "minimax": {
      "apiKey": "xxx",
      "enabled": true,
      "model": "MiniMax-M2.5"
    }
  }
}

这 model 字段是可选的——省略它以使用提供者的默认模型。

选项B:重用Gemini CLI身份验证(仅限Gemini)

如果您已经使用 Gemini CLI,不需要额外的设置。

为什么这样做: Gemini CLI将Google OAuth令牌存储在 ~/.gemini/oauth_creds.json.此服务器直接读取这些令牌,并在调用Gemini Code Assist API时将其用作Bearer auth-与CLI本身相同。无需API密钥,无需OAuth流,无需Google Cloud项目。

令牌到期将自动处理:

  • 令牌在到期前5分钟使用Gemini CLI中嵌入的相同OAuth客户端凭据进行刷新
  • 刷新后的令牌将写回 ~/.gemini/oauth_creds.json,因此CLI也有好处

设置: 只管跑 gemini 至少进行一次身份验证,然后此服务器会自动检测凭据。跑 list_agents 确认 ✓ Enabled (Gemini CLI).

为什么Codex CLI Auth不起作用

您可能希望重复使用 Codex CLI 以同样的方式标记,但由于一个根本原因,它不起作用。

Gemini CLI调用标准HTTPS API(cloudcode-pa.googleapis.com)它接受OAuth承载令牌。 Codex CLI没有。 当通过ChatGPT OAuth进行身份验证时,Codex CLI会将请求路由到 chatgpt.com/backend-api/codex --内部ChatGPT后端:

  • 受Cloudflare bot检测保护(阻止curl/fetch,需要类似浏览器的TLS指纹)
  • 使用OpenAI响应API有线格式,而不是聊天完成
  • 从ChatGPT订阅配额中提取,与OpenAI API计费完全分离

Codex CLI二进制文件对此有一个硬编码的特殊情况:

let default_base_url = if matches!(auth_mode, Some(AuthMode::Chatgpt)) {
    "https://chatgpt.com/backend-api/codex"   // ChatGPT OAuth path
} else {
    "https://api.openai.com/v1"               // API key path
};

换句话说,Codex CLI OAuth令牌是 不 一个常规的OpenAI API令牌-它只适用于为Codex二进制文件设计的专用后端。在标准HTTP客户端中无法重用它。

若要在此服务器上使用OpenAI,请从添加API密钥 platform.openai.com.

用法

一旦服务器被添加到Claude Code中,只需用自然语言描述你想要什么。Claude将自动调用相应的工具。

检查哪些代理可用:

哪些AI代理已配置并准备好使用?

使用Gemini查看当前文件:

使用Gemini检查此文件是否存在错误和安全问题。

从另一个模型那里获得第二种意见:

让Kimi检查相同的代码,并与Gemini的反馈进行比较。

一次审查所有代理:

让所有配置的代理查看此TypeScript文件并总结常见问题。

重点安全审计:

使用Gemini对此文件中的身份验证逻辑进行以安全为重点的审查。查找SQL注入、硬编码秘密和不当的JWT使用。

结合上下文进行绩效评估:

这是一个在每次按键时运行的React钩子。请Gemini专门检查是否有不必要的重新渲染和缺失的依赖关系。

问一个设计问题:

问双子座:在电子商务购物车中,我应该使用乐观还是悲观的更新?有什么权衡?

演示

可用工具

list_agents

列出所有已配置的AI代理及其状态。

add_api_key

provider: openai | kimi | minimax | glm
api_key: string
model?: string   # optional, overrides default model

注:Gemini不支持API密钥身份验证。请改用Gemini CLI。

review_code

code: string       # code to review
agent: string      # provider name, or "all" for all configured agents
language?: string  # e.g., TypeScript, Python
context?: string   # extra context
focus?: array      # security | performance | style | bugs

ask_agent

agent: openai | gemini | kimi | minimax | glm
message: string
system_prompt?: string

支持的提供商

提供者 ID 默认模型 身份验证
OpenAI openai gpt-5.2 API密钥
谷歌双子座 gemini gemini-3.1-pro-review gemini CLI OAuth
月光射击(Moonshot) kimi 用于编码的kimi API密钥
MiniMax minimax MiniMax-M2.5 API密钥
GLM(智普AI) glm glm-5 neneneba API密钥

Kimi(登月计划)——重要提示

Kimi公开了两个具有不同端点、模型和访问策略的独立API。使用错误的会导致身份验证或访问错误。

Kimi编码API(此服务器使用)

此服务器使用 Kimi编码API,它是AI编码代理的专用端点。

字段 值
基本URL https://api.kimi.com/coding/v1
型号 kimi-for-coding
上下文窗口 262144个令牌
最大输出令牌数 32768

如何获取API密钥:

  1. 首选 kimi.com/code/console --这是 不 常规登月平台
  2. 订阅Kimi代码计划(API访问需要)
  3. 生成API密钥-密钥格式为 sk-kimi-...

访问限制: Kimi编码API仅接受来自公认编码代理(Kimi CLI、Claude Code、Roo Code、Kilo Code等)的请求。此服务器自动发送 User-Agent: claude-code/1.0.0 每一个请求都要满足这一要求。如果不使用此标头直接调用端点(例如,使用curl或通用OpenAI客户端),您将收到 403 access_terminated_error.

常见错误:

  • ❌ 使用 https://api.moonshot.ai/v1 -这是一般的Moonshot API,而不是编码端点
  • ❌ 使用模型 kimi-k2.5 或 moonshot-v1-* --这些是通用的Moonshot模型,在编码端点上不可用
  • ❌ 从获取API密钥 platform.moonshot.cn -那是给通用API的

常规Moonshot API(此服务器未使用)

如果你想使用Kimi的通用模型(moonshot-v1-8k, kimi-k2.5等),这些可在 https://api.moonshot.ai/v1 钥匙来自 platform.moonshot.cn。要使用这些,请在添加密钥时覆盖模型:

use add_api_key, provider=kimi, api_key=sk-xxx, model=moonshot-v1-8k

然后在中更新基本URL src/providers/registry.ts 并重建。

测试

# Verify server starts
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

# Check config
cat ~/.config/agents-review-mcp/config.json

# Check Gemini CLI tokens
cat ~/.gemini/oauth_creds.json