Model Context Protocol
ChatGPT ve Codex'i araçlarınıza ve bilgilerinize bağlayın.
- ChatGPT masaüstü uygulaması Masaüstünde projeler, dosyalar ve uzun süren görevler.
- ChatGPT web Tarayıcınızda sohbetler, projeler ve Work.
- Codex CLI Terminalinizde Codex.
- Codex IDE uzantısı Düzenleyicinizde Codex.
Model Context Protocol (MCP), ChatGPT ve Codex'in diğer sistemlerdeki araçları ve bilgileri kullanmasını sağlar. Bir MCP server, kullanılabilir araçları tanımlar ve bu araçlara yönelik istekleri işler; örneğin bir destek kaydını arar veya dokümantasyonu getirir.
Görevinize uygun yolu seçin:
- Bağlantı oluşturun: Ekibinizin sistemi için bir eklenti oluşturmak üzere Plugin Creator ve Sites kullanın.
- Mevcut bir sunucuyu kullanın: Web, masaüstü, CLI ve IDE için sunulan kurulum seçenekleriyle sunucuyu ChatGPT veya Codex'e bağlayın.
Örnek: ekibinizin destek sistemindeki bir kaydı kontrol etme.
Bir eklenti, MCP bağlantısını ChatGPT'de kullanılmak üzere paketler. Eklentiler, yeniden kullanılabilir talimatlar içeren beceriler de barındırabilir. Yalnızca talimatlara ihtiyacınız varsa Eklenti oluşturma bölümüne bakın.
Plugin Creator ve Sites ile bir MCP eklentisi oluşturun
Eklentinizi oluşturmak ve düzenlemek için Plugin Creator'ı, MCP server'ı barındırmak için Sites kullanın.
Başlamadan önce
Önce Eklenti dizinini kontrol edin. Yeni bir bağlantıya ihtiyacınız varsa sisteminizin API dokümantasyonunu ve onaylanmış bir bağlantı yöntemini hazırlayın. Yardıma ihtiyacınız olursa sistemin sorumlusuna danışın.
Aşağıdaki örnekte bir Destek Kaydı Arama eklentisi oluşturulur. [destek kayıt sistemi] ifadesini sisteminizin adıyla değiştirin.
ChatGPT Enterprise mı kullanıyorsunuz?
Çalışma alanı sahibinizden veya yöneticinizden Workspace settings → Permissions & roles bölümünü kontrol etmesini isteyin:
- Eklenti oluşturmak, düzenlemek ve kullanmak için Use plugins izni. Düzenleme için ayrıca eklentiye düzenleme erişimi gerekir.
- Site oluşturup yayımlamak için Sites erişimi.
- MCP destekli eklentiyi yayımlayan Site sahibi için Upload plugins ve Create plugins with MCPs izinleri.
Use plugins varsayılan olarak açıktır; iki MCP yayımlama izni ise varsayılan olarak kapalıdır. Sites erişimi ve eklenti izinleri hakkındaki bilgilere bakın.
1. Eklentinizi oluşturun
Yeni bir Work görevi başlatın, @Plugin Creator seçeneğini seçin ve API belgelerinizi ekleyin. Görevi açıklayın:
Eklentinizi oluşturun:
Create a Support Ticket Lookup plugin with an MCP server hosted on Sites, using the attached [ticketing system] API docs. Let me look up a ticket's status, owner, and latest update by ticket number. Make it read-only and tell me what's needed to connect it.API erişimini henüz ayarlamadınız mı? Plugin Creator'dan şimdilik örnek veriler kullanmasını isteyin.
2. Sisteminizi bağlayın
Aynı konuşmada Plugin Creator'dan sunucuyu sisteminizin API'sine bağlamasını ve oturum açma adımlarında size rehberlik etmesini isteyin. Kuruluşunuzun onayladığı kimlik doğrulama yöntemini kullanın; parolaları, API key değerlerini ve diğer gizli bilgileri sohbette paylaşmayın.
Bağlantı ve barındırma ayrıntıları
Sites, ChatGPT ile MCP server'ınız arasındaki oturum açma işlemini yönetir. Sunucunuzun yine de sisteminizin API'sine onaylı bir bağlantısı olması gerekir; bu API, sunucunun erişebileceği kayıtları ve gerçekleştirebileceği eylemleri belirler.
Başka bir barındırma ortamı için önce MCP server oluşturma, ardından eklentinizi bağlama ve test etme adımlarını izleyin. Oturum açma yapılandırması için kimlik doğrulama kılavuzuna bakın.
3. Yayımlayın ve yükleyin
Plugin Creator'dan mevcut erişim ayarlarınızı koruyarak sunucuyu Sites ile yayımlamasını ve eklenti bağlantısını size vermesini isteyin. Eklentinin oluşturulması için Site sahibinin yayımlama işlemini yapması gerekir; düzenleyiciler bunu sahibinden istemelidir.
- Eklenti kartını açın veya Plugins → Personal → Created by you bölümünden eklentiyi bulun.
- Install ve Connect adımlarını izleyin ve gerekli oturum açma işlemlerini tamamlayın.
4. Eklentinizi kullanın
Yeni bir Work görevi başlatın, @ ile eklentinizi seçin ve sisteminizdeki bir destek talebi numarasını kullanarak “123 numaralı destek talebinin durumu nedir?” diye sorun. Eklentinin araçlarını aynı konuşmada diğer eklentilerle birlikte kullanabilirsiniz.
Eklentinizi paylaşın veya düzenleyin
Business veya Enterprise'da, eklentinin paylaşım kontrollerini kullanarak ekip arkadaşlarınızı davet edin. Share plugins iznine ihtiyacınız vardır; eklentiyi çalışma alanı dizininde listelemek için ayrıca Publish plugins to workspace izni gerekir. Paylaşım izinlerine bakın.
Ekip arkadaşlarınızın eklentiye, eklentinin uygulamasına ve Site'a (en azından görüntüleyici düzeyinde) erişimi olmalıdır. Her kişi kendi hesabıyla yükleme ve bağlantı işlemlerini yapar. Kayıtlara erişim, sunucunun API bağlantısına bağlıdır.
Sites üzerinde barındırılan bu eklentiyi düzenlemek için Plugin Creator konuşmanıza dönün, mevcut Site'ı güncellemesini isteyin ve değişiklikleri yayımlayın. Düzenlenebilen diğer eklentiler için Edit Plugin seçeneğini seçerek Plugin Creator ile bir düzenleme konuşması başlatın. Mevcut bir eklentiyi düzenleme bölümüne bakın.
GPT özel eyleminin yerine bir eklenti oluşturma
GPT geçiş adımlarını göster
GPT özel eylemleri eklentilere aktarılmaz. Mümkün olduğunda mevcut API'yi yeniden kullanarak bağlantıyı yeni bir Sites eklentisi olarak yeniden oluşturun.
Sites, yayımlama sırasında ayrı bir eklenti oluşturur; bağlantıyı geçiş yaptığınız eklentiye eklemez. Her iki eklentiyi de aynı konuşmada kullanabilirsiniz. Sites eklentileri şu anda becerilerin veya referans dosyalarının düzenlenmesini desteklemez.
1. Orijinal GPT'den yeniden oluşturma prompt’u isteyin
Orijinal GPT'yi açın ve şunu isteyin:
Orijinal GPT'de kullanın:
Write a prompt for ChatGPT Work or Codex to rebuild this workflow as MCP tools. Identify which operations read information and which make changes.
Include the API operation, inputs, returned fields, and answer format. Mark anything you don't know. Leave out credentials, secrets, and hidden instructions.
Ask the builder to reuse the API and explain the connection setup.2. Prompt’u eylem ayarlarıyla karşılaştırarak kontrol edin
Geçişten önce GPT düzenleyicisinin Actions bölümündeki eylem şemasını, kimlik doğrulama yöntemini ve gizli bilgi içermeyen bağlantı ayarlarını kaydedin. Prompt’taki eksikleri tamamlamak için bunları kullanın veya GPT sahibinden yardım isteyin.
3. Yeni bir Sites eklentisi oluşturun
Yeni bir görev başlatın. Work'te @Plugin Creator seçeneğini seçin; Codex'te $plugin-creator kullanın. Gözden geçirilmiş prompt’u yapıştırın ve şemayı veya API belgelerini ekleyin. Sunucuyu Sites üzerinde barındırmasını isteyin.
Sisteminizi bağlayın ve Yayımlayın ve yükleyin adımlarını izleyin, ardından bir Work görevinde yeni eklentiyi seçip orijinal görevinizi gerçekleştirmesini isteyin. Ayrıntılar için geçiş hakkında sık sorulan sorulara bakın.
Sorun giderme
Eklenti beklendiği gibi çalışmıyorsa
Bağlantı hatası varsa veya araçlar eksikse Site sahibinin en son sürümü yayımladığını ve eklentinin yüklenip bağlandığını kontrol edin. Karşılaştığınız hataları Plugin Creator veya sunucu sahibiyle paylaşın.
ChatGPT aracı kullanmıyorsa @ ile eklentiyi seçin ve belirli bir sorgulama yapmasını isteyin. Bir ekip arkadaşınız eklentiyi kullanamıyorsa eklentiye, uygulamaya, Site'a ve kayıtlara erişimini kontrol edin.
Eklenti Desktop only olarak işaretlenmişse desteklenen bir masaüstü uygulamasını kullanın veya eklentiyi oluşturan kişiden paketleme yapılandırmasını gözden geçirmesini isteyin. Tek başına uzak bir MCP server, eklentiyi web ile uyumlu hâle getirmez.
Mevcut bir MCP server'ı bağlayın
ChatGPT web, uzak MCP araçlarını eklentiler aracılığıyla kullanır. Zaten bir sunucunuz varsa Eklentinizi bağlayın ve test edin kılavuzunu izleyin. Yerel Codex istemcileri de MCP server'lara doğrudan bağlanabilir ve yapılandırmalarını paylaşabilir.
Kurulum ve yapılandırma seçeneklerini görmek için kullandığınız arayüzü seçin.
ChatGPT masaüstü uygulaması, Codex CLI ve IDE uzantısı MCP server öğelerini destekler ve aynı Codex ana makinesi için MCP yapılandırmasını paylaşır.
Aşağıda belirtilen desteklenen sunucu özellikleri, bir Codex ana makinesinde yapılandırılmış MCP server öğeleri için geçerlidir. Barındırılan eklenti araçlarının yetenekleri farklı olabilir.
Desteklenen MCP özellikleri
- STDIO sunucuları: Yerel bir işlem olarak çalışan (bir komutla başlatılan) sunucular.
- Ortam değişkenleri
- Akış destekli HTTP sunucuları: Bir adres üzerinden eriştiğiniz sunucular.
- Bearer belirteciyle kimlik doğrulama
- Client ID Metadata Documents (CIMD) ve Dynamic Client Registration (DCR) dâhil OAuth kimlik doğrulaması
- Güvenilir birinci taraf sunucular için ChatGPT oturumuyla kimlik doğrulama
- Sunucu talimatları: Codex, başlatma sırasında döndürülen MCP
instructionsalanını okur ve sunucunun araçlarının yanı sıra sunucu genelinde geçerli yönlendirme olarak kullanır.
Codex için bir MCP server geliştiriyor veya bakımını yapıyorsanız sunucu genelinde geçerli olan araçlar arası iş akışları, kısıtlamalar ve istek sınırları için instructions kullanın. Codex sunucuyu nasıl kullanacağına karar verirken en önemli yönlendirmenin erişilebilir olması için ilk 512 karakteri kendi başına anlaşılır tutun.
Codex'i bir MCP server öğesine bağlama
Codex, MCP yapılandırmasını diğer Codex yapılandırma ayarlarıyla birlikte config.toml içinde saklar. Varsayılan olarak bu konum ~/.codex/config.toml şeklindedir; ancak MCP server öğelerini .codex/config.toml ile bir proje kapsamında da yapılandırabilirsiniz (yalnızca güvenilir projeler).
ChatGPT masaüstü uygulaması, Codex CLI ve IDE uzantısı bu yapılandırmayı paylaşır. MCP server öğelerinizi yapılandırdıktan sonra kurulumu yeniden yapmadan bu istemciler arasında geçiş yapabilirsiniz.
ChatGPT masaüstü uygulamasında yapılandırma
- Ayarlar bölümünü açın, ardından MCP server öğeleri seçeneğini seçin.
- Server ekle seçeneğini seçin.
- Bir ad girin, STDIO veya Streamable HTTP seçeneğini belirleyin ve sunucunun komutunu veya URL'sini sağlayın.
- Sunucuyu kaydedin, ardından Yeniden başlat seçeneğini seçin.
Sunucu listesi, hangi sunucuların etkin olduğunu ve hangilerinin OAuth gerektirdiğini gösterir. Bir OAuth sunucusu oturum açılmasını gerektirdiğinde
Kimlik doğrula seçeneğini seçin. Bağlı sunucuları görüntülemek için mesaj yazma alanına /mcp
yazın.
ChatGPT web'de MCP destekli araçları kullanma
Work Cloud ile yerel bilgisayar erişimi kullanılarak yürütülen bir sohbete başka bir cihazda devam etmek, eklentileri yüklemez veya bağlı hesaplara erişim sağlamaz.
Work Cloud ile yerel bilgisayar erişimi kullanılırken, Agent Security'deki kurumsal mcp_servers TOML gereksinimi yerel yürütücüler için geçerlidir. Bulut kapsayıcılarında Work Cloud politikaları geçerliliğini korur. Yerel MCP server öğeleri ve taşıma mekanizmaları bulutta kullanılamayabilir; bağlantıyı ve kimlik doğrulamayı ayrı ayrı kontrol edin.
Work Cloud ile yerel bilgisayar erişimi kullanımında kurumsal kancalar için:
- Kurumsal kancalar. Çalışma alanınızda etkinleştirildiğinde, Work Cloud ile yerel bilgisayar erişimi, desteklenen yaşam döngüsü ve araç olayları için bulut koordinatöründe (orkestratörde) çalışan, yönetici tanımlı MCP kancalarını destekler. Araçlar yerel olarak çalıştırılsa bile bulut orkestrasyonunda komut kancaları ve yerel yapılandırmadan veya eklentilerden gelen kancalar desteklenmez.
- Denetim. Bu kancalara güvenmeden önce geri çağırım bağlantısını test edin, aldığı olayları doğrulayın ve hataların görevi nasıl etkilediğini kontrol edin. MCP kancaları eksiksiz bir Compliance API denetim izi sağlamaz.
- Sınırlamalar: Araçlar yerel olarak çalıştırılsa bile bulut orkestrasyonunda komut kancaları ve yerel yapılandırmadan veya eklentilerden gelen kancalar desteklenmez. Bu özellikte bireysel kullanıcılara kanca desteği sunulmaz. Hem orkestrasyon hem de yürütme yerel olduğunda, mevcut desteklenen kancalar yalnızca yerelde çalışan Work ve Codex sohbetlerinde çalışmaya devam eder. Yöneticiler bu iş akışları için Agent Security'de desteklenen yönetilen kancaları yapılandırmaya devam edebilir.
Destek kapsamı için Kancalar ve Yapılandırma Başvurusu sayfalarına bakın.
Barındırılan bir ChatGPT Work sohbetinde, eklentiyle birlikte gelen bağlayıcıları ve uzak MCP araçlarını kullanmak için bir eklenti yükleyin. Yüklemeden sonra Chat ve Work bu araçları kullanabilir. Çalışma alanı yöneticileri hangi eklenti ve araçların kullanılabilir olduğunu denetleyebilir.
ChatGPT web, yerel Codex yapılandırma dosyalarını okumaz veya yerel Codex komut menüsünü sunmaz. Kullanılabilir araçlara göz atmak ve bunları yönetmek için Eklentiler sekmesini açın.
CLI ile yapılandırma
MCP server ekleme
codex mcp add <server-name> --env VAR1=VALUE1 --env VAR2=VALUE2 -- <stdio server-command>Örneğin, geliştirici belgeleri için ücretsiz bir MCP server olan Context7'yi eklemek üzere aşağıdaki komutu çalıştırabilirsiniz:
codex mcp add context7 -- npx -y @upstash/context7-mcpDiğer CLI komutları
Yapılandırılmış sunucuları görmek için codex mcp list komutunu çalıştırın. Kullanılabilir tüm MCP
komutlarını görmek için codex mcp --help komutunu çalıştırın. OAuth'ı destekleyen bir sunucu için
codex mcp login <server-name> komutunu çalıştırın.
Terminal kullanıcı arayüzü (TUI)
codex TUI'da etkin MCP server öğelerinizi görmek için /mcp kullanın.
IDE uzantısında yapılandırma
- Dişli menüsünü açın, ardından MCP server öğeleri seçeneğini seçin.
- Server ekle seçeneğini seçin.
- Bir ad girin, STDIO veya Streamable HTTP seçeneğini belirleyin ve sunucunun komutunu veya URL'sini sağlayın.
- Sunucuyu kaydedin, ardından Uzantıyı yeniden başlat seçeneğini seçin.
MCP server listesi, hangi sunucuların etkin olduğunu ve hangilerinin OAuth gerektirdiğini gösterir. Bir OAuth sunucusu oturum açılmasını gerektirdiğinde Kimlik doğrula seçeneğini seçin.
config.toml ile yapılandırma
Daha ayrıntılı denetim için ~/.codex/config.toml dosyasını veya proje kapsamındaki
.codex/config.toml dosyasını düzenleyin. Desteklenen tüm MCP seçeneklerinin aranabilir bir listesi için
yapılandırma başvurusuna bakın.
Her MCP server öğesini yapılandırma dosyasında bir [mcp_servers.<server-name>] tablosuyla yapılandırın.
STDIO sunucuları
command(zorunlu): Sunucuyu başlatan komut.args(isteğe bağlı): Sunucuya geçirilecek bağımsız değişkenler.env(isteğe bağlı): Sunucu için ayarlanacak ortam değişkenleri.env_vars(isteğe bağlı): İzin verilecek ve iletilecek ortam değişkenleri.cwd(isteğe bağlı): Sunucunun başlatılacağı çalışma dizini.experimental_environment(isteğe bağlı): Kullanılabilir olduğunda stdio sunucusunu uzak bir yürütücü ortamı üzerinden başlatmak içinremoteolarak ayarlayın.
env_vars, düz değişken adları veya kaynak içeren nesneler barındırabilir:
env_vars = ["LOCAL_TOKEN", { name = "REMOTE_TOKEN", source = "remote" }]Dize girdileri ve source = "local", Codex'in yerel ortamından okur.
source = "remote", uzak yürütücü ortamından okur ve
uzak MCP stdio gerektirir.
Akış destekli HTTP sunucuları
url(zorunlu): Sunucu adresi.auth(isteğe bağlı): Yapılandırılmış bearer tokenleri ve yetkilendirme üstbilgilerinden sonra denenecek kimlik doğrulama yöntemi. Saklanan MCP OAuth kimlik bilgileri içinoauth(varsayılan) kullanın. Güvenilir birinci taraf ChatGPT kaynağında mevcut ChatGPT oturumunu kullanmak ve saklanan OAuth'ı yedek olarak tutmak içinchatgptkullanın.bearer_token_env_var(isteğe bağlı):Authorizationiçinde gönderilecek bearer belirtecinin ortam değişkeni adı.http_headers(isteğe bağlı): Üstbilgi adlarını statik değerlerle eşleyen harita.env_http_headers(isteğe bağlı): Üstbilgi adlarını ortam değişkeni adlarıyla eşleyen harita (değerler ortamdan alınır).http_headers_helper(isteğe bağlı): Üstbilgi adları ile dize değerlerinden oluşan bir JSON nesnesi yazdıran yerel komut; örneğin{"X-Auth": "temporary-token"}. Yerel ortamdan kurulan HTTP MCP bağlantıları için desteklenir; stdio sunucuları veya uzak bir yürütme ortamı üzerinden kurulan bağlantılar için desteklenmez.
Codex, yardımcı üstbilgilerini bağlantı için önbelleğe alır. Aynı kaynaklı bir POST isteği
401 veya 403 döndürdükten sonra üstbilgileri bir kez yeniler ve yalnızca
yardımcı değişmiş değerler döndürürse yeniden dener. Açıkça belirtilen bearer tokenleri ve OAuth kimlik bilgileri,
yardımcı tarafından sağlanan Authorization üstbilgisine göre önceliklidir.
Yetersiz kapsam bildiren bir OAuth 403 yanıtı
yardımcı yenilemesini tetiklemez.
Hiçbir kimlik bilgisi kaynağı çözümlenemezse Codex, sunucuya kimlik doğrulaması
olmadan bağlanabilir. MCP OAuth oturum açma işlemini başlatmak için codex mcp login <server-name> komutunu ayrıca çalıştırın.
Diğer yapılandırma seçenekleri
startup_timeout_sec(isteğe bağlı): Sunucunun başlaması için zaman aşımı (saniye). Varsayılan:10.tool_timeout_sec(isteğe bağlı): Sunucunun bir aracı çalıştırması için zaman aşımı (saniye). Varsayılan:60.enabled(isteğe bağlı): Bir sunucuyu silmeden devre dışı bırakmak içinfalseolarak ayarlayın.required(isteğe bağlı): Bu etkin sunucu başlatılamazsa başlangıcın başarısız olması içintrueolarak ayarlayın.enabled_tools(isteğe bağlı): Araç izin listesi.disabled_tools(isteğe bağlı): Araç engelleme listesi (enabled_toolssonrasında uygulanır).default_tools_approval_mode(isteğe bağlı): Bu sunucudaki araçlar için varsayılan onay davranışı. Desteklenen değerlerauto,prompt,writesveapproveşeklindedir.writesmodu, salt okunur olarak işaretlenmemiş araçlar için onay ister.tools.<tool>.approval_mode(isteğe bağlı): Araç başına onay davranışı geçersiz kılma ayarı.tools.<tool>.output_token_limit(isteğe bağlı): Standart %20 serileştirme payından önce, tek bir aracın çıktısı için pozitif token bütçesi. Modelin o araca yönelik varsayılan çıktı kısaltma bütçesini geçersiz kılar.
Üst düzey mcp_optional_startup_grace_ms ayarı, Codex'in ilk araç kataloğunu
oluştururken isteğe bağlı MCP server öğelerini ne kadar bekleyeceğini denetler. Varsayılan değer
1000 milisaniyedir. Her sunucunun startup_timeout_sec değerini beklemek için bunu 0 olarak ayarlayın.
Zorunlu sunucular yine kendi başlangıç
zaman aşımlarını kullanır.
OAuth istemci kaydı ve geri çağrılar
Yetkilendirme sunucunuz önceden kaydedilmiş bir OAuth istemcisi gerektiriyorsa MCP server öğesini eklerken istemci kimliğini sağlayın:
codex mcp add example --url https://mcp.example.com --oauth-client-id my-clientGizli istemciler için --oauth-client-secret seçeneğini de iletin. Gizli değeri
bir ortam değişkeninden okuyun:
codex mcp add example --url https://mcp.example.com --oauth-client-id my-client --oauth-client-secret "$MCP_CLIENT_SECRET"Bu seçenek, boş olmayan bir istemci kimliği ve gizli değer gerektirir. Codex gizli değeri
mcp_servers.example.oauth.client_secret olarak config.toml dosyasına kaydeder. Bu dosyayı
gizli tutun ve sürüm kontrolüne dahil etmeyin.
Codex, sağlayıcınıza kaydetmeniz gereken eksiksiz geri çağrı URL'sini görüntüler:
OAuth callback URL: http://127.0.0.1/callbackCodex, daha sonraki oturum açma işlemleri için geri çağrıyı istemci kimliğiyle birlikte config.toml içinde
saklar:
[mcp_servers.example]
url = "https://mcp.example.com"
[mcp_servers.example.oauth]
client_id = "my-client"
callback_url = "http://127.0.0.1/callback"Yeni eklenen önceden kaydedilmiş istemciler, yalnızca yetkilendirme sunucusu
authorization_response_iss_parameter_supported: true desteğini duyurur ve bir meta veri
issuer sağlarsa kararlı bir geri çağrı kullanır. Düzenleyen kimliği desteği duyurulmazsa Codex,
http://127.0.0.1/callback/XuuuHAzzHOni gibi sunucuya özgü bir geri çağrı kimliği ekler. Kayıtlı bir geri çağrısı olmayan mevcut istemciler,
geri çağrı kimliğine özgü yönlendirmelerini kullanmayı sürdürür.
Oturum açma sırasında geri çağrı seçimi, OAuth yapılandırmasına ve yetkilendirme sunucusunun meta verilerine bağlıdır:
| OAuth yapılandırması | Düzenleyen kimliği desteği | Kullanılan geri çağrı |
|---|---|---|
callback_url, client_id olmadan |
Destekleniyor | Yapılandırılmış geri çağrı istemci kaydı için kullanılır. |
callback_url, client_id olmadan |
Desteklenmiyor | Yapılandırılmış geri çağrı, sunucuya özgü geri çağrı kimliği eklenerek istemci kaydı için kullanılır. |
client_id ve callback_url |
Destekleniyor | Yapılandırılmış geri çağrı yeniden kullanılır; yetkilendirme yanıtı eşleşen iss değerini içermelidir. |
client_id ve doğru geri çağrı kimliğiyle biten bir callback_url |
Desteklenmiyor | Yapılandırılmış geri çağrı değiştirilmeden yeniden kullanılır. |
client_id ve doğru geri çağrı kimliği eksik olan bir callback_url |
Desteklenmiyor | Yapılandırılmış geri çağrı yok sayılır. Codex, geri çağrı kimliği eklenmiş şekilde mcp_oauth_callback_url veya ayarlanmamışsa http://127.0.0.1/callback kullanır. |
Yapılandırılmış bir callback_url olmadan client_id |
Destekleniyor veya desteklenmiyor | Codex, sunucuya özgü geri çağrı kimliği eklenmiş genel veya varsayılan geri çağrıyı kullanır. |
Geri dönüş mekanizması, saklanan geri çağrı URL'sini değiştirmez. Codex, geri çağrı kimliğini yolu ve sorgu dizesi dâhil MCP server URL'sinden türetir. Aynı seçim kuralları otomatik ve açık oturum açma işlemleri için geçerlidir.
Özel bir geri çağrı yoluna veya uzak
Devbox giriş URL'sine ihtiyacınız olduğunda mcp_oauth_callback_url ayarını yapın. Yeni eklenen önceden kaydedilmiş istemciler, sağlayıcıları düzenleyen kimliğinin tanımlanmasını destekliyorsa bu URL'yi değiştirmeden kullanır.
Aksi takdirde yapılandırılmış URL'yi sunucuya özgü geri çağrı kimliği eklenmiş olarak kullanırlar. Daima
codex mcp add tarafından görüntülenen tam geri çağrıyı kaydedin.
Açıkça belirtilmiş bir bağlantı noktası içermeyen http://127.0.0.1 geri çağırımlarında Codex, dinleyici bağlantı noktasını
görüntülediği ve sakladığı URL'ye eklemez; etkin dinleyici bağlantı noktasını
yetkilendirme sırasında ekler. Bu değiştirme işlemi localhost, IPv6 ana makineleri,
HTTPS URL'leri veya zaten bağlantı noktası içeren geri çağırımlar için geçerli değildir. Yetkilendirme sunucuları,
değişken geri döngü bağlantı noktalarını
RFC 8252, Bölüm 7.3 uyarınca kabul etmelidir.
Sabit bir genel dinleyici bağlantı noktası seçmek için mcp_oauth_callback_port ayarını yapın veya
tek bir sunucu için bu ayarı geçersiz kılmak üzere mcp_servers.<server-name>.oauth.callback_port ayarını yapın.
Geri çağırım URL'sinde açıkça belirtilen bağlantı noktası, dinleyiciyi yapılandırmaz. Doğrudan
bir geri döngü geri çağırımı için http://127.0.0.1 adresini bağlantı noktası belirtmeden kullanın veya aynı
bağlantı noktasını hem geri çağırım URL'si hem de dinleyici için açıkça yapılandırın. Proxy üzerinden yapılan bir geri çağırım,
yerel dinleyici bağlantı noktasından farklı bir harici URL bağlantı noktasını
bilinçli olarak kullanabilir. Yerel geri çağırım URL'leri yerel arayüze bağlanır; yerel olmayan geri çağırım URL'leri ise
0.0.0.0 adresine bağlanır.
Codex, yetkilendirme kodunu takas etmeden önce döndürülen tüm iss değerlerini doğrular. Eşleşmeyen bir
iss her zaman yanıtın reddedilmesine yol açar. Düzenleyen kimliği desteği duyurulduğunda
eksik bir iss değeri de yanıtın reddedilmesine yol açar. Her iki hatada da kod takas edilmez veya başka bir geri çağrıya
dönülmez. Hatalı biçimlendirilmiş bir geri çağrı URL'si ya da meta verilerde düzenleyen kimliği olmadan duyurulan düzenleyen kimliği desteği
de kesin hata olarak kalır. Bkz.
Kullanıcıların kimliğini doğrulama.
Bir sunucu için OAuth kapsamlarını seçmek üzere config.toml içinde mcp_servers.<server-name>.scopes değerini
ayarlayın. Tek bir oturum açma işlemi için bunları geçersiz kılmak üzere
codex mcp login <name> --scopes read,write komutunu çalıştırın.
İkisi de ayarlanmamışsa Codex, mevcut olduğunda bildirilen OAuth kapsamlarını kullanır.
Boş bir liste (scopes = []), kapsamları yine OAuth kitaplığının seçmesine olanak tanır.
Yetkilendirme sunucusu destekliyorsa kitaplık offline_access kapsamını da ekleyebilir.
OAuth istemci kaydı
Codex, OAuth Client ID Metadata Documents (CIMD)
ve Dynamic Client Registration'ı (DCR) destekler. Codex varsayılan olarak yetkilendirme sunucusu
client_id_metadata_document_supported: true desteğini duyurduğunda, token_endpoint_auth_methods_supported içinde
none bulunduğunda ve geri çağrı desteklenen bir
geri döngü URL'si kullandığında otomatik olarak CIMD'yi seçer. Aksi takdirde Codex, kullanılabiliyorsa DCR'yi kullanır. Yapılandırılmış bir OAuth istemci
kimliği her zaman önceliklidir ve istemci kaydını atlar.
Düzenleyen kimliğine bağlı yanıtların kullanılmadığı CIMD için Codex CLI, ChatGPT'de barındırılan ve MCP server öğesine özgü bir meta veri belgesi kullanır:
https://chatgpt.com/oauth/codex/<callback_id>/client.jsonCodex, <callback_id> değerini MCP server URL'sinden türetir ve bunu
http://127.0.0.1:<port>/callback/<callback_id> gibi geri döngü yönlendirme URI'sine ekler. Meta veri belgesi,
eşleşen geri döngü URI'sini bağlantı noktası olmadan kaydeder. Yetkilendirme sunucuları,
RFC 8252 gereğince ana makine ve yolu tam olarak eşleştirirken oturum açma sırasında seçilen
bağlantı noktasını kabul etmelidir. Özel
geri çağrı ana makineleri, yolları veya sorgu parametreleri DCR ya da yapılandırılmış bir OAuth
istemci kimliği gerektirir.
Codex CLI ayrıca sabit, paylaşılan bir CIMD belgesini de destekler:
https://chatgpt.com/oauth/codex/client.jsonCodex CLI, yetkilendirme sunucusu aşağıdaki koşulları karşıladığında paylaşılan /callback yoluyla sabit belgeyi kullanır:
yetkilendirme sunucusu
authorization_response_iss_parameter_supported: true desteğini bildirir, meta verilerinde geçerli bir
issuer sağlar ve yetkilendirme yanıtlarında eşleşen bir iss içerir.
Düzenleyen kimliğine bağlı yanıtlar sağlamayan sunucular,
geri çağırıma özgü belgeyi kullanır.
Tek bir CLI oturum açma işlemi için kayıt yöntemi seçmek üzere
--oauth-client-registration kullanın:
codex mcp login <server-name> --oauth-client-registration cimd
codex mcp login <server-name> --oauth-client-registration dcrVarsayılan değer auto şeklindedir. Kayıt seçimleri yalnızca mevcut oturum açma işlemi için geçerlidir ve
config.toml içinde saklanmaz.
config.toml örnekleri
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env_vars = ["LOCAL_TOKEN"]
[mcp_servers.context7.env]
MY_ENV_VAR = "MY_ENV_VALUE"# Optional MCP OAuth callback overrides (used by `codex mcp login`)
mcp_oauth_callback_port = 5555
mcp_oauth_callback_url = "https://devbox.example.internal/callback"[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
enabled_tools = ["open", "screenshot"]
disabled_tools = ["screenshot"] # applied after enabled_tools
default_tools_approval_mode = "prompt"
startup_timeout_sec = 20
tool_timeout_sec = 45
enabled = true
[mcp_servers.chrome_devtools.tools.open]
approval_mode = "approve"
output_token_limit = 30000Eklentiler tarafından sağlanan MCP server öğeleri
Yüklü eklentiler, eklenti bildirimlerinde MCP server öğelerini paketleyebilir. Bu
sunucular eklentiden başlatıldığından kullanıcı yapılandırması aktarım komutlarını ayarlamaz.
Kullanıcı yapılandırması, plugins.<plugin>.mcp_servers.<server> altında açma/kapatma durumunu ve araç politikasını
yine de denetleyebilir.
[plugins."sample@test".mcp_servers.sample]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = ["read", "search"]
[plugins."sample@test".mcp_servers.sample.tools.search]
approval_mode = "approve"Eklentiler tarafından sağlanan HTTP MCP server öğeleri, OAuth ayarlarını .mcp.json içinde de bildirebilir.
Eklenti bildirimleri clientId, callbackUrl ve
callbackPort camelCase alan adlarını kullanır:
{
"mcpServers": {
"sample": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"oauth": {
"clientId": "my-pre-registered-client",
"callbackUrl": "http://127.0.0.1/callback/registered"
}
}
}
}Eklentiler tarafından sağlanan MCP server öğeleri, diğer
MCP server öğeleriyle aynı geri çağrı seçimi kurallarını izler. Bir eklenti clientId sağlıyorsa, sağlayıcısı
düzenleyen kimliğine bağlı geri çağrıları desteklemiyorsa ve callbackUrl sunucuya özgü geri çağrı
kimliğini içermiyorsa Codex, oturum açma sırasında bu URL'yi yok sayar ve geri çağrı kimliği eklenmiş şekilde mcp_oauth_callback_url veya
ayarlanmamışsa http://127.0.0.1/callback kullanır. Yapılandırılmış
callbackUrl değişmeden kalır.
Bir eklentinin oauth.callbackPort değeri, genel
mcp_oauth_callback_port değerini geçersiz kılar; ikisi de ayarlanmamışsa Codex geçici bir bağlantı noktası seçer.
callbackUrl içine gömülü bağlantı noktası, dinleyici bağlantı noktasını seçmez. Sabit bağlantı noktasına sahip doğrudan bir
geri döngü geri çağrısı için iki değeri de eşleşecek şekilde yapılandırın:
{
"callbackUrl": "http://127.0.0.1:4321/callback/registered",
"callbackPort": 4321
}Uzak giriş veya başka bir proxy için, proxy yapılandırılmış dinleyiciye yönlendirme yaptığında geri çağrı URL'sinin bağlantı noktası ile yerel dinleyici bağlantı noktası bilinçli olarak farklı olabilir.
Yararlı MCP server örnekleri
MCP server öğelerinin listesi büyümeye devam ediyor. Yaygın örneklerden bazıları şunlardır:
- OpenAI Docs MCP: OpenAI geliştirici belgelerinde arama yapın ve bunları okuyun.
- Context7: Güncel geliştirici belgelerine bağlanın.
- Figma Yerel ve Uzak: Figma tasarımlarınıza erişin.
- Playwright: Playwright kullanarak bir tarayıcıyı denetleyin ve inceleyin.
- Chrome Developer Tools: Chrome'u denetleyin ve inceleyin.
- Sentry: Sentry günlüklerine erişin.
- GitHub: GitHub'ı
gittarafından desteklenenlerin ötesinde yönetin (örneğin pull request'ler ve sorunlar).