内容
# 人工智能分析 MCP 服务器
[](https://github.com/kravtandr/artificialanalysis-mcp/actions/workflows/ci.yml)
**非官方** [MCP](https://modelcontextprotocol.io) 服务器,用于 [Artificial Analysis 数据 API v2](https://artificialanalysis.ai/data-api/docs)。
让 AI 代理(Claude Desktop,Claude Code,Cursor,…)查找、比较和排名
AI 模型 — 大型语言模型、图像/视频生成、语音和音乐 — 按基准
分数、价格和速度。
> 本项目 **与 Artificial Analysis 无关**。所有数据归属于
> [Artificial Analysis](https://artificialanalysis.ai);每个工具响应
> 都包含其许可要求的署名。
服务器围绕 **搜索和过滤,而不是端点代理** 构建:它
下载并缓存完整的模型目录(默认 TTL 6 小时),然后在本地过滤、排序
和比较。这尊重 API 的严格每日请求配额
(免费层:100 请求/天)并保持工具响应紧凑。
## 工具
| 工具 | 目的 |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `find_models` | 按智能/编码/代理索引、价格、速度、TTFT、创建者、发布日期和(在 Pro 密钥上)开放权重、推理、上下文窗口、模态搜索/排名 LLMs。按任何指标排序,包括 `best_value`(每美元智能)。 |
| `get_model` | 通过 slug 或近似名称(模糊解析)获取一个 LLM 的完整卡片。 |
| `compare_models` | 2-5 个 LLMs 的并排指标表。 |
| `list_media_models` | 媒体竞技场的顶级模型:文本转图像、图像编辑、视频、文本转语音、语音转语音、语音转文本、音乐。按 Elo 或语音转文本的单词错误率(越低越好)排名。 |
| `get_api_status` | API 密钥层、剩余每日配额、缓存新鲜度。 |
## 设置
您需要一个 Artificial Analysis API 密钥(免费):
<https://artificialanalysis.ai/api-key-management-redirect>.
### Claude Code
```bash
claude mcp add artificialanalysis \
--env ARTIFICIAL_ANALYSIS_API_KEY=您的密钥 \
-- npx -y artificialanalysis-mcp
```
### Claude Desktop
添加到 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"artificialanalysis": {
"command": "npx",
"args": ["-y", "artificialanalysis-mcp"],
"env": {
"ARTIFICIAL_ANALYSIS_API_KEY": "您的密钥"
}
}
}
}
```
### Docker Compose(可流式传输的 HTTP,从源代码构建)
没有预先构建的镜像 — 容器是在您的
服务器上从源代码构建的:
```bash
git clone https://github.com/kravtandr/artificialanalysis-mcp.git
cd artificialanalysis-mcp
cp .env.example .env
# 编辑 .env:设置 ARTIFICIAL_ANALYSIS_API_KEY 和 MCP_AUTH_TOKEN
docker compose up -d --build
```
MCP 端点是 `POST http://127.0.0.1:3000/mcp`(使用您的
`MCP_AUTH_TOKEN` 进行 Bearer 认证);`GET /healthz` 进行健康检查。 在 `.env` 中设置 `MCP_PORT` 以
使用不同的主机端口。
更新代码后:
```bash
git pull && docker compose up -d --build
```
> ⚠️ **在没有 `MCP_AUTH_TOKEN` 的情况下,切勿公开暴露 HTTP 模式。** 任何
> 可以访问端口的人都可以花费您的每日 API 配额。服务器默认绑定到
> `127.0.0.1`(Docker 镜像在容器内绑定到 `0.0.0.0`),并且在外部绑定时没有令牌时会记录大声警告。
## 配置
| 变量 | 必需 | 默认 | 目的 |
| ----------------------------- | -------- | ------------------------------- | ------------------------------------------------ |
| `ARTIFICIAL_ANALYSIS_API_KEY` | 是 | — | Artificial Analysis 数据 API 密钥 |
| `AA_BASE_URL` | 否 | `https://artificialanalysis.ai` | API 基本 URL 覆盖(测试) |
| `AA_CACHE_TTL_SECONDS` | 否 | `21600` | 目录缓存 TTL(6 小时) |
| `AA_REQUEST_TIMEOUT_MS` | 否 | `30000` | 每请求超时 |
| `AA_TIER` | 否 | 自动检测 | 强制层级(`free`/`pro`/`commercial`) |
| `MCP_TRANSPORT` | 否 | `stdio` | `stdio` 或 `http` |
| `PORT` | 否 | `3000` | HTTP 端口 |
| `MCP_HTTP_HOST` | 否 | `127.0.0.1` | HTTP 绑定主机(Docker 镜像设置 `0.0.0.0`) |
| `MCP_AUTH_TOKEN` | 否 | — | 在 `/mcp` 上所需的 Bearer 令牌 |
| `LOG_LEVEL` | 否 | `info` | `debug`/`info`/`warn`/`error`(始终输出到 stderr) |
## 层级和限制
- **免费密钥** (100 请求/天)查看标题索引、输入/输出价格
和中位性能。只有专业过滤器(`open_weights_only`、
`reasoning_only`、`min_context_window_tokens`、`input_modalities`)被
报告为不支持,而不是被静默应用。
- **专业/商业密钥** 会自动检测并解锁完整
端点(扩展基准、混合价格、上下文窗口、模态、
提供商)。
- 缓存永远不会丢弃过期数据:如果 API 不可用或配额
已用完,工具将提供标记为 `stale: true` 的最新快照及其时间戳。
- Artificial Analysis 数据中的 `null` 表示“未测量”,而非零。数字
过滤器排除此类模型;排序将它们推到末尾。
## 开发
```bash
npm ci
npm run dev # 监视模式(stdio)
npm test # vitest(从不进行实际 API 调用)
npm run lint # eslint + prettier
npm run typecheck # tsc --noEmit
npm run build # tsup → dist/
npm run smoke # 对构建的 dist/ 进行 MCP 握手
npm run generate:types # 从 OpenAPI 规范重新生成 src/api/types.gen.ts
```
参见 `SPEC.md`(俄语)获取完整的技术规格,参见 `AGENTS.md`
获取贡献者规则。
## 许可证
[MIT](./LICENSE)。模型数据 © [Artificial Analysis](https://artificialanalysis.ai),
在其 API 许可条款下提供 — 响应始终引用
`来源:Artificial Analysis (https://artificialanalysis.ai)`。