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.

Bir API anahtarı oluşturunGörseller $0.03'dan · videolar $0.10'dan başlayan fiyatlarla
01NEDİR

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.json dosyasına göz atın; bananabanana-mcp GitHub deposundaki hazır istemci şablonlarını kopyalayıp yapıştırın
MCP istemcisiClaude Code / Desktop, Cursor,VS Code, Codex, herhangi bir ajanOAuth / API anahtarı/api/mcpbananabanana.proStreamable HTTP · 10 araçüretModel havuzuNano Banana · Veo 3.1Omni Flashbirim başınaBakiyenizüretim başına ödeyinhata durumunda otomatik iade
02HIZLI BAŞLANGIÇ

Üç 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.pro

Aynı 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.

03ŞUNLARLA ÇALIŞIR

İ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 Codeevetclaude mcp add --transport http … --header
Claude Desktop / claude.aievetözel bağlayıcı: URL'yi yapıştırın ve OAuth ile oturum açın (başlıkta anahtar da çalışır, beta)
Cursorevet.cursor/mcp.json: url + headers, gizli anahtarlar ${env:…} üzerinden — yukarıdaki kod parçasına bakın
VS Code / GitHub Copilotevet.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 / IDEevetortak ~/.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 CLIevetsettings.json dosyasında httpUrl + headers
WindsurfevetserverUrl + headers in mcp_config.json (Devin Local agent: url + transport: "http"). Setup guide
Clineevettype: "streamableHttp" + url + headers in the MCP settings JSON. Setup guide
xAI API (Grok)evetsunucuya 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)evetSettings → 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 şeyevetHTTPS ü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.

04SDK GEREKMEZ

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.structuredContent ve result.content iç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_cost parametresiyle çağrıyı tekrarlayın.
  • Üretim çağrılarında idempotency_key parametresi gönderin — ağ kesintilerindeki tekrarlar asla mükerrer ücrete yol açmaz.
  • tools/list anahtarsı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.
05ARAÇLAR

Görev odaklı on araç

AraçMaliyetNe işe yarar
list_modelsücretsizAnlık birim fiyatları, çözünürlükleri ve kısıtlamalarıyla tüm modeller.
get_accountücretsizBakiye, anahtar harcama limiti ve bugünkü kullanım verileri.
top_upücretsizBakiye 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.20Nano Banana 2 Lite / 2 / Pro modelleriyle 4K'ya kadar metinden görsel üretimi. Bir job_id döndürür.
edit_imagetek görsel fiyatıTamamlanmış bir görseli metin talimatıyla hassaslaştırın (çok aşamalı düzenleme).
generate_video$0.10–$6.00Veo 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.00Omni 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 karakterBir veya iki konuşmacılı WAV konuşması üretir. Başlanan her 200 karakter için ücretlendirilir.
get_resultücretsizBir 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ücretsizYakın zamandaki üretim geçmişi — web sitesiyle ortaktır.
06ÜCRETLENDİRME

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_cost ile çağrıyı yineler.
  • Her sonuç cost_charged_usd ve balance_remaining_usd değ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.
07ÖRNEK

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}
08GÜVENLİK

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