ChatGPT'de Plugin'ler, Skill'ler, App'ler ve MCP: Custom GPT'lerden Plugin'lere Geçiş
Custom GPT'ler 11 Aralık 2026'da emekliye ayrılıyor; plugin'e migration'da talimatlar skill'e, knowledge dosyaları referans dosyalarına ve bağlı app'ler plugin'e taşınır, custom action'lar, seçili model ve paylaşım ayarları taşınmaz. Plugin, skill ve app kavramları, plugin'in kullanıcının mevcut yetkisiyle sınırlı olması, ChatGPT web'de remote MCP'nin plugin üzerinden kullanılması ve Bookstore'un teklif GPT'sini bir MCP plugin'iyle taşıma planı.
Sürüm notu: Bu yazı ChatGPT'deki plugin, skill, app ve MCP (Model Context Protocol; ChatGPT'nin dış sistemlerdeki tool ve verilere bağlandığı açık protokol) desteğini ve custom GPT'lerin (kullanıcının kendi talimat ve dosyalarıyla kurduğu özel ChatGPT sürümleri) emekliliğini 15 Kasım 2026 itibarıyla anlatır; bilgiler aynı gün ChatGPT dokümantasyonunun Plugins, MCP ve "Moving your custom GPT workflows to plugins" sayfalarından (learn.chatgpt.com), OpenAI'ın plugin geliştirici dokümanlarından (developers.openai.com) ve Help Center'ın custom GPT emeklilik SSS'inden (sık sorulan sorular; help.openai.com) kontrol edilmiştir. Bu yazıda resmî belgelerden yararlanılmıştır. Emeklilik ve migration tarihleri hesaba ve workspace'e göre farklı olabildiği için kendi hesabındaki bildirime de bak.
Önce Tahmin Et
Hakan, sitedeki serilerin ortak örnek uygulaması Bookstore'da (bir online kitapçı) kurumsal satıştan sorumlu. Geçen yıl ekibin ChatGPT workspace'inde "Institutional Quote Helper" adında bir custom GPT kurdu. GPT'nin üç parçası var: kurumsal indirim kurallarını anlatan talimatlar, güncel fiyat listesi ve teklif şablonu olarak iki knowledge dosyası, bir de Bookstore.Api'deki stok endpoint'ini çağıran bir custom action. Ekip bu GPT'yi her gün okul ve kütüphane tekliflerinde kullanıyor. Hakan, ürün içindeki "Migrate to plugin" düğmesini gördü ve 11 Aralık'tan önce taşımayı planlıyor.
Tahminin ne? Migration'dan sonra bu üç parçadan hangileri çalışmaya devam eder? Ekip arkadaşları ertesi sabah yeni plugin'i hiçbir şey yapmadan kullanabilir mi? Ve stok sorgusu için ne yapılması gerekiyor? Cevap, learn.chatgpt.com'daki migration rehberinin "ne taşınır" bölümünde.
Plugin, Skill ve App: Kavramlar
learn.chatgpt.com'daki Plugins sayfasına göre (https://learn.chatgpt.com/docs/plugins, 15 Kasım 2026) plugin, yeteneklerini tekrar kullanılabilir bir iş akışında paketleyen birim. İçinde bir ya da birkaç parça olabiliyor. Skill, belirli bir iş türü için tekrar kullanılabilir talimatlar; gerekirse referans dosyaları ve yardımcı script'lerle birlikte. App ise ChatGPT'yi GitHub, Slack ya da Google Drive gibi bir sisteme bağlayan, tool'ları tanımlayan, authentication'ı uygulayan ve işlemleri yapan bir MCP server'ı. Bunlara ek olarak plugin'ler bir browser extension ya da Codex'in çalışma zamanında devreye giren hook'lar da içerebiliyor; hook'lar cloud'da yürütülen ChatGPT Work'te desteklenmiyor.
Plugin'ler web, desktop ve mobilde hem Chat'te hem Work'te, ayrıca desktop app'teki Codex'te çalışıyor; IDE extension'ı plugin desteklemiyor. ChatGPT ve Codex tek bir ortak plugin dizinini kullanıyor. Plugins sekmesinde OpenAI'ın plugin'leri, workspace'inin plugin'leri ve "Created by me" ile "Shared with me" bölümlerini içeren kişisel plugin'ler ayrı sekmelerde görünüyor. "Desktop only" işaretli plugin'leri web'de görebiliyor ama yalnız desktop app'te kurup kullanabiliyorsun.
Kurduğun bir plugin'i iki yolla kullanıyorsun. İşi doğrudan tarif edersen ChatGPT kurulu tool'lardan uygun olanı seçiyor; açıklaması isteğinle eşleşen bir skill'i kendiliğinden kullanabiliyor. Belirli bir plugin ya da skill istiyorsan mesaj kutusunda @ yazıp seçiyorsun; ChatGPT'de + menüsünden More ile de seçilebiliyor. Migration rehberi bir uyarı ekliyor: otomatik skill seçimi isteğe bağlı, kurulu bir plugin her istekte çalışmaz; bu yüzden hem açık seçimi hem de normal bir iş isteğini test et.
Yetki: Plugin Senin Yetkini Aşmaz
Plugin'lerin güvenlik modelinin merkezinde tek bir kural var: plugin senin mevcut erişiminle sınırlı. Rehberin örneğiyle, Google Drive'a ChatGPT üzerinden giriş yapmak, plugin'in yalnız senin hesabının zaten erişebildiği dokümanlarla çalışmasını sağlıyor; başka dosyaların kilidini açmıyor, Google Drive yetkisi eklemiyor. Bir hesabı bağlaman ya da bir işlemi onaylaman gerekebiliyor. Yalnız skill ve referans dosyası içeren plugin'ler bir app bağlantısı gerektirmiyor.
İki ayrıntı daha önemli. Birincisi, ChatGPT bir MCP server üzerinden veri gönderdiğinde o servisin kendi kullanım şartları ve gizlilik politikası geçerli oluyor. İkincisi, bir plugin'i kaldırmak, ayrıca bağladığın MCP entegrasyonlarının bağlantısını kesmiyor; onları ayrıca disconnect etmen gerekiyor. "Sign in with ChatGPT" ile bazı partner servislerine hesap açmak ya da bağlanmak da mümkün; doküman bunun yalnız adını, e-posta adresini ve profil resmini paylaştığını, verine erişim ya da işlem onayı vermediğini vurguluyor.
Custom GPT'lerin Emekliliği
Help Center'ın custom GPT emeklilik ve migration SSS'ine göre (https://help.openai.com/en/articles/20001519, 15 Kasım 2026) custom GPT'ler 11 Aralık 2026'da emekliye ayrılıyor; FedRAMP workspace'leri ve onaylı erteleme alan bazı Enterprise workspace'leri için tarih 11 Şubat 2027. Etkilenen Enterprise workspace'lerinde yeni GPT oluşturma 26 Ekim 2026'da kapandı (FedRAMP workspace'leri hariç). Taşınmamış GPT'ler emeklilik tarihine kadar kullanılabiliyor ve düzenlenebiliyor. Emeklilikle birlikte GPT'ler çalışmayı bırakıp GPT dizininden kalkıyor; mevcut GPT sohbetlerine erişim ise sürüyor.
Migration ürün içinden yapılıyor: My GPTs altında "Created by me" bölümünde GPT'yi bulup "Migrate to plugin" seçiyorsun. Bunun için GPT'nin yayımlanmış olması ve plugin'lerin senin için açık olması gerekiyor; migration GPT'nin son yayımlanmış sürümünü kullanıyor, taslaklar ve yayımlanmamış düzenlemeler taşınmıyor. GPT'yi oluşturan kişi ya da workspace yöneticisi migration yapabiliyor; başkasının GPT'sine erişimin olması yetmiyor. Migration'dan sonra orijinal GPT read-only oluyor, bundan sonraki düzenlemeler plugin'de yapılıyor. Dönüştürme credits harcamıyor; credits tabanlı fiyatlandırmada plugin'i düzenlemek ve güncellemek ise harcıyor.
Ne Taşınır, Ne Taşınmaz?

Migration rehberine göre (https://learn.chatgpt.com/docs/migrate-custom-gpts) GPT'nin talimatları plugin içinde bir skill'e, knowledge dosyaları bu skill'in referans dosyalarına dönüşüyor; bağlı app'ler de plugin'e app olarak ekleniyor. Custom action'lar taşınmıyor: bunları desteklenen bir app'in okuma ve yazma işlemleriyle ya da bir custom MCP server ile yeniden kurman gerekiyor. GPT'de seçili model taşınmıyor, varsayılan model geçerli oluyor. Conversation starter'lar birebir taşınmıyor; işe yarayanları önceden kaydet. Paylaşım ayarları da taşınmıyor: yeni plugin özel (private) başlıyor ve GPT'yi kullananlar plugin'e otomatik erişim kazanmıyor.
Önce Tahmin Et'in cevabı böylece netleşiyor. Hakan'ın talimatları ve iki knowledge dosyası plugin'e geçer; stok sorgusu yapan custom action geçmez. Ekip arkadaşları da ertesi sabah yeni plugin'i kendiliğinden göremez: Hakan'ın plugin'i paylaşması, onların da kurması gerekiyor. Rehber paylaşımın ve kurulumun ayrı adımlar olduğunu ayrıca vurguluyor; workspace'te paylaşmak için "Share plugins", workspace dizininde yayımlamak için "Publish plugins to workspace" izni gerekiyor.
ChatGPT'de MCP: Remote Server'lar Plugin Üzerinden
MCP sayfasına göre (https://learn.chatgpt.com/docs/extend/mcp) ChatGPT web, remote MCP tool'larını plugin'ler üzerinden kullanıyor. Bir plugin'i kurduğunda Chat ve Work onun MCP tool'larını kullanabiliyor; ChatGPT web local Codex configuration dosyalarını okumuyor. Desktop app'teki Codex host'u ise Settings > MCP servers altında STDIO (server'ın yerel bir süreç olarak çalışıp standart giriş ve çıkış üzerinden konuştuğu bağlantı) ya da Streamable HTTP server'ları doğrudan ekleyebiliyor; bu yapılandırmayı Codex CLI ve IDE extension'ı da paylaşıyor ve ayrıntısı OpenAI Codex serisinde.
Elinde bir MCP server yoksa doküman Plugin Creator ve Sites ile başlamayı öneriyor: bir Work görevinde @Plugin Creator seçip sisteminin API dokümanını ekliyorsun, Plugin Creator MCP server'ı Sites üzerinde barındırılan bir plugin olarak kuruyor. Bunun için workspace'te üç izin gerekiyor: plugin oluşturmak ve kullanmak için "Use plugins", Site oluşturup yayımlamak için Sites erişimi ve MCP'li plugin'i yayımlayacak Site sahibi için "Upload plugins" ile "Create plugins with MCPs". Doküman "Use plugins"ın varsayılan olarak açık, iki MCP yayımlama izninin ise varsayılan olarak kapalı olduğunu söylüyor; yani bir şirket workspace'inde MCP'li plugin yayımlamak bilinçli bir yönetici kararı.
Elinde zaten bir server varsa geliştirici dokümanındaki "Connect and test your plugin" sayfası (https://developers.openai.com/plugins/deploy/connect-chatgpt) adımları veriyor. Server'ın public bir HTTPS endpoint'ten ya da Secure MCP Tunnel üzerinden erişilebilir olması, public endpoint'in Streamable HTTP'yi genelde /mcp yolunda sunması, tool adlarının, açıklamalarının, şemalarının ve annotation'larının tanımlı olması gerekiyor. Önce server'ı MCP Inspector ile doğrudan deniyorsun:
npx @modelcontextprotocol/inspector@latest
Sonra chatgpt.com/plugins'te + düğmesiyle "Add custom MCP server" seçip adı, açıklamayı ve /mcp yolunu içeren URL'i giriyor, authentication'ı ayarlıyor, risk uyarısını okuyup onaylıyor ve "Create as a plugin" ile bir plugin oluşturuyorsun. ChatGPT server'ın bildirdiği tool'ları ve metadata'yı gösteriyor; bunları gözden geçirmeden devam etme. Server'da tool adı, açıklaması ya da şeması değişirse aynı ekrandaki Refresh ile metadata'yı yeniliyorsun.
Bookstore: Quote Helper'ı Plugin'e Taşımak
Hakan'ın GPT'sini parça parça planlayalım. Stok sorgusu için AI Agent'ları ve MCP serisinin "ASP.NET Core'da Remote MCP Server: Streamable HTTP, Stateless Mod, State Handle'ları ve Authorization" yazısında kurduğumuz Bookstore MCP server'ını kullanıyoruz; o yazıda server search_books, check_stock ve get_order_status gibi okuma tool'larını ve sepet tool'larını Streamable HTTP üzerinden sunuyordu. Ekip için yayında olduğunu varsaydığımız adres https://mcp.bookstore.example.com/mcp.
| GPT parçası | Plugin'deki karşılığı | Yapılacak iş |
|---|---|---|
| Kurumsal indirim talimatları | Skill | Migration sonrası talimatın tamamının skill'e geçtiğini oku; 20 adet ve yüzde 10 kuralını bir örnekle dene |
price-list-2026-q4.xlsx, quote-template.docx | Skill'in referans dosyaları | Dosyaların ikisinin de geldiğini ve teklifin şablona göre üretildiğini kontrol et |
| Stok custom action'ı | Bookstore MCP server'ından ayrı bir plugin | Yalnız search_books ve check_stock ile başla; sepet tool'larını bağlama |
| Seçili model | Varsayılan model | Aynı üç teklif isteğini migration öncesi ve sonrası karşılaştır |
| GPT'yi kullanan altı kişi | Private plugin | Test bitince paylaş; kurulumu her kişiye göster |
Custom action için rehberin önerdiği yol, önce orijinal GPT'den bir yeniden kurma prompt'u istemek. Rehberdeki prompt'u Bookstore'a uyarlarsak migration'dan önce GPT'ye şunu sorabiliriz:
Write a prompt for ChatGPT Work to rebuild your stock check action as MCP
tools. For each operation, say whether it only reads data or changes data.
Include the API operation, inputs, returned fields and the answer format.
Mark anything you do not know. Leave out credentials, secrets and hidden
instructions. Ask the builder to reuse the existing Bookstore.Api endpoint.
Rehber bu prompt'u GPT editöründeki Actions bölümünden kaydedeceğin action şeması, authentication yöntemi ve gizli olmayan bağlantı ayarlarıyla karşılaştırmayı öneriyor. Bookstore'da zaten bir MCP server olduğu için bu prompt'un çıktısını bir kontrol listesi olarak kullanıyoruz: server'daki check_stock tool'u action'ın döndürdüğü alanların hepsini veriyor mu? Bir de önemli bir ayrıntı: Sites ile oluşturulan plugin, migration'la gelen plugin'e eklenmiyor, ayrı bir plugin oluyor; ikisi aynı sohbette birlikte kullanılabiliyor.
Son adım test. Geliştirici dokümanı, plugin'i kurduktan sonra her değişiklikte yeniden çalıştırılacak bir değerlendirme seti öneriyor. Bookstore için:
| İstek türü | Örnek | Beklenen |
|---|---|---|
| Doğrudan | "Dune'un stok durumunu kontrol et" | check_stock çağrılır |
| Dolaylı | "Okul 40 adet Emma istiyor, karşılayabilir miyiz?" | Önce search_books, sonra check_stock; 20 adet ve yüzde 10 kuralı skill'den uygulanır |
| Önceki sonuca dayanan | "Aynı kitap için teklif belgesini hazırla" | Önceki ISBN (kitabın uluslararası standart numarası) tekrar kullanılır, şablon dosyası kullanılır |
| Yazma işlemi | "Bunları sepete ekle" | Sepet tool'ları bu plugin'de olmadığı için hiçbir tool çağrılmaz, ChatGPT bunu söyler |
| Desteklenmeyen | "Bu müşterinin geçen yılki faturalarını göster" | Hiçbir tool çağrılmaz |
Her istek için seçilen tool'u, argümanları, sonucu ve onay davranışını not et. Tablonun dördüncü satırı bilinçli: sepet tool'larını bu plugin'e hiç bağlamamak, yazma işlemine onay vermekten daha güçlü bir sınır.
Üretimde Dikkat
Tool'ları işaretle. Geliştirici dokümanı, MCP tool'larına readOnlyHint annotation'ını yalnız durum değiştiremeyen tool'lar için true vermeyi, geri alınması zor değişiklik yapabilen tool'lar için destructiveHint'i true yapmayı öneriyor. Doküman annotation'ların ChatGPT ve Codex'in uygun onay ve güvenlik davranışını seçmesine yardım ettiğini, ama server'daki authorization, doğrulama ve onayın yerini tutmadığını söylüyor. Yani yanlış işaretlenmiş bir tool hem modeli yanıltır hem de server tarafında ayrıca korunmalıdır.
Okuma ile başla. AI Agent'ları ve MCP serisinin "MCP ve Agent Güvenliği: Tool Poisoning, Confused Deputy, Least Privilege ve Sandboxing" yazısındaki least privilege (en az yetki) ilkesi burada da geçerli: ilk sürüm yalnız okuma tool'larıyla yayına girsin, yazma tool'ları log incelendikten sonra ayrı bir kararla eklensin.
Paylaşım ile kurulumu ayrı yönet. Migration'la gelen plugin'ler özel başlıyor ve toplu migration'da paylaşım ayarları kopyalanmıyor. Kimin erişmesi gerektiğini migration'dan önce yaz.
Sık Düşülen Tuzaklar
Custom action'a dayanan GPT'yi son güne bırakmak. Talimat ve dosyalar tek tıkla taşınıyor; custom action ise yeniden kurulması, güvenlik incelemesinden geçmesi ve test edilmesi gereken bir iş. Rehber bu GPT'leri erkenden belirlemeyi öneriyor.
Güvenilmeyen plugin kurmak. Bir plugin'in MCP server'ı veriyi kendi servisine gönderiyor ve o servisin şartları geçerli oluyor. Kurmadan önce kimin yayımladığına ve hangi yetkileri istediğine bak.
Yazma işlemlerini onaysız açmak. Plugins sayfası, Apple Messages plugin'i örneğinde kalıcı onayın mesaj gönderilmeden önceki son kontrol şansını kaldırdığını açıkça yazıyor; aynı mantık bütün yazma işlemleri için geçerli. Sayfadaki ya da tool sonucundaki bir talimatın modeli yönlendirebileceğini LLM Uygulama Güvenliği serisinin "Prompt Injection'a Katmanlı Savunma: Direct, Indirect ve Multimodal Injection, Spotlighting ve Privilege Separation" yazısında gördük.
Migration'ın modeli taşıdığını sanmak. Seçili model taşınmıyor; aynı istekler farklı cevaplar verebilir. Migration öncesinde birkaç tanıdık istek ve iyi sonuçlarını kaydet ki karşılaştırabilesin.
Küçük Bir Deneme
★☆☆ Kullandığın custom GPT'lerin listesini çıkar. Her birinin yanına talimat, knowledge dosyası, custom action ve paylaşım bilgisini yaz. Hangisinde custom action var?
★★☆ Plugins sekmesini aç ve kurulu plugin'lerini incele. Her birinin hangi app'lere bağlandığını ve hangi hesapla bağlandığını not et; kullanmadıklarını kaldır ve bağlı MCP entegrasyonlarını ayrıca kontrol et.
★★★ AI Agent'ları ve MCP serisindeki Bookstore MCP server'ını MCP Inspector ile aç, tool listesindeki her tool'un readOnlyHint ve destructiveHint değerlerini kontrol et ve bu yazıdaki değerlendirme setini kendi tool'larına göre beş isteğe genişlet.
Plugin'ler ChatGPT'yi senin sistemlerine bağlıyor; araştırma ise ChatGPT'yi açık web'e bağlıyor. Altıncı yazıda web search, deep research ve Browser'ı, kaynaklı araştırmayı ve web'de ChatGPT'ye iş yaptırırken hangi onayların seni koruduğunu göreceğiz.