新把任何智能体接入 UberLLM:一个密钥,所有模型,价格不高于官方价。
UberLLM

MCP 服务器

UberLLM 是一个位于 https://api.uberllm.dev/mcp 的 MCP 服务器。连接到它的代理可以列出模型、为请求定价、制作和编辑图像、制作视频以及查询余额,而无需编写 HTTP 调用。

它在 官方 MCP 注册表 中被列为 dev.uberllm/mcp,因此读取注册表的客户端可以通过名称添加它。

它使用可流式传输的 HTTP 传输。使用您用于 /v1 的相同 API key 登录,以 Authorization: Bearer ull_... 的形式发送。工具调用会像对 API 的相同请求一样被计费、限制和拒绝:相同的价格、相同的每个 key 的消费限额,并且失败的请求不收取任何费用。


Claude Code

将 $KEY 替换为您的 API key,或者先在您的 shell 中设置 KEY:

claude mcp add --transport http uberllm https://api.uberllm.dev/mcp --header "Authorization: Bearer $KEY"

添加 --scope user 以便在每个项目中都使用它。运行 claude mcp list 来检查它是否已连接。

Claude 桌面版

Claude 桌面版通过 mcp-remote (需要 Node.js) 使用密钥连接到远程服务器。打开 设置 → 开发者 → 编辑配置 并添加:

{
  "mcpServers": {
    "uberllm": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.uberllm.dev/mcp", "--header", "Authorization:${UBERLLM_AUTH}"],
      "env": { "UBERLLM_AUTH": "Bearer ull_your_key_here" }
    }
  }
}

请求头在 : 之后没有空格是故意的:在 Windows 上,Claude 桌面版不会引用 args 中的空格。保存后重启 Claude 桌面版。


Cursor 和其他客户端

读取 mcpServers 文件的客户端(例如 Cursor 的 ~/.cursor/mcp.json)接受:

{
  "mcpServers": {
    "uberllm": {
      "url": "https://api.uberllm.dev/mcp",
      "headers": { "Authorization": "Bearer ull_your_key_here" }
    }
  }
}

工具

工具 功能 花费
list_models 您现在可以调用的模型及其价格。type 是 chat、image、video 或 music;search 保留 ID 或名称中包含这些词的模型。 否
get_model 一个模型:其价格,以及对于媒体模型,parameters,一个包含其请求选项的 JSON Schema。 否
quote 根据模型检查图像、视频、音乐或文本转语音请求并定价,但不实际生成任何内容。返回 cost_usd(标价)和 max_cost_usd(运行时预留的金额以及最高计费金额)。 否
generate_image 根据提示生成图片。返回链接和 usage.cost_usd。如果使用 return_image: true,图片也会在响应中返回。 是
edit_image 根据提示更改 image_url 中的图片(或 input_images 中的多张图片)。使用编辑模型,例如 ID 以 -edit 结尾的模型。 是
start_video 开始生成视频并返回一个任务。发送 idempotency_key 以确保重试不会启动或支付第二个视频的费用。 是,当视频生成时
get_job 一个视频或音乐任务:状态、进度,以及成功后,其文件链接和成本。 否
wait_job 等待任务结束,最长 timeout_seconds(最多 50)。如果 done 是 false,请再次调用。 否
balance 您现在可以花费的金额以及为正在运行的请求和任务预留的金额,以美元计。 否

模型在其 parameters schema 中列出的选项(例如 duration_seconds、 resolution 或 aspect_ratio),在 quote、generate_image、 edit_image 和 start_video 上会作为 options 传入。在消费工具上 发送 max_cost(美元),以拒绝任何可能花费更多的请求。

一个视频大约需要 30 秒到几分钟。通常的流程是 get_model、quote、start_video,然后 wait_job,直到状态为 succeeded、failed、canceled 或 expired。

文件

结果链接 (/v1/media/artifacts/...) 需要在 Authorization header 中提供相同的 API key 才能下载。文件在任务完成后会保留大约 3 小时;图片链接会保留大约 15 分钟。请参阅 创建视频或图片 以了解每个请求的详细信息。

错误

当 API 拒绝调用时,工具会返回一个错误结果,其中包含 API 自己的消息和代码,例如 insufficient_credits 或 max_cost_too_low。这些代码在 Errors。没有有效 key 的请求会在任何工具运行之前收到 401 的响应。

检查连接

curl https://api.uberllm.dev/mcp \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'