Bloga dön
BananaBanana Teamtutorialmcpvideo

Codex MCP Kurulumu: Tek config.toml Dosyasından Görsel ve Video

Codex CLI, IDE eklentisi ve ChatGPT masaüstü uygulamasını tek bir MCP medya sunucusuna bağlayın: bearer_token_env_var ile config.toml, beş gerçek tuhaflık, $0.70 fiyata bir Veo tanıtım videosu.

Codex MCP Kurulumu: Tek config.toml Dosyasından Görsel ve Video

Codex için bir MCP sunucusu, OpenAI'ın kodlama asistanının üç arayüzünden birden (CLI, IDE eklentisi ve ChatGPT masaüstü uygulamasındaki Codex sekmesi) aynı anda çağırabileceği harici bir araç kutusudur. Tek bir TOML bloğu sayesinde, normalde sadece kod düzenleyen bir asistan, modellerinde varsayılan olarak bulunmayan görsel ve video oluşturma gibi yetenekler kazanır. Codex gün boyu kodları optimize edebilir veya testler çalıştırabilir, ancak arkasındaki hiçbir model size doğrudan bir MP4 dosyası veremez. Sisteme bir oluşturma sunucusu eklediğinizde ise, "sürüm notları için bir tanıtım videosu hazırla" komutu, terminalde gerçek bir dosyayla sonuçlanan pratik bir talimata dönüşür.

Eğer sadece kurulum için geldiyseniz, tüm yapmanız gereken bu kadar. BananaBanana profile sayfanızdan bir API anahtarı oluşturun ve ardından bunu ~/.codex/config.toml dosyasına ekleyin:

[mcp_servers.bananabanana]
url = "https://bananabanana.pro/api/mcp"
bearer_token_env_var = "BB_API_KEY"

Ortam değişkenlerinize BB_API_KEY=bb_live_YOUR_KEY değerini aktarın (export edin) ve Codex uygulamasını yeniden başlatın. İşte bu kadar: yerel sunucu süreçleriyle uğraşmak, Google Cloud projesi açmak veya abonelik satın almak yok. Görseller ön ödemeli bakiyenizden $0.03, videolar ise $0.10 gibi fiyatlardan başlayan ücretlerle düşer. Aşağıdaki demo video, ben bu yazıyı yazarken aktif bir anahtarla tam olarak bu uç nokta (endpoint) üzerinden oluşturuldu; bu makale için yapılan toplam $1.03 tutarındaki medya harcamasının detaylarını da yazının sonunda bulabilirsiniz.

Neden tüm olay tek bir yapılandırma dosyasında bitiyor?

Çoğu MCP istemcisi, her arayüzü ayrı ayrı yapılandırmanızı gerektirir. Codex ise bunu yapmaz ve işin en güzel yanı da tam olarak budur. official Codex MCP docs bunu tek bir cümleyle özetliyor: "The ChatGPT desktop app, Codex CLI, and IDE extension share this configuration." TOML bloğunu bir kez yapıştırdığınızda, aynı yedi oluşturma aracı terminal oturumunuzdan VS Code'a ve masaüstü uygulamasındaki Codex sekmesine kadar her yerde sizi takip eder.

Terminal penceresi, kod düzenleyici ve sohbet uygulamasının iplerle bir kaide üzerindeki tek bir anahtara bağlandığı editoryal illüstrasyon; üç uygulamaya hizmet eden tek bir Codex yapılandırmasının metaforu

Cursor veya VS Code üzerinde bir görsel aracı çoğunlukla yalnızca açık olan deponuza (repo) hizmet eder. Codex ile ise terminalin kendisi bir medya konsoluna dönüşür: Editörle hiç uğraşmadan, doğrudan yalın bir kabuk (shell) üzerinden video oluşturulmasını isteyebilir ve durumunu daha sonra masaüstü uygulamasından kontrol edebilirsiniz. tmux içinde yaşayan ve grafik arayüzlü uygulamaları sadece arada bir ziyaret eden biri için bu durum, "bir yerlerde kurduğum bir eklenti" ile "aslında her gün elimin altında olan bir komut" arasındaki fark demektir.

Diğer alternatif ise her zamanki gibi kendi Google API anahtarınız, kotalarınız ve kendi bulut hesabınıza bağlı faturalandırmanızla yerel bir MCP sunucusu çalıştırmaktır. Çalışır çalışmasına, ancak sürekli ilgilenilmesi gereken ayrı bir süreçtir. Uzak uç nokta ise zaten bizim tarafımızda, BananaBanana web generator ile aynı hat üzerinde çalışıyor ve tek kimlik doğrulama bilginiz iptal edilebilir bir bb_live_ anahtarından ibaret.

Codex bir MCP sunucusuna nasıl bağlanır?

Aşağıdaki yapılandırma ayrıntıları, 11 Temmuz 2026 tarihi itibarıyla resmi Codex MCP belgeleriyle karşılaştırılarak doğrulanmıştır (OpenAI bu belgeleri yakın zamanda developers.openai.com adresinden learn.chatgpt.com adresine taşıdı, bu yüzden yönlendirmeyle karşılaşırsanız şaşırmayın).

İlk olarak, register işlemini tamamlayın ve Profil → MCP API Keys sayfasını açın. Anahtar yalnızca bir kez gösterilir ve bizim tarafımızda şifrelenmiş (hash) olarak saklanır, bu yüzden hemen kopyalayın. Yeni hesaplar, en ucuz modelde üç test görselini kapsayan $0.20 bakiye ile başlar.

İkinci olarak, bu yazının başındaki TOML bloğunu ~/.codex/config.toml dosyasına ekleyin (eğer dosya yoksa kendiniz oluşturun). [mcp_servers.bananabanana] tablosu, herhangi bir akış destekleyen (Streamable) HTTP sunucusu için bir url ve kimlik doğrulama için bearer_token_env_var alır: Codex, başlangıçta adı geçen ortam değişkenini okur ve değerini Authorization başlığı olarak gönderir. Anahtar dosyaya asla kaydedilmez, bu da dosyanın dotfiles depolarında bile güvenle paylaşılabileceği anlamına gelir. MCP server page sayfamız, doğruladığımız her istemci için bir uyumluluk tablosunun yanında bu kod parçacığını da barındırıyor:

url ve bearer_token_env_var alanlarını gösteren BananaBanana MCP belgeleri sayfasındaki Codex config.toml kod parçacığı ekran görüntüsü

Üçüncü olarak, değişkeni dışa aktarın (export edin) ve yeniden başlatın. CLI üzerinde, codex bağlandığında sunucunun araçlarını listeleyecektir; ona "bananabanana üzerinde list_models aracını çağır" dediğinizde, list_models aracından list_generations aracına kadar yedi aracın güncel fiyatlarını almanız gerekir. IDE eklentisi ve ChatGPT masaüstü uygulaması, bir sonraki başlatılışlarında herhangi bir ek adım gerekmeden aynı yapılandırmayı otomatik olarak algılar.

macOS üzerindeki masaüstü uygulaması hakkında önemli bir uyarı: Dock'tan başlatılan grafik arayüzlü (GUI) bir uygulama .zshrc dosyanızı okumaz, bu nedenle terminalde çalışan bir export komutu ChatGPT için sessizce geçersiz kalabilir. Araçlar CLI'da görünüyor ancak masaüstü uygulamasında kimlik doğrulama başarısız oluyorsa, nedeni neredeyse her zaman budur. launchctl setenv BB_API_KEY bb_live_… komutu bunu çözer, ancak geçici bir çözüm gibi hissettirebilir, çünkü zaten öyledir.

ChatGPT'nin kendi konnektörleri aynı anahtarı kullanabilir mi?

Kısa cevap: Henüz değil ve bunun nedenini tam olarak açıklamakta fayda var. ChatGPT, MCP sunucularını Codex yerine normal sohbete ekleyen kendi konnektör sistemine sahiptir (Ücretli planlarda geliştirici modu seçeneğinin arkasındaki Ayarlar → Konnektörler bölümünde). Bu konnektörler OAuth akışları aracılığıyla kimlik doğrulaması yapar. Bizim uç noktamız ise şu anda yalnızca Bearer anahtarlarını destekliyor; OAuth 2.1 desteği planlanıyor ve kullanıma sunulduğunda, standart ChatGPT sohbeti de desteklenen bir istemci haline gelecek. O zamana kadar durum net: Codex arayüzleri (CLI, IDE, masaüstü uygulamasındaki Codex sekmesi) bugün config.toml aracılığıyla sorunsuz çalışırken, sohbet tarafındaki konnektörler çalışmıyor. compatibility table sayfası, her istemci için bu durumu tarihlerle birlikte takip etmektedir.

Kullanım senaryosu: Tek bir uygulama bile açmadan ürün tanıtım videosu hazırlamak

Bu makalenin etrafında şekillendiği senaryo: Yayınlanma günü geldi, sürüm günlüğünüz (changelog) için kısa bir tanıtım videosuna ihtiyacınız var ve terminalden hiç çıkmak istemiyorsunuz. Codex'ten ürün tarzında bir video istiyorsunuz, o da sinematik bir istem (prompt) hazırlayıp generate_video aracını çağırıyor. Araç ilk çağrıda asla ücret almaz; bir fiyat teklifi döndürür ve asistan tam tutarı kabul ederek çağrıyı tekrarlar. İşte benim oturumumdan gerçek bir kayıt:

→ generate_video {"prompt": "Cinematic product promo shot: matte pearl-white
   wireless earbuds in an open charging case on a slowly rotating dark
   pedestal, dramatic rim lighting in violet and warm amber, soft haze,
   slow dolly-in from a slightly low angle, shallow depth of field,
   premium tech commercial style", "model": "veo-3.1-fast",
   "duration": 8, "resolution": "720p"}
← {"status": "confirmation_required", "quoted_cost_usd": 0.70,
   "message": "This video costs $0.70. Nothing has been charged."}
→ generate_video {..., "confirm_cost": 0.70}
← {"job_id": "cmrgrpxgf0002mk7fvfepg82j", "status": "processing",
   "cost_charged_usd": 0.70, "balance_remaining_usd": 1553.37}
→ get_result {"job_id": "cmrgrpxgf0002mk7fvfepg82j", "wait_seconds": 30}
← {"status": "completed", "files": [{"url": "https://…/api/files/…"}]}

Onay işleminden tamamlanmış 720p dosyasına kadar geçen süre yalnızca iki dakika on beş saniye. İşte Veo 3.1 Fast tarafından ilk denemede, herhangi bir tekrar olmadan oluşturulan o video:

İstem yapısı, Veo 3.1 prompt guide rehberimizdeki şablonu takip eder: konu, eylem, ışıklandırma, kamera hareketi, lens davranışı ve tarz. Codex ardından dosyayı imzalı URL'den (24 saat geçerlidir; yeni bir get_result çağrısı URL'yi yeniler) belirttiğiniz klasöre çeker ve hatta sürüm günlüğü sayfanız için <video> HTML kodunu bile yazabilir.

Çıktı hakkında dürüst bir uyarı: $0.70 tutarı sessiz sürüm için geçerlidir. Aynı klipteki orijinal ses $1.00, sesli Omni Flash ise saniye başına $0.10 tutarındadır — aynı uzunluktaki bir klip için $0.80. Bir açılış sayfasında (landing page) sessizce otomatik oynatılan bir döngü için sessiz sürüm zaten tam olarak ihtiyacınız olan şeydir; sosyal medya paylaşımları için ise muhtemelen ekstra otuz senti gözden çıkarabilirsiniz.

Görseller de onay adımı hariç aynı şekilde çalışır, çünkü tekil görseller doğrudan çalıştırılacak kadar ucuzdur: Bir istem içeren generate_image çağrısı bir iş kimliği (job id) döndürür, get_result ise dosyayı ve Codex'in inceleyebileceği küçük bir satır içi (inline) önizlemeyi teslim eder.

Güvenmeden önce bilmeniz gereken Codex tuhaflıkları

Yukarıdaki kurulumu test ederken karşılaşılan ve canınızı sıkma ihtimali yüksek olan durumların sırasıyla derlenmiş hali.

İki küçük uyarı bayrağının dikildiği uzun bir yapılandırma metni parşömenini büyüteçle okuyan küçük bir robotun editoryal illüstrasyonu; Codex yapılandırma tuhaflıklarının bir metaforu

1. CLI bu yapılandırmayı sizin için otomatik yazmaz. codex mcp add komutu mevcuttur ancak resmi belgelere göre HTTP sunucuları için bearer-token seçeneği sunmaz; bu komut yerel stdio sunucularını ve OAuth girişlerini (codex mcp login) hedefler. Anahtar doğrulamalı bir uzak sunucu için ~/.codex/config.toml dosyasını elle düzenlemeniz gerekir. Otuz saniyelik bir iştir, ancak claude mcp add --header gibi tek satırlık pratik bir deneyim bekliyorsanız, Codex bu noktada farklılık gösterir.

2. Bu bir TOML dosyasıdır ve tablo mcp_servers şeklindedir. Snake_case, köşeli parantezler kullanılır, JSON değil. Cursor veya Claude belgelerinden kopyalanan yapılandırmalar (mcpServers, süslü parantezler) ayrıştırılamaz ve bu dosyadaki TOML hataları genellikle ses çıkarmadan başarısız olma eğilimindedir. Sunucu hiç görünmüyorsa, başka bir şeyden şüphelenmeden önce terminalden codex komutunu çalıştırın ve başlangıç çıktısını inceleyin.

3. Gizli anahtarlar söz konusu olduğunda bir doğru, bir de cazip ama yanlış alan bulunur. bearer_token_env_var anahtarı dosyanın dışında tutar. Alternatif olan http_headers eşlemesi ise statik değerler alır; bu da dotfiles eşitleme araçlarının yayınlamayı çok sevdiği bir dosyada açık metin (plaintext) olarak duran bir bb_live_ anahtarı anlamına gelir. Ayrıca ortam değişkenlerinden özel başlıklar almak için env_http_headers de mevcuttur. Benim kuralım: Gizli her şey için her zaman bearer_token_env_var, asla http_headers kullanmayın.

4. Varsayılan araç zaman aşımı süresi 60 saniyedir ve bu tamamen yeterlidir, ancak bunun nedeni yalnızca yoklama (polling) mekanizmasının işleyişidir. Codex, varsayılan olarak her araç çağrısına tool_timeout_sec = 60 süresi tanır. Bir video işinin tamamlanması bir ila on dakika sürer; bu durum bir çelişki gibi görünebilir, ancak generate_video anında bir iş kimliği (job id) döndürür ve get_result çağrı başına en fazla 30 saniye boyunca uzun yoklama (long-polling) yapar. Her bir bağımsız çağrı limitin oldukça altında kalır; asistan sadece birkaç kez yoklama yapar. Zaman aşımı süresini 600'e yükselterek bunu "düzeltmeye" çalışmayın, buna ihtiyacınız yok; aksi takdirde gerçekten kilitlenen bir sunucu asistanı on dakika boyunca bloke edebilir.

5. Onay davranışı sunucu bazında yapılandırılabilir ve gerçek para harcayan işlemler prompt modunu hak eder. Belgelerde belirtildiği gibi, default_tools_approval_mode alanı auto, prompt, writes ve approve değerlerini kabul eder. Birkaç aracın çağrı başına gerçek dolar harcadığı bir sunucuda, onay istemini açık tutmayı ve çağrıları tek tek onaylamayı tercih ederim; kurulumunuz araç bazında kararları destekliyorsa, izin verilenler listesine (allowlist) eklemeye değer olanlar ücretsiz araçlardır (list_models, get_account, get_result). Videoların bizim tarafımızda her halükarda ikinci bir kilidi vardır: Açık bir confirm_cost onayı olmadan fiyat teklifinin üzerindeki hiçbir miktar tahsil edilmez.

Bu makalenin demo medyası ne kadara mal oldu?

Standart oluşturma başına fiyatlar; asistanın list_models aracından aldığı rakamların aynısıdır, herhangi bir personel indirimi dahil değildir:

VarlıkModelFiyat
Aktif bir anahtarla MCP üzerinden tanıtım videosu demosuVeo 3.1 Fast, 720p, 8 sn, sessiz$0.70
Kapak + 2 editoryal illüstrasyonNano Banana Pro, 1K$0.33
Belgeler sayfası ekran görüntüsütarayıcı, oluşturma değil$0.00
Toplam$1.03

Video ilk denemede başarıyla oluşturuldu, ancak her zaman buna güvenmemek gerekir; ürün tarzı çekimler hataları tolere edebilir, ancak eller veya okunabilir metin içeren görseller/videolar öyle değildir. Bu tür durumlar için bütçenizde ek bir deneme payı bırakın.

Bu sunucuyu zaten başka bir istemcide çalıştırıyorsanız, yukarıdaki TOML bloğu tek yeni kısımdır: Her yerde aynı anahtar, aynı bakiye ve aynı oluşturma geçmişi geçerlidir. Sıfırdan başlıyorsanız, Claude Code walkthrough kılavuzu, Codex'e neredeyse kelimesi kelimesine aktarılabilecek dört farklı kullanım senaryosunu daha kapsıyor. Hemen Create a key işlemini gerçekleştirin ve Codex'ten ilk çıktınızı isteyin.

SSS

Codex, Bearer kimlik doğrulamasına sahip uzak MCP sunucularını destekler mi?

Evet, yerel olarak destekler. Uzak bir sunucu, ~/.codex/config.toml dosyasında bir url alanına sahip [mcp_servers.<isim>] tablosudur ve bearer_token_env_var alanı, Codex'in Authorization başlığı olarak göndereceği ortam değişkeninin adını belirtir. 11 Temmuz 2026'da resmi Codex MCP belgeleriyle karşılaştırılarak doğrulanmıştır. OAuth da desteklenmektedir (bu desteği sunan sunucular için varsayılan auth modudur), ancak statik bir anahtar kurulumu için bu iki satırdan fazlasına ihtiyaç duyulmaz.

MCP yapılandırması gerçekten Codex CLI, IDE eklentisi ve ChatGPT masaüstü uygulaması arasında paylaşılıyor mu?

Evet. Codex belgeleri, ChatGPT masaüstü uygulamasının, Codex CLI'ın ve IDE eklentisinin config.toml yapılandırmasını paylaştığını açıkça belirtir. Pratik olarak otomatik olarak aktarılmayan tek şey ortam değişkenidir: Kabuk (shell) dışa aktarmalarınız CLI tarafından görülebilirken, Dock'tan başlatılan bir masaüstü uygulaması değişkenin işletim sistemi düzeyinde ayarlanmasını gerektirir (macOS üzerinde launchctl setenv), aksi takdirde tamamen aynı yapılandırmayla kimlik doğrulaması başarısız olur.

Dosyayı düzenlemek yerine sunucuyu codex mcp add ile ekleyebilir miyim?

Bu tür bir sunucu için hayır. Belgeler, HTTP sunucuları için codex mcp add komutunda herhangi bir bearer-token bayrağı sunmaz, bu nedenle anahtar doğrulamalı uzak bir uç nokta kullanmak, ~/.codex/config.toml dosyasını kendiniz düzenlemeniz anlamına gelir. Elle düzenlemenin avantajı, sonucun net ve sürümlenebilir olmasıdır; blok yalnızca üç satırdır ve anahtar dosya yerine ortamda saklanır.

bb_live_ anahtarım neden ChatGPT'nin Konnektörler ayarlarında çalışmıyor?

Çünkü bu farklı bir entegrasyon arayüzüdür. ChatGPT sohbetindeki konnektörler (web ve masaüstü, geliştirici modu seçeneğinin arkasında) MCP sunucularını yapıştırılmış API anahtarlarıyla değil, OAuth aracılığıyla doğrular; bu nedenle yalnızca Bearer destekleyen bir uç nokta bugün bu akışı tamamlayamaz. Codex arayüzleri ise bunun yerine config.toml dosyasını okur ve anahtarla sorunsuz çalışır. OAuth 2.1 desteğimiz sunulduğunda, sohbet tarafındaki konnektörler de desteklenen bir yöntem haline gelecektir; client table sayfası güncel durumu takip etmektedir.

Codex video oluşturabilir mi ve bunun maliyeti nedir?

Evet, zorunlu bir maliyet onayı ile birlikte. generate_video her zaman önce USD cinsinden bir fiyat teklifi döndürür ve hiçbir ücret almaz; asistan, işlemeyi başlatmak için teklif edilen tutarla eşleşen confirm_cost ile çağrıyı tekrarlar. Fiyatlar, 4 saniyelik sessiz 720p Veo 3.1 Lite klibi için $0.10'dan başlar, bu makaledeki 8 saniyelik Veo 3.1 Fast demosu için $0.70'e kadar çıkar ve sesli üst düzey bir 4K Veo 3.1 işlemesi için $4.40'a kadar ulaşabilir; sesli Omni Flash ise saniye başına $0.10 ($0.30–$1.00/klip) olarak faturalandırılır. Başarısız oluşturma işlemleri otomatik olarak iade edilir.

tutorialmcpvideo