AI CLI验证与比较工具

agentic-mcp是一款帮助用户验证已安装的AI CLI工具是否可用,并支持在同一提示下比较多个提供商的工具,适用于终端开发者和需要多提供商比较的场景。

  • by F0rty-Tw0
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 F0rty-Tw0/agentic-mcp

使用说明

代理mcp

从一个命令界面或一个MCP设置中证明并比较您已经安装的AI CLI。

agentic-mcp 帮助您证明已安装的提供程序CLI可以执行实际工作,在同一提示下比较多个已安装的提供方,并在终端和MCP客户端之间重用一个工作流。

这是给谁的

  • 已安装至少一个提供程序CLI的终端优先开发人员
  • 希望在同一提示下比较两个已安装提供程序的开发人员
  • 希望为Claude Code、Cursor或Windsurf提供一个可重用设置路径的MCP客户端用户
  • 工具和代理构建者希望在安装的CLI之间有一个一致的询问、ping和比较界面

谁应该跳过它

  • 只需要一个提供商并且对该提供商的原生CLI感到满意的用户
  • 寻找托管路由、托管计费或云模型市场的用户
  • 尚未安装或验证任何提供程序CLI的用户

为什么存在

  • 安装的AI CLIs暴露了不同的证明路径、标志和工作流程
  • 手动比较提供者意味着重新运行相同的提示并自己收集输出
  • 当每个工具都需要自己的集成条目时,MCP客户端设置会变得重复
  • agentic-mcp 在一个工作流中保持证明、比较和可重用的设置

在30秒内选择您的路径

MCP是编辑器和代理客户端实现相同工作流的方式。这是交付机制,而不是使用该项目的原因。

具体场景

  • “我安装了Claude,在将其连接到其他任何东西之前,我想知道它是否真的经过身份验证。”
  • “我安装了Claude和Codex,并希望在同一提示符下比较他们的重构建议。”
  • “我已经在使用Claude Code,希望有一个可重用的设置,而不是每个提供者单独的MCP条目。”

何时使用其他东西

  • 当一个提供程序就足够了,并且不需要比较或MCP重用时,使用提供程序的本机CLI
  • 使用 llm 当您希望为本地和远程模型提供以插件为中心的广泛CLI时
  • 当您希望在一个API后面托管多模型路由时,请使用OpenRouter
  • 使用 mcpc 当您的主要目标是配置一次MCP可移植性,并且不需要安装CLI证明或并排比较时
  • 使用 agentic-mcp 当您已经使用了已安装的提供程序CLI,并希望进行证明、比较和一个可重用的工作流时

运作原理

  1. 您可以在本地安装一个或多个提供程序CLI并对其进行身份验证。
  2. agentic-mcp 帮助您证明一种方法适用于实际任务,并在同一提示下比较几种方法。
  3. 如果您想要编辑器或代理集成,您可以通过MCP客户端重用相同的工作流。

开始之前

您需要:

  • Node.js 22或更新版本
  • 至少有一个受支持的提供程序CLI已在本地安装并经过身份验证
  • 仅当您需要编辑器或代理集成时才使用MCP客户端;直接使用CLI无需使用

目前支持的提供程序二进制文件:

  • 核心支持提供商: claude, codex, copilot, gemini, opencode
  • 其他已启用的提供程序: aider, goose, amp, cline, agent (游标代理CLI), droid
  • 已禁用的模板已发送以供以后验证: q (亚马逊Q), plandex, openhands, qwen, tabnine

list_providers 是启用什么、禁用什么、每个提供程序处于哪个支持级别以及模板仍然需要哪些先决条件的真相来源。如果基础二进制文件丢失或未登录,在提供程序调用失败时,安装程序仍可能成功。

快速入门

1.运行最低限度的入职培训

npx agentic-mcp init

init 是一个安全的入职别名 setup --minimal。它安装捆绑的 using-agentic-mcp 技能,检测提供程序二进制文件,并告诉您仍未经验证的内容。

这一步证明了什么:

  • agentic-mcp 已安装,可以在本地运行
  • 捆绑技能可用于代理工作流
  • 在此计算机上检测到哪些提供程序二进制文件

这一步没有证明什么:

  • MCP客户端配置已编写
  • 提供者身份验证有效
  • 真正的提示可以通过提供者完成

2.发现检测到的内容

npx agentic-mcp list_providers

这一步证明了什么:

  • 哪些供应商 binary detected, binary missing,或 disabled
  • 每个配置的提供程序报告的支持级别
  • 禁用模板仍然需要哪些先决条件
  • 哪个供应商应该是你的第一个真正的答案候选人

这一步没有证明什么:

  • 提供者身份验证有效
  • 真正的提示可以通过该提供者完成

3.得到你的第一个真实答案

npx agentic-mcp prove

使用 npx agentic-mcp prove codex 如果你想强制检测特定的提供者。

这一步证明了什么:

  • agentic-mcp 可以选择一个检测到的提供者,并通过它路由一个真正的提示
  • 您安装的提供程序可用于此项目的实际工作

里程碑:您现在已成功地将一个真正的提供商路由到 agentic-mcp.

4.比较两个可用的提供者

npx agentic-mcp ask_all "Reply with one sentence on why your answer is useful here." --providers claude,codex --report ./reports/first-comparison.json

仅当您希望在同一提示下进行并排比较时,才使用此选项。添加 --report <path> 当您希望将结构化比较保持为可重用的JSON工件时。

这一步证明了什么:

  • 您可以通过一个界面比较提供者,而不是手动多次运行同一提示
  • ask_all 是产品的比较工作流程,而不仅仅是高级附加功能
  • 比较结果可以保存并在终端外部重复使用

里程碑:您现在已经通过以下方式完成了第一次并排提供商比较 agentic-mcp.

5.可选:运行有限ping检查

npx agentic-mcp ping_claude

替换 claude 使用您实际安装的提供商。

这一步证明了什么:

  • 检测到所选的提供程序二进制文件
  • 如果提供程序公开了一个版本,则版本检查有效

这一步没有证明什么:

  • 提供者身份验证有效
  • 一个真实的提供者答案可以完成

6.当您需要编辑器或代理集成时,添加MCP客户端设置

如果你想在Claude Code、Cursor或Windsurf中使用MCP工具,现在就编写客户端配置条目:

npx agentic-mcp setup --client claude-code --yes
npx agentic-mcp setup --client cursor --yes
npx agentic-mcp setup --client windsurf --yes

对于另一个MCP客户端,生成一个通用的JSON条目,并自己选择目标文件:

npx agentic-mcp setup --client generic --path /path/to/mcp.json --yes

如果要在编写之前预览更改,请添加 --dry-run。如果您只关心终端的使用情况,可以在完成上述验证步骤后停止。

这一步证明了什么:

  • agentic-mcp 可以写入或预览MCP客户端条目
  • 设置输出告诉您配置了什么,检测到了什么,还有什么未经验证

这一步没有证明什么:

  • 提供者身份验证有效
  • 真正的提供商响应可以通过以下方式完成 agentic-mcp

如果您使用的是MCP模式,请在安装后重新启动客户端,并确认以下工具 list_providers, ping_<provider>, ask_<provider>,以及 review_<provider> 在支持的地方出现。

支持的MCP客户端

客户端 安装命令 默认配置路径
克劳德代码 npx agentic-mcp setup --client claude-code --yes ~/.claude/claude_desktop_config.json
光标 npx agentic-mcp setup --client cursor --yes ~/.cursor/mcp.json
风帆冲浪 npx agentic-mcp setup --client windsurf --yes ~/.codeium/windsurf/mcp_config.json
通用JSON npx agentic-mcp setup --client generic --path /path/to/mcp.json --yes 用户提供

安装程序默认使用合并模式,保留现有的MCP服务器,在适当的时候创建备份,并在更新文件后验证写入。

对于Claude工具,设置目标名称为 claude-code,但它更新的配置文件是 ~/.claude/claude_desktop_config.json。该文件名来自客户端配置约定,而不是来自此包。

常见工作流程

将其用作直接CLI

您不需要MCP客户端即可使用 agentic-mcp.

npx agentic-mcp prove
npx agentic-mcp ask_claude "What changed in TypeScript 5.9?"
npx agentic-mcp ask_codex "Suggest a refactor for this function"
npx agentic-mcp sessions_claude

当在没有子命令的情况下运行时, agentic-mcp 作为MCP stdio服务器启动。

与提供商一起查看存储库更改

今天,这主要用于 review_codex,因为Codex是第一个带有审查命令的发货供应商。

npx agentic-mcp review_codex --scope uncommitted --working-dir .

审核标志:

标志 含义 何时使用
--scope uncommitted 查看分阶段、未分阶段和未跟踪的更改 快速传递您当前的工作树
--scope commit --commit <sha> 审查一个提交 专注于一个变更集
--scope range --base <ref> 查看与基本分支或引用相关的所有内容 根据主分支查看特征分支
--working-dir <path> 在特定的存储库根目录中运行审核 当您当前的shell目录不是您想要审核的存储库时,这是必需的
--model <name> 传递特定于提供程序的模型提示 需要时覆盖提供程序默认值
--stream-live 在终端中显示实时评论进度 适用于较长时间的评论,因此命令不会显得空闲

示例:

npx agentic-mcp review_codex --scope uncommitted --working-dir .
npx agentic-mcp review_codex --scope commit --commit HEAD~1 --working-dir .
npx agentic-mcp review_codex --scope range --base origin/main --working-dir . --model gpt-5

审查命令通过与以下相同的MCP工具表面发送 ask_<provider>,因此编辑器客户端可以公开 review_<provider> 当该提供者声明查看命令时。

在同一提示下比较提供者

npx agentic-mcp ask_all "Summarize this API design" --providers claude,codex,gemini
npx agentic-mcp ask_all "Compare providers" --providers gemini codex
npx agentic-mcp ask_all "Use one shared model" --providers claude,gemini --model claude-sonnet-4
npx agentic-mcp ask_all "Compare bugfixes" --providers claude,codex --report ./reports/bugfixes.json

当您希望并排回答而无需多次手动运行同一提示时,请使用此选项。添加 --report <path> 当您想要保存比较的JSON工件时。

ask_all标志语义

标志 含义 接受形式 注释
--provider 提供程序选择器别名 --provider gemini, --provider gemini codex 标准化为 --providers
--providers 明确的提供者选择 --providers gemini,codex, --providers gemini codex 逗号分隔和空格分隔的值都可以接受
--model 每个选定提供程序的共享模型提示 --model claude-sonnet-4 只传递一个共享模型值
--models 共享模型提示别名 --models claude-sonnet-4 标准化为 --model 解析之前

ask_所有标志组合

  • --providers 或 --provider 决定运行哪些提供商。
  • --model 或 --models 决定将哪个共享模型提示传递给那些选定的提供者。
  • --model 只取一个共享模型值。使用 --providers 用于提供商选择。
  • 如果你结合 --providers 随着 --model,提供者选择来自 --providers 共享模型来自 --model示例: --providers claude,gemini --model claude-sonnet-4.
  • 如果所选提供商拒绝共享模型,认为其不可用或不受支持, ask_all 直接返回该提供程序错误,而不是回退到不同的模型。
  • 未知的ask_all标志仍然会快速失败,并出现验证错误。

检查此机器上检测到的内容

npx agentic-mcp list_providers
npx agentic-mcp ping_claude
npx agentic-mcp help_claude
npx agentic-mcp provider_metrics

provider_metrics 是事后观点:它告诉你实际使用了哪些提供商,他们成功的频率,以及他们花了多长时间。

内置提供商支持

这些提供程序定义随项目一起提供。它们是否在您的计算机上实际可用仍然取决于安装和验证的底层CLI二进制文件。

提供者 二进制 支持级别 默认启用 注意
克劳德 claude 稳定 是 询问,会话
食品法典委员会 codex 稳定 是 提问、复习、会话
副驾驶 copilot 稳定 是 询问,会话
双子座 gemini 稳定 是 问
OpenCode opencode 稳定 是 询问、会话、模型列表
助手 aider 社区 是 问
鹅 goose beta 是 询问,会话
放大器 amp beta 是 问
克莱恩 cline beta 是 问
光标 agent beta 是 问
Droid droid beta 是 问
亚马逊Q q 实验 否 禁用具有先决条件的模板
Plandex plandex 社区 否 已禁用具有先决条件的模板
开诚布公 openhands 实验 否 禁用具有先决条件的模板
Qwen代码 qwen 实验 否 禁用具有先决条件的模板
表九 tabnine 实验 否 禁用具有先决条件的模板

提供程序定义在 src/config/providers.json.

有用的设置标志

agentic-mcp setup 支持一些经常重要的标志:

  • --minimal -安装技能并打印建议的后续步骤,而无需编写客户端配置
  • --dry-run -在不写入文件的情况下预览计划的更改
  • --yes -允许非交互式写入
  • --mode merge|overwrite -选择如何更新现有配置文件
  • --path <file> -针对特定的配置文件
  • --backup if-exists|always|never -控制备份行为
  • --output json -机器可读设置输出

命令概述

npx agentic-mcp <command> [options]

核心命令:

命令 它的作用
ask_<provider> <prompt> 查询一个提供者
review_<provider> 在提供者声明审查命令的地方运行存储库审查
ask_all <prompt> 并行查询多个提供者
ping_<provider> 检查有限供应商证明
help_<provider> 显示提供程序CLI帮助输出
sessions_<provider> 列出该提供商的已知会话
list_providers 显示已配置的提供程序,包括检测到的状态、支持级别和先决条件
provider_metrics 显示您实际使用了哪些提供商,他们成功的频率以及他们花了多长时间
prove [provider] 对检测到的提供者运行一个预设的真实答案证明
setup 配置MCP客户端

跑 npx agentic-mcp --help 以获取完整的CLI参考。

AI代理设置指南

如果你想让另一个AI代理可靠地发现和使用这个项目:

一旦上述基本设置生效,该材料就很有用。正常的首次运行不需要它。

发展

pnpm install
pnpm run dev
pnpm run build
pnpm run test
pnpm run typecheck
pnpm run lint

如果要手动检查MCP服务器:

pnpm run inspect

贡献

看 贡献.md.

许可证

麻省理工学院