关于 ModelShortlist
ModelShortlist 是本地运行、使用自带密钥的 MCP 服务,利用 OpenRouter 目录和 Artificial Analysis 基准数据,帮助 AI 助手按具体工作负载评估模型。它会标明数据新鲜度,并由宿主 AI 做最终推荐。
主要功能
- 01按工作负载推荐模型
- 02按价格、上下文、工具和 ZDR 筛选
- 03比较模型及基准数据
- 04报告数据源新鲜度与状态
- 05本地处理 API 密钥且无遥测
适用场景
- 01为编码工作负载筛选模型
- 02查找满足上下文和价格限制的选项
- 03比较模型基准与端点详情
MCP 相关
向 MCP 客户端提供只读的推荐、比较和状态工具。它在本地使用用户的 OpenRouter 与 Artificial Analysis 凭据获取上游数据,不负责路由推理请求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @agentic.artists/modelshortlistARTIFICIAL_ANALYSIS_API_KEY密钥Artificial Analysis API key used to fetch benchmark and model-performance data.OPENROUTER_API_KEY密钥OpenRouter API key used to fetch model catalog and optional ZDR endpoint data.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| query | string | 否 | 可选的模型名称子串筛选条件。 |
| creator | string | 否 | 可选的模型创建者/提供商系列筛选条件。 |
| use_case | string | 是 | 用户需要模型执行的任务。详细保留其实际工作负载和优先级。 |
| min_context | integer | 否 | 所需的最小上下文窗口。 |
| requires_zdr | boolean | 否 | 仅当用户明确要求 Zero Data Retention(ZDR)时设为 true。否则保持 false,使所有 OpenRouter 模型都符合条件。 |
| force_refresh | boolean | 否 | 强制发起上游 API 新请求。谨慎使用,因为 AA Free 有配额限制。 |
| requires_tools | boolean | 否 | 工作负载需要工具/函数调用时为 True。 |
| max_input_price | number | 否 | OpenRouter 输入价格的可接受上限,单位为每 100 万个 token 的美元价格。 |
| max_output_price | number | 否 | OpenRouter 输出价格的可接受上限,单位为每 100 万个 token 的美元价格。 |
详细介绍
ModelShortlist
别再猜该用哪个 AI 模型了。
ModelShortlist 是一款本地 MCP 服务,支持自带密钥,可为你的 AI 助手提供基于 完整 OpenRouter 模型目录 和 Artificial Analysis 基准测试 的模型选择依据。它会按需或在缓存过期时刷新上游依据,并明确报告任何来源是否已过期或不可用。只有在你明确要求时,零数据保留(ZDR)才会作为硬性约束。
没有托管的 ModelShortlist 后端。无需账户。MCP 中没有遥测数据。你的 API 密钥仅保存在本地 MCP 进程中,并用于直接调用上游服务。
- 网站:modelshortlist.com
- 快速安装配置器:modelshortlist.com/install
- 模型选择指南:modelshortlist.com/guides
- npm:
@agentic.artists/modelshortlist - 官方 MCP Registry:
io.github.AgenticArtists/modelshortlist - 许可证:MIT
为什么选择 ModelShortlist
选择模型不再只是“哪个模型的基准测试分数最高?”正确答案取决于你实际的工作负载、功能、成本、上下文、可用性和隐私要求。
ModelShortlist 可帮助你的聊天 Agent 基于以下信息进行推理:
- OpenRouter 模型目录
- 工具/函数调用支持
- 上下文和补全限制
- OpenRouter 输入/输出定价,包括 OpenRouter 公布的分层定价
- 隐私要求适用时的 ZDR 端点可用性
- 适用时的 ZDR 端点延迟、吞吐量、正常运行时间和提供商选项
- Artificial Analysis Intelligence Index
- Artificial Analysis Coding Index
- Artificial Analysis Agentic Index
- Artificial Analysis 定价和中位性能
- 明确的来源新鲜度和降级状态警告
默认情况下,ZDR 不是资格要求。ModelShortlist 会考虑完整的 OpenRouter 模型目录。如果你明确要求 ZDR,它会切换到 OpenRouter ZDR 端点依据,并要求同一真实端点满足所有硬性约束。
宿主 AI 会根据你的使用场景给出最终建议。ModelShortlist 刻意不采用一种通用的排名公式。
最快安装方式
使用仅需浏览器的配置器:
它会为以下客户端生成专属配置或命令:
- Claude Desktop
- Hermes Desktop
- Cursor
- Claude Code
- VS Code / Copilot
你需要在配置器中粘贴自己的 Artificial Analysis 和 OpenRouter 密钥。配置器会在浏览器中使用这些密钥来生成配置文本,不会将它们发送给 ModelShortlist 或其后端。
要求:
- Node.js 20+
- 一个 Artificial Analysis API 密钥
- 一个 OpenRouter API 密钥
- 一个支持 MCP 的客户端
通用 npm 配置
大多数本地 stdio MCP 客户端(包括 Claude Desktop、Hermes Desktop 和 Cursor)都可以直接通过 npx 启动 ModelShortlist:
{
"mcpServers": {
"modelshortlist": {
"command": "npx",
"args": ["-y", "@agentic.artists/modelshortlist"],
"env": {
"ARTIFICIAL_ANALYSIS_API_KEY": "YOUR_KEY",
"OPENROUTER_API_KEY": "YOUR_KEY"
}
}
}
}
在 npx 不在应用 PATH 中的 Windows 图形界面客户端上,请使用 npx.cmd,或使用下方的引导式克隆配置。
引导式本地设置
此方式会将 API 密钥保存在本地、由 gitignore 排除的 .env.local 文件中,并打印可直接粘贴的 MCP 配置,其中包含绝对可执行文件路径。
Windows
git clone https://github.com/AgenticArtists/ModelShortlist.git
cd ModelShortlist
npm.cmd install
npm.cmd run setup
macOS / Linux
git clone https://github.com/AgenticArtists/ModelShortlist.git
cd ModelShortlist
npm install
npm run setup
设置命令会:
- 使用掩码输入提示输入两个 API 密钥
- 仅将密钥存储在受 git 忽略的
.env.local中 - 输出可直接粘贴到 Claude Desktop / Hermes Desktop / Cursor 和 VS Code / Copilot 中的 MCP 配置
- 使用运行设置命令的确切 Node 可执行文件,避免许多 GUI 客户端的 PATH 问题
如果 PowerShell 阻止 npm.ps1,请使用 npm.cmd;无需更改执行策略。
更多设置详情请见 LOCAL_MCP.md。
示例提示词
对于重复性编码子 Agent,我可以放心使用的最便宜模型是什么?必须支持工具调用。
我需要 200k 上下文和工具调用。目前有哪些最佳选择?
我需要 200k 上下文、工具调用和 ZDR。目前有哪些最佳选择?
对于这项编码工作负载,顶级前沿模型是否真的物有所值?
在保持输出成本较低的同时,从数千份文档中提取结构化数据,最适合用哪个模型?
我需要在每百万输出 token 不超过 $10 的预算下,实现最高水平的自主编码能力。应该用什么?
MCP 工具
recommend_models
用于针对特定工作负载提供推荐的主要工具。它接受硬性约束,例如:
- 是否要求 ZDR
- 是否要求工具调用
- 最小上下文长度
- 最高输入 / 输出价格
- 创作者 / 模型筛选条件
如果不要求 ZDR,该工具会考虑整个 OpenRouter 目录。如果明确要求 ZDR,则会根据 ZDR 端点证据进行筛选,并通过同一端点验证硬性约束。
只有在能够可靠匹配模型时,才会附加 Artificial Analysis 基准数据。无法可靠匹配基准数据的模型仍符合条件,其基准字段会留空,而不会被悄然移除。
严格的价格上限会保守地考虑 OpenRouter 为模型或端点公布的所有定价档位,而不会假设最低价 / 基础档位始终适用。
compare_models
针对指定的 OpenRouter 模型 ID 候选清单,返回 OpenRouter 目录信息、ZDR 可用性、(如有)Artificial Analysis 基准信息,以及来源新鲜度。
modelshortlist_status
显示来源新鲜度、OpenRouter 目录覆盖率、ZDR 覆盖率、模型匹配覆盖率、有歧义 / 未匹配的记录、缓存状态,以及 Artificial Analysis 速率限制元数据。
数据新鲜度与降级运行
ModelShortlist 不会悄然将过时证据称为“当前”。工具响应会显示来源级状态:
fresh:最近一次刷新尝试成功。stale:最近一次刷新失败,正在使用较早的进程内副本,并附带警告。unavailable:来源获取失败,且当前进程中没有缓存副本。
Artificial Analysis 可能独立发生故障,但不会导致 OpenRouter 模型被移除;基准字段会留空,而不会被视为零或表现不佳。普通请求也可能无法获取 OpenRouter ZDR 元数据,因为 ZDR 是可选项。
OpenRouter 模型目录是基础数据源。如果该目录不可用且没有缓存副本,或者返回空目录且不存在更早的有效副本,ModelShortlist 将拒绝生成候选清单。
如果请求要求 ZDR,但无法获取 ZDR 端点证据,系统会默认拒绝,而不会将其解释为“没有符合条件的模型”。如果缓存的 ZDR 证据已过时,系统会显示这一限制;并且在实际 OpenRouter 推理请求中,仍必须强制执行 / 重新验证 ZDR。
有关故障模式和客户端诊断,请参阅 docs/TROUBLESHOOTING.md。
匹配方式
Artificial Analysis Free API 不会公开 OpenRouter 模型 ID。ModelShortlist 会采用保守的方式协调模型:
- 手动验证的别名
- 规范化名称/slug 完全匹配
- 有歧义或未匹配的记录不会包含 Artificial Analysis 指标
ModelShortlist 不会对不确定的模型变体进行模糊匹配。缺少基准测试数据,也好过将基准测试数据关联到错误的模型。未匹配的 OpenRouter 模型仍可纳入考虑,只是不包含 Artificial Analysis 指标。
回归测试明确覆盖 mini/base、pro/small/thinking、preview/stable、带日期的发布版本、重复名称和错误别名等情况。
已验证的别名位于 config/aliases.json。
ZDR 是可选项
ModelShortlist 会追踪哪些模型具有支持 ZDR 的 OpenRouter 端点,但除非用户明确要求 Zero Data Retention,否则不会将结果筛选为仅包含这些模型。
如果要求 ZDR,ModelShortlist 会检查端点级别的资格和硬性约束。如果之后通过 OpenRouter 调用所选模型,请在实际推理请求中再次强制启用 ZDR:
{
"provider": {
"zdr": true,
"require_parameters": true
}
}
如果不要求 ZDR,不要仅仅因为某个模型恰好支持 ZDR 就添加 provider.zdr=true。
数据流
Your MCP client
|
| local stdio
v
ModelShortlist MCP
| |
| +--> OpenRouter model + endpoint metadata
|
+-------------> Artificial Analysis benchmark/performance evidence
|
v
structured evidence + freshness metadata
|
v
Your host AI reasons about the workload and recommends a fit
ModelShortlist 负责推荐,不负责路由推理或托管模型。
数据来源与归属
ModelShortlist 使用通过你自己的 API 凭据访问的数据。
- 模型目录、能力、定价、上下文和 ZDR 端点元数据:OpenRouter
- 基准测试和模型性能数据:Artificial Analysis
ModelShortlist 与 Artificial Analysis 或 OpenRouter 均无关联,也未获其背书。
ModelShortlist 源代码采用 MIT License 许可。上游数据和 API 仍受各自条款约束。ModelShortlist 不会打包或托管 Artificial Analysis 数据集;每位用户都使用自己的凭据访问上游数据,并负责遵守适用条款。
详情请参阅 ATTRIBUTION.md。
隐私与安全
- 基于克隆仓库的设置会将
.env.local加入 git 忽略列表。 - API 密钥由 MCP 进程在本地加载。
- 设置命令会对 API 密钥输入进行遮蔽。
- 浏览器安装配置工具不会将输入的密钥发送到 ModelShortlist 后端。
- ModelShortlist 不运营托管后端。
- MCP 工具为只读。
- MCP 中未内置遥测功能。
- CI 会审计生产环境中 MCP 和网站的依赖,以检查高危漏洞。
- CI 会验证 npm tarball 不包含
.env.local、网站源代码、测试或 GitHub 工作流文件。
如果发现安全问题,请参阅 SECURITY.md。
MCPB 和发布
ModelShortlist 会为本地服务分发渠道构建经过验证的 .mcpb 包。CI 会验证并打包该包。带标签的发布配置为:验证软件包、运行安全检查、通过 npm trusted publishing 发布尚未发布的 npm 版本,并将经过验证的 MCPB 包附加到 GitHub Release。
请参阅 docs/MCPB_DISTRIBUTION.md 和 docs/DISTRIBUTION.md。
发现与目录维护者
ModelShortlist 已发布到 Official MCP Registry。可复用的目录元数据和规范列表文案位于 docs/DIRECTORY_SUBMISSIONS.md。
仓库还包含用于验证此组织托管仓库归属权的 glama.json,供 Glama 使用。
开发
安装依赖并运行验证:
npm.cmd install
npm.cmd test
npm.cmd run check
npm.cmd run pack:check
手动测试 MCP 进程:
npm.cmd run mcp
正常运行的服务会打印:
ModelShortlist MCP server running on stdio
随后等待 MCP 客户端。按 Ctrl+C 停止服务。
欢迎贡献。请参阅 CONTRIBUTING.md。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。