Server MCP
UberLLM adalah server MCP di https://api.uberllm.dev/mcp. Agen yang terhubung dengannya dapat mencantumkan model, menentukan harga permintaan, membuat dan mengedit gambar, membuat video, dan memeriksa saldo Anda, tanpa perlu menulis panggilan HTTP.
Ini terdaftar di Registry MCP resmi sebagai dev.uberllm/mcp, sehingga klien yang membaca registry dapat menambahkannya berdasarkan nama.
Ini menggunakan transport HTTP Streamable. Masuk dengan API key yang sama yang Anda gunakan untuk /v1, dikirim sebagai Authorization: Bearer ull_.... Panggilan tool ditagih, dibatasi, dan ditolak persis seperti permintaan yang sama ke API: harga yang sama, batas pengeluaran per-key yang sama, dan permintaan yang gagal tidak dikenakan biaya.
Kode Claude
Ganti $KEY dengan API key Anda, atau atur KEY di shell Anda terlebih dahulu:
claude mcp add --transport http uberllm https://api.uberllm.dev/mcp --header "Authorization: Bearer $KEY"
Tambahkan --scope user untuk menggunakannya di setiap proyek. Jalankan claude mcp list untuk memeriksa apakah sudah terhubung.
Claude Desktop
Claude Desktop terhubung ke server jarak jauh dengan kunci melalui
mcp-remote (membutuhkan Node.js). Buka
Settings → Developer → Edit Config dan tambahkan:
{
"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" }
}
}
}
Header sengaja tidak memiliki spasi setelah :: di Windows, Claude Desktop
tidak mengutip spasi di dalam args. Mulai ulang Claude Desktop setelah menyimpan.
Cursor dan Klien Lainnya
Klien yang membaca file mcpServers (misalnya, ~/.cursor/mcp.json milik Cursor) menggunakan:
{
"mcpServers": {
"uberllm": {
"url": "https://api.uberllm.dev/mcp",
"headers": { "Authorization": "Bearer ull_your_key_here" }
}
}
}
Alat
| Alat | Fungsinya | Mengeluarkan Biaya |
|---|---|---|
list_models |
Model yang bisa Anda panggil sekarang, beserta harganya. type adalah chat, image, video, atau music; search menyimpan model yang id atau namanya mengandung kata-kata tersebut. |
Tidak |
get_model |
Satu model: harganya dan, untuk model media, parameters, sebuah JSON Schema dari opsi yang diterima permintaannya. |
Tidak |
quote |
Memeriksa permintaan gambar, video, musik, atau text-to-speech terhadap model dan menentukan harganya, tanpa membuat apa pun. Mengembalikan cost_usd, harga yang tertera, dan max_cost_usd, jumlah yang ditahan saat berjalan dan jumlah maksimum yang akan ditagihkan. |
Tidak |
generate_image |
Membuat gambar dari sebuah prompt. Mengembalikan tautan dan usage.cost_usd. Dengan return_image: true, gambar juga akan kembali dalam jawaban. |
Ya |
edit_image |
Mengubah gambar di image_url (atau gambar-gambar di input_images) mengikuti prompt. Gunakan model pengeditan, seperti yang id-nya berakhir dengan -edit. |
Ya |
start_video |
Memulai video dan mengembalikan sebuah job. Kirim idempotency_key agar percobaan ulang tidak pernah memulai atau membayar video kedua. |
Ya, saat video dibuat |
get_job |
Sebuah job video atau musik: status, progres, dan, setelah berhasil, tautan file serta biayanya. | Tidak |
wait_job |
Menunggu hingga sebuah job berakhir, hingga timeout_seconds (maksimal 50). Jika done adalah false, panggil lagi. |
Tidak |
balance |
Apa yang bisa Anda belanjakan sekarang dan apa yang ditahan untuk permintaan dan job yang masih berjalan, dalam dolar AS. | Tidak |
Opsi yang dicantumkan model dalam skema parameters-nya (misalnya duration_seconds,
resolution, atau aspect_ratio) masuk ke options pada quote, generate_image,
edit_image, dan start_video. Kirim max_cost (dolar AS) pada alat pengeluaran
untuk menolak apa pun yang biayanya bisa lebih mahal.
Sebuah video membutuhkan waktu sekitar 30 detik hingga beberapa menit. Alur biasanya adalah
get_model, quote, start_video, lalu wait_job hingga statusnya
succeeded, failed, canceled, atau expired.
File
Tautan hasil (/v1/media/artifacts/...) membutuhkan API key yang sama di header Authorization untuk mengunduh. File disimpan selama sekitar 3 jam setelah pekerjaan selesai; tautan gambar selama sekitar 15 menit. Lihat Buat video atau gambar untuk detail setiap permintaan.
Kesalahan
Ketika API menolak panggilan, alat akan merespons dengan hasil error yang membawa
pesan dan kode API itu sendiri, misalnya insufficient_credits atau
max_cost_too_low. Kode-kode tersebut ada di Kesalahan.
Anda dapat terhubung dan melihat daftar alat tanpa kunci, sehingga direktori dan
inspektur MCP dapat melihat apa yang dilakukan server. Setiap panggilan alat membutuhkan kunci Anda: tanpa
kunci tersebut, akan dijawab 401 sebelum alat apa pun berjalan, dan tidak ada yang dibaca atau dihabiskan.
Cek koneksi
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/call","params":{"name":"balance","arguments":{}}}'
Ini menjawab dengan saldo Anda. Tanpa baris Authorization, ini menjawab 401;
kirim "method":"tools/list" sebagai gantinya untuk melihat alat-alatnya tanpa kunci.