Yapay zeka ajanları ve MCP istemcileri için
BananaBanana MCP Server
Doğrudan Claude Desktop, Claude Code and diğer tüm MCP istemcilerinden yapay zeka görselleri ve videoları üretin — ödemenizi abonelik olmadan, doğrudan BananaBanana bakiyenizden üretim başına yapın.
Tek uç nokta, tüm modeller
Uzak bir Model Context Protocol sunucusu, tüm BananaBanana üretim altyapısını ajan araçları olarak sunar: Google Nano Banana 2 Lite / 2 / Pro görselleri ($0.03'dan başlayan), Veo 3.1 / Fast / Lite videoları ve sesli Gemini Omni Flash ($0.09–1.00), Wan 3.0, MiniMax H3. Ajanınız güncel fiyatları görür, yüksek maliyetli işlemlerden önce maliyeti onaylar; ayrıca her üretim, web sitesiyle ortak olan geçmişe ve bakiyeye işlenir.
- Uç Nokta:
https://bananabanana.pro/api/mcp(Streamable HTTP) - Kimlik doğrulama: OAuth 2.1 ile oturum açın (claude.ai ve diğer bağlayıcı tabanlı istemciler) veya profilinizden bir Bearer API anahtarı kullanın
- İstek Sınırı: Anahtar başına dakikada 20 araç çağrısı; isteğe bağlı anahtar bazlı günlük harcama limiti
- MCP istemciniz yok mu? Aynı uç nokta HTTPS üzerinden düz JSON-RPC'dir — herhangi bir SDK kullanmadan curl, Python veya TypeScript ile çağırın
- Başarısız olan veya içerik filtresine takılan üretimler otomatik olarak iade edilir
- Dokümanlara ve
server.jsondosyasına göz atın; bananabanana-mcp GitHub deposundaki hazır istemci şablonlarını kopyalayıp yapıştırın
Üç adımda bağlantı
1. Bir hesap oluşturun ve bakiye yükleyin. 2. Profil → MCP API Anahtarları bölümünde bir anahtar oluşturun (yalnızca bir kez gösterilir). 3. Sunucuyu istemcinize ekleyin:
claude.ai, Claude Desktop, mobil (OAuth — kopyalanacak bir şey yok)
Settings → Connectors → Add custom connector adımında https://bananabanana.pro/api/mcp adresini yapıştırın ve Connect'e basın. Claude kendini kaydeder, siz BananaBanana ekranında erişimi onaylarsınız ve üretimler oturum açtığınız hesaptan düşülür.
Settings → Connectors → Add custom connector
URL: https://bananabanana.pro/api/mcp
→ Add → Connect → approve access on bananabanana.proAynı akış, MCP yetkilendirmesini destekleyen her istemcide çalışır: MCP Inspector, ChatGPT ve Grok web bağlayıcıları, Claude Code. Bağlı uygulamalar profilinizde listelenir ve istediğiniz zaman bağlantısı kesilebilir.
Claude Code
# with an API key
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
--header "Authorization: Bearer bb_live_YOUR_KEY"
# or with OAuth — no key, sign in in the browser
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp
# then run /mcp inside Claude Code and pick "Authenticate"Claude Desktop
claude_desktop_config.json dosyasına ekleyin (Settings → Developer → Edit Config); mcp-remote köprüsü için Node.js gerekir:
{
"mcpServers": {
"bananabanana": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://bananabanana.pro/api/mcp",
"--header", "Authorization: Bearer bb_live_YOUR_KEY"
]
}
}
}Cursor
Global olarak ~/.cursor/mcp.json dosyasına veya proje içindeki .cursor/mcp.json dosyasına ekleyin; anahtarı dosyada açıkça yazmamak için doğrudan değer yerine ${env:BB_API_KEY} kullanın:
{
"mcpServers": {
"bananabanana": {
"url": "https://bananabanana.pro/api/mcp",
"headers": {
"Authorization": "Bearer bb_live_YOUR_KEY"
}
}
}
}Özellikler ve canlı anahtarlı demo dahil olmak üzere eksiksiz Cursor incelemesi: Cursor'da Görsel Üretin.
VS Code / GitHub Copilot
Çalışma alanındaki .vscode/mcp.json dosyasına (veya kullanıcı settings.json dosyanıza) ekleyin; VS Code anahtarı sizden bir kez ister ve şifrelenmiş olarak saklar:
{
"servers": {
"bananabanana": {
"type": "http",
"url": "https://bananabanana.pro/api/mcp",
"headers": {
"Authorization": "Bearer ${input:bb-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "bb-api-key",
"description": "BananaBanana API key (bb_live_…)",
"password": true
}
]
}İpuçları ve canlı anahtarlı demo dahil olmak üzere eksiksiz VS Code / Copilot incelemesi: VS Code'da Görsel Üretin: Copilot MCP Kurulum Kılavuzu.
Windsurf
~/.codeium/windsurf/mcp_config.json dosyasına ekleyin:
{
"mcpServers": {
"bananabanana": {
"serverUrl": "https://bananabanana.pro/api/mcp",
"headers": {
"Authorization": "Bearer bb_live_YOUR_KEY"
}
}
}
}Windsurf MCP Setup: Generate Images in Cascade
Cline
{
"mcpServers": {
"bananabanana": {
"type": "streamableHttp",
"url": "https://bananabanana.pro/api/mcp",
"headers": {
"Authorization": "Bearer bb_live_YOUR_KEY"
},
"disabled": false,
"autoApprove": ["list_models", "get_account", "get_result"]
}
}
}Cline MCP Server: Generate Images From Your Editor
Diğer tüm MCP istemcileri (düz JSON-RPC)
POST https://bananabanana.pro/api/mcp
Authorization: Bearer bb_live_YOUR_KEY
Content-Type: application/json
Accept: application/json, text/event-stream
{"jsonrpc":"2.0","id":1,"method":"tools/list"}ping ve keşif listeleri (tools/list, prompts/list, resources/list) dışındaki her yöntem kimlik bilgisi ister — initialize dahil: kimliği doğrulanmamış el sıkışma, WWW-Authenticate yanıt başlığıyla 401 döner. Bu asimetri bilinçli, hata değil: bağlayıcı istemci sunucunun OAuth kullandığını tam olarak bu yanıttan anlar. Araç kataloğunu anahtarsız okumak yine mümkün.
Detaylı bir rehber mi istersiniz? Claude Code'da Görsel Üretin eğitim içeriği, dört gerçek kullanım senaryosu ve bunların maliyetleriyle birlikte Claude kurulumunu uçtan uca ele alıyor.
İstemci uyumluluğu
MCP açık bir protokoldür: Streamable HTTP konuşabilen ve bir Authorization başlığı ekleyebilen tüm istemciler bağlanabilir. Sağlayıcıların resmi belgeleriyle doğrulanan güncel durum (son kontrol: Ağustos 2026):
| İstemci | Şu an çalışıyor mu? | Nasıl |
|---|---|---|
| Claude Code | evet | claude mcp add --transport http … --header |
| Claude Desktop / claude.ai | evet | özel bağlayıcı: URL'yi yapıştırın ve OAuth ile oturum açın (başlıkta anahtar da çalışır, beta) |
| Cursor | evet | .cursor/mcp.json: url + headers, gizli anahtarlar ${env:…} üzerinden — yukarıdaki kod parçasına bakın |
| VS Code / GitHub Copilot | evet | .vscode/mcp.json: type: "http" + url + headers; anahtarı promptString girdisi olarak kaydedin — VS Code anahtarı bir kez ister ve şifrelenmiş olarak saklar |
| ChatGPT desktop / Codex CLI / IDE | evet | ortak ~/.codex/config.toml: url + bearer_token_env_var (anahtarı ortam değişkenine koyun). ChatGPT web bağlayıcıları yapıştırılan anahtar yerine OAuth ile oturum açar |
| Gemini CLI | evet | settings.json dosyasında httpUrl + headers |
| Windsurf | evet | serverUrl + headers in mcp_config.json (Devin Local agent: url + transport: "http"). Setup guide |
| Cline | evet | type: "streamableHttp" + url + headers in the MCP settings JSON. Setup guide |
| xAI API (Grok) | evet | sunucuya gönderilen server_url ve authorization değeri ile MCP aracı Setup guide |
| grok.com (web) | kısmen | özel bağlayıcılar sunucu URL'si alır (Connectors → New Connector → Custom); oturum açma bizim OAuth 2.1 akışımızdan geçer |
| ZCode (GLM-5.2) | evet | Settings → MCP Servers → HTTP türü + Authorization başlığı; Claude Code içindeki GLM-5.2, Claude Code yapılandırmasını miras alır |
| Diğer her şey | evet | HTTPS üzerinden düz JSON-RPC — aşağıdaki Kodla çağırın bölümüne bakın |
Codex örneği — ~/.codex/config.toml dosyasına ekleyin ve BB_API_KEY=bb_live_… değerini export edin:
[mcp_servers.bananabanana]
url = "https://bananabanana.pro/api/mcp"
bearer_token_env_var = "BB_API_KEY"Tek bir yapılandırmadan CLI, IDE eklentisi ve ChatGPT masaüstü dahil eksiksiz Codex incelemesi (püf noktaları ve canlı anahtarlı demo): Codex MCP Kurulumu: Tek bir config.toml ile Görsel ve Video.
Kodla çağırın
MCP istemcisi kullanmıyor musunuz? Buna ihtiyacınız yok; üstelik bir SDK'ya da gerek yok. Sunucu, HTTPS üzerinden düz JSON-RPC 2.0 protokolünü kullanır: tek bir POST uç noktası, bir Bearer başlığı ve tek bir JSON yanıtı. Durumsuz (stateless) yapısı sayesinde yönetilecek bir oturum el sıkışması (handshake) yoktur — tools/call, curl, Python, TypeScript ya da HTTP isteği gönderebilen herhangi bir sistemden gelen ilk istek olarak doğrudan çalışır.
curl
# start an image generation (charges one image, $0.03 on the default Lite model)
curl -s https://bananabanana.pro/api/mcp \
-H "Authorization: Bearer bb_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
"name":"generate_image",
"arguments":{"prompt":"studio photo of a ceramic mug on linen, soft daylight"}}}'
# → result.structuredContent.job_id = "cmxy…"
# fetch the result (long-polls server-side up to 30 s; free)
curl -s https://bananabanana.pro/api/mcp \
-H "Authorization: Bearer bb_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
"name":"get_result",
"arguments":{"job_id":"cmxy…","wait_seconds":30}}}'Python
Yalnızca requests — MCP kütüphanesi gerekmez:
import requests
MCP = "https://bananabanana.pro/api/mcp"
HEADERS = {"Authorization": "Bearer bb_live_YOUR_KEY"}
def call(tool, **args):
r = requests.post(MCP, headers=HEADERS, json={
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": tool, "arguments": args},
})
r.raise_for_status()
return r.json()["result"]["structuredContent"]
job = call("generate_image", prompt="watercolor painting of a lighthouse at dawn")
result = call("get_result", job_id=job["job_id"], wait_seconds=30)
while result["status"] == "processing":
result = call("get_result", job_id=job["job_id"], wait_seconds=30)
print(result["files"][0]["url"], "cost:", result["cost_charged_usd"])TypeScript / Node.js
Sıfır bağımlılık — yerleşik fetch (Node 18+, Deno, Bun, tarayıcılar):
const MCP = "https://bananabanana.pro/api/mcp";
async function call(tool: string, args: Record<string, unknown>) {
const res = await fetch(MCP, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.BB_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
jsonrpc: "2.0", id: 1, method: "tools/call",
params: { name: tool, arguments: args },
}),
});
const { result } = await res.json();
return result.structuredContent;
}
const job = await call("generate_image", {
prompt: "isometric 3D render of a tiny greenhouse at golden hour",
});
let out = await call("get_result", { job_id: job.job_id, wait_seconds: 30 });
while (out.status === "processing") {
out = await call("get_result", { job_id: job.job_id, wait_seconds: 30 });
}
console.log(out.files[0].url, "cost:", out.cost_charged_usd);Kodlama yaparken önem taşıyan detaylar:
- Her araç yanıtı aynı JSON verisini iki kez taşır: makine tarafından okunabilen
result.structuredContentveresult.contentiçindeki düz metin bloğu — hangisini ayrıştırmak kolaysanız onu seçin. - Video (and çoklu görsel serileri) iki aşamalı bir çağrıdır: ilk
generate_videoçağrısı bir maliyet teklifi döner ve bakiye düşmez; işlemi başlatmak için teklif edilen tutara eşitlenmişconfirm_costparametresiyle çağrıyı tekrarlayın. - Üretim çağrılarında
idempotency_keyparametresi gönderin — ağ kesintilerindeki tekrarlar asla mükerrer ücrete yol açmaz. tools/listanahtarsız da çalışır; böylece hesap oluşturmadan önce tüm şemaları inceleyebilirsiniz. Araç çağrıları anahtar başına dakikada 20 adet ile sınırlıdır.
Görev odaklı on araç
| Araç | Maliyet | Ne işe yarar |
|---|---|---|
| list_models | ücretsiz | Anlık birim fiyatları, çözünürlükleri ve kısıtlamalarıyla tüm modeller. |
| get_account | ücretsiz | Bakiye, anahtar harcama limiti ve bugünkü kullanım verileri. |
| top_up | ücretsiz | Bakiye yüklemek için güvenli bir bağlantı oluşturur. OAuth yalnızca para yatırma erişimi alır; API anahtarları profili kullanır. |
| generate_image | $0.03–$0.20 | Nano Banana 2 Lite / 2 / Pro modelleriyle 4K'ya kadar metinden görsel üretimi. Bir job_id döndürür. |
| edit_image | tek görsel fiyatı | Tamamlanmış bir görseli metin talimatıyla hassaslaştırın (çok aşamalı düzenleme). |
| generate_video | $0.10–$6.00 | Veo 3.1 ailesi veya Omni Flash (her zaman sesli), Wan 3.0, MiniMax H3; istenirse başlangıç karesi ve referans görsellerden. Her zaman önce net maliyet teklifi sunar. |
| edit_video | $0.09–1.00 | Omni Flash ile videodan videoya düzenleme: kendi klibiniz veya herkese açık bir URL — stil değiştirme, nesne değiştirme, yeniden ışıklandırma. İlk 10 sn, sesli 720p. |
| generate_speech | $0.01 / 200 karakter | Bir veya iki konuşmacılı WAV konuşması üretir. Başlanan her 200 karakter için ücretlendirilir. |
| get_result | ücretsiz | Bir işi sorgulayın (poll): yüklenen medya URL'leri (24 saat geçerli linkler), tahsil edilen ücret, kalan bakiye ve görsel önizlemesi. |
| list_generations | ücretsiz | Yakın zamandaki üretim geçmişi — web sitesiyle ortaktır. |
Entegre maliyet şeffaflığı
- Fiyatlar, web sitesinin kullandığı kaynakla aynı olan
list_modelsüzerinden anlık sunulur. - Her video (veya çoklu görsel serisi) çağrısı önce bakiye düşmeden bir fiyat teklifi döner; ajan işlemi başlatmak için
confirm_costile çağrıyı yineler. - Her sonuç
cost_charged_usdvebalance_remaining_usddeğerlerini içerir. - Sistemsel hatalar ve içerik filtresi reddetmeleri otomatik olarak iade edilir — web uygulamasıyla aynı politika geçerlidir.
- İsteğe bağlı
idempotency_key, tekrarlanan isteklerin asla mükerrer ücretlendirilmeyeceğini garanti eder.
Gerçek bir sohbet
→ generate_video {"prompt": "drone shot over a misty pine forest", "model": "veo-3.1-fast"}
← {"status": "confirmation_required", "quoted_cost_usd": 0.70, ...}
→ generate_video {..., "confirm_cost": 0.70}
← {"job_id": "cmxy…", "status": "processing", "cost_charged_usd": 0.70, "balance_remaining_usd": 12.40}
→ get_result {"job_id": "cmxy…"}
← {"status": "completed", "files": [{"url": "https://…"}], "cost_charged_usd": 0.70}Medya URL'leri ve güvenlik
- Sonuç URL'leri imzalıdır ve 24 saat geçerlidir; medyanın kendisi hesabınızda kalır — yeni linkler almak için tekrar
get_resultçağrısı yapabilir veya web sitesinden indirebilirsiniz. - API anahtarları hash'lenerek saklanır ve oluşturulurken yalnızca bir kez gösterilir; dilediğiniz zaman profilinizden anahtarları iptal edebilirsiniz.
- OAuth bağlantıları bir saatlik erişim jetonları ve her yenilemede döndürülen refresh jetonları kullanır; yalnızca özetleri saklanır ve sadece bu sunucu için geçerlidir. Profilden bağlantıyı kesmek jetonları anında geçersiz kılar.
- Anahtar başına kullanım geçmişi (araç, model, maliyet, prompt önizlemesi) Profil → MCP API Anahtarları sayfasında görülebilir.
- MCP üretimleri, web üzerinden yapılan üretimlerle aynı geçmişte ve analiz panellerinde yer alır.
Ajanınızı bağlamaya hazır mısınız?
Bir anahtar oluşturun, tek bir yapılandırma satırı ekleyin — ajanınız dakikalar içinde stüdyo kalitesinde medya üretmeye başlasın.
API anahtarınızı alın