Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Make images and videos, price requests, list AI models and read your balance, from one API key.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http uberllm https://api.uberllm.dev/mcp --header 'Authorization: Bearer {api_key}'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"uberllm": {
"url": "https://api.uberllm.dev/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"uberllm": {
"type": "http",
"url": "https://api.uberllm.dev/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 uberllm.dev 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于7天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, HotCodePush
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
UberLLM is an API marketplace for AI models: chat, image, video, music and speech. You call one OpenAI- and Anthropic-compatible API with one key. Each request is served by a third-party inference provider for that model, and costs what that provider charged for it.
https://api.uberllm.dev/v1 (OpenAI) or https://api.uberllm.dev (Anthropic).This repository holds the public tooling: plugins for Claude Code and Codex, a Gemini CLI extension, the uberllm agent skill, the Claude Code installer with its checksums, and copy-paste setup for SDKs and MCP clients.
Sign in at https://uberllm.dev with your email (a code is sent, no password), add credit, and create a key in Dashboard → Keys. Keys start with ull_.
This repository is a Claude Code plugin, a Codex plugin, a Gemini CLI extension and an Agent Skill. Each one adds UberLLM's hosted MCP server (https://api.uberllm.dev/mcp, Streamable HTTP) and/or the uberllm skill, which knows how to set UberLLM up, pick a model and make images and videos. Nothing to build or run locally: the server is hosted, and it authenticates with your key as Authorization: Bearer ull_....
MCP tools: list_models, get_model, quote, generate_image, edit_image, start_video, get_job, wait_job, balance. A tool call is billed exactly like the same API request. Full reference: https://uberllm.dev/docs/mcp
Claude Code plugin (MCP server + skill). Inside Claude Code:
/plugin marketplace add PSA-Team-source/uberllm
/plugin install uberllm@uberllm
Claude Code asks for your API key when the plugin is enabled and keeps it in your system's credential store. Set or change it later with claude plugin configure uberllm.
Codex plugin (MCP server + skill):
codex plugin marketplace add PSA-Team-source/uberllm
codex plugin add uberllm@uberllm export UBERLLM_API_KEY=ull_... # the MCP server reads the key from here
Gemini CLI extension (MCP server + skill):
gemini extensions install https://github.com/PSA-Team-source/uberllm
Gemini CLI asks for your API key on install and keeps it in your system keychain (change it with gemini extensions config uberllm). If you skip it, export UBERLLM_API_KEY=ull_... before starting gemini works too.
Skill only (Claude Code, Codex, Cursor, OpenCode and other agents that read Agent Skills), via skills.sh:
npx skills add PSA-Team-source/uberllm
MCP server only, Claude Code:
claude mcp add --transport http uberllm https://api.uberllm.dev/mcp --header "Authorization: Bearer ull_..."
Cursor (~/.cursor/mcp.json) and other clients that take a URL:
{
"mcpServers": { "uberllm": { "url": "https://api.uberllm.dev/mcp", "headers": { "Authorization": "Bearer ull_..." } } } }
VS Code (.vscode/mcp.json; VS Code asks for the key once and stores it):
{
"inputs": [ { "type": "promptString", "id": "uberllm-key", "description": "UberLLM API key (ull_...)", "password": true } ], "servers": { "uberllm": { "type": "http", "url": "https://api.uberllm.dev/mcp", "headers": { "Authorization": "Bearer ${input:uberllm-key}" } } } }
Claude Desktop (Settings → Developer → Edit Config), through mcp-remote:
{
"mcpServers": { "uberllm": { "command": "npx", "args": ["-y", "mcp-remote", "https://api.uberllm.dev/mcp", "--header", "Authorization:${UBERLLM_AUTH}"], "env": { "UBERLLM_AUTH": "Bearer ull_..." } } } }
The server is listed in the official MCP Registry as dev.uberllm/mcp (server.json).
from openai import OpenAI
client = OpenAI(base_url="https://api.uberllm.dev/v1", api_key="ull_...") r = client.chat.completions.create( model="deepseek/deepseek-v4-flash", messages=[{"role": "user", "content": "Say hello in five words."}], ) print(r.choices[0].message.content)
from anthropic import Anthropic
client = Anthropic(base_url="https://api.uberllm.dev", api_key="ull_...") m = client.messages.create( model="anthropic/claude-haiku-4.5", max_tokens=100, messages=[{"role": "user", "content": "Say hello in five words."}], ) print(m.content[0].text)
Any chat model in the catalog works on both APIs. Model ids are the ids on https://uberllm.dev/models.
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";
const uberllm = createOpenAICompatible({ name: "uberllm", apiKey: process.env.UBERLLM_API_KEY, baseURL: "https://api.uberllm.dev/v1", includeUsage: true, });
const { text } = await generateText({ model: uberllm("deepseek/deepseek-v4-flash"), prompt: "Say hello in five words.", });
Streaming, tool calls and images: https://uberllm.dev/docs/ai-sdk
mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key
~/.claude/settings.json (every project) or /.claude/settings.local.json (one project): {
"apiKeyHelper": "cat ~/.uberllm/key", "env": { "ANTHROPIC_BASE_URL": "https://api.uberllm.dev", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1" } }
install/claude-code.sh (macOS, Linux) and install/claude-code.ps1 (Windows) are byte-for-byte the files served at https://uberllm.dev/install/. They sign you in through the browser, save the key to a mode-600 file, merge ANTHROPIC_BASE_URL and an apiKeyHelper into your Claude Code settings (backing the file up first), and make one test request. --uninstall reverts it.
Read it, check it, then run it:
curl -fsSL https://uberllm.dev/install/claude-code.sh -o claude-code.sh
shasum -a 256 claude-code.sh # compare with install/SHA256SUMS less claude-code.sh sh claude-code.sh # add --project for this project only
| File | SHA-256 |
|---|---|
claude-code.sh | f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66c |
claude-code.ps1 | 60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9 |
If the file you downloaded does not match the sum above, do not run it, and tell us at support@uberllm.dev.
Details: https://uberllm.dev/docs/claude-code
support@uberllm.dev · Privacy · Terms
MIT