MCP Kaynakları ve Araçları: Aralarındaki Fark Nedir ve Hangisi Ne Zaman Kullanılmalıdır?

Model Context Protocol (MCP), yapay zekâ uygulamalarına modelleri harici bağlam ve yeteneklerle bağlamanın standart bir yolunu sunar. MCP sunucuları geliştiren geliştiriciler için en önemli tasarım kararı çoğu zaman aldatıcı derecede basittir: Bir yetenek Kaynak olarak mı yoksa Araç olarak mı sunulmalıdır?
Bu ayrım, bir ajanın bilgiyi nasıl keşfettiğini, belirteçleri ne zaman tükettiğini, neleri değiştirebileceğini ve kullanıcıların riski nasıl değerlendirdiğini şekillendirir. Kötü modellenmiş bir yetenek, bir entegrasyon hakkında akıl yürütmeyi zorlaştırabilir: statik başvuru verileri gereksiz bir işlev çağrısına dönüşür veya önemli sonuçları olan bir eylem zararsız bağlam gibi görünür.
Pratik açıdan MCP Kaynakları, bir uygulamanın yapay zekâ sistemine sunabileceği salt okunur bilgiler sağlar. MCP Araçları, bir modelin talep edebileceği yürütülebilir işlemleri sunar. Aralarındaki sınırı anlamak, güvenilir, güvenli ve belirteç açısından verimli MCP sunucusu geliştirme için temel önemdedir.
MCP'de Kaynaklar ile Araçlar Arasındaki Ayrımın Önemi
Yapay zekâ ajanları hem bilgiye hem de harekete geçme yeteneğine ihtiyaç duyar. Ancak bilgi alma ve eylem yürütme farklı güven modellerine sahiptir.
Bir model, hangi sorguların mümkün olduğunu anlamak için bir veritabanı şemasına ihtiyaç duyabilir. Ardından onaylanmış bir sorguyu çalıştırmak için ayrı bir yeteneğe ihtiyaç duyabilir. Her ikisini de aynı entegrasyon türü olarak ele almak niyeti belirsizleştirir, izinleri karmaşıklaştırır ve aşırı bağlam kullanımına yol açabilir.
Kaynaklar ile Araçlar arasındaki ayrım önemlidir çünkü şunları netleştirir:
- Ajan davranışı: Model, kararlı bağlamı bir işlem talep etmekten ayrı olarak inceleyebilir.
- Güvenlik sınırları: Okuma erişimi ve yazma erişimi farklı şekilde gözden geçirilebilir, kapsamlandırılabilir ve yönetilebilir.
- Kullanıcı güveni: Kullanıcılar, bir ajanın bir sistem hakkında bilgi edinmesi ile o sistemi değiştirmesi arasındaki farkı ayırt edebilir.
- Belirteç verimliliği: İlgili bağlam, her isteme ayrım gözetmeksizin eklenmek yerine gerektiğinde getirilebilir.
- Sunucu tasarımı: Yetenekleri adlandırmak, belgelemek, test etmek ve sürdürmek kolaylaşır.
MCP, kullanılabilir her Kaynağın otomatik olarak model bağlamına yerleştirildiği anlamına gelmez. Kaynaklar MCP yetenek modeli aracılığıyla kullanılabilir durumdadır; ancak ana uygulama bunların nasıl ve ne zaman gösterileceğini veya okunacağını belirler. Kullanılabilir bilgilerin geniş kapsamlı, hassas veya yüklenmesi maliyetli olduğu durumlarda bu ana uygulama denetimli yaklaşım vazgeçilmezdir.
MCP Kaynakları Nedir?
MCP Kaynakları, bir MCP sunucusu tarafından sunulan, URI tabanlı salt okunur bağlam parçalarıdır. Bir yapay zekâ sisteminin bir görevi tamamlarken incelemesi, özetlemesi, üzerinde akıl yürütmesi veya alıntı yapması gerekebilecek bilgiler için tasarlanmıştır.
Bir Kaynak, yalnızca herhangi bir dosya veya genel API uç noktası değildir. Model Context Protocol kapsamında, genellikle bir URI ile tanımlanan, keşfedilebilir bir bağlamsal veri birimidir. Bir sunucu; belgeleri, yapılandırmayı, şemaları, proje meta verilerini, bilgi tabanı sayfalarını veya oluşturulmuş durum bilgilerini temsil eden Kaynakları sunabilir.
Yaygın örnekler arasında bir depo mimarisi kılavuzu, bir `README` dosyası, bir OpenAPI şeması, bir veritabanı tablo tanımı veya bir dağıtım ortamının mevcut yapılandırması bulunur. Bunlar yararlıdır çünkü bir ajanın çalışma önermeden ya da gerçekleştirmeden önce bir sistemin durumunu ve kurallarını anlamasına yardımcı olurlar.
Protokol düzeyinde sunucular, kullanılabilir bağlamı `resources/list` ile duyurabilir. Ardından bir istemci, belirli bir öğeyi `resources/read` aracılığıyla alabilir. Bu ayrım, ana uygulamanın ve ajanın içeriğin kendisini yüklemeden önce nelerin kullanılabilir olduğunu incelemesine olanak tanır.
Kaynaklar, yanıtın mevcut ve kararlı bilgilerden türetilmesi gerektiğinde özellikle yararlıdır. Örneğin, alışılmadık bir hizmeti inceleyen bir ajan, bir entegrasyon önermeden önce hizmetin API sözleşmesini içeren bir Kaynağı okuyabilir. Kaynak kanıt ve bağlam sağlar; bir değişiklik gerçekleştirmez.

MCP Araçları Nedir?
MCP Araçları, bir modelin MCP sunucusu aracılığıyla keşfedip çağırabileceği yürütülebilir yeteneklerdir. Bunlar işlemleri temsil eder: ajanın bağlı bir sistemden gerçekleştirmesini isteyebileceği görevleri.
Bir Araç API isteği yapabilir, bir kayıt oluşturabilir, dağıtım denetimi çalıştırabilir, rapor oluşturabilir, mesaj gönderebilir veya bir veritabanına yazabilir. Birçok Araç yan etkiye sahip olabilir, ancak yan etkiler zorunlu değildir. Örneğin salt okunur bir veritabanı sorgusu, girdileri, yürütme mantığı ve yapılandırılmış bir sonucu olan bir işlemse yine de doğru şekilde Araç olarak modellenebilir.
Sunucular, Araç tanımlarını `tools/list` aracılığıyla sunar. Her tanım net bir ad, açıklama ve giriş şeması iletmelidir. Model, seçilen bir yeteneği `tools/call` aracılığıyla çağırır ve Aracın beklenen girdisiyle eşleşen bağımsız değişkenler sağlar.
Temel tasarım ilkesi, bir Aracın sunucudan iş yapmasını istemesidir. Çıktısı veri olabilir, ancak bu veri doğrudan adreslenebilir bir bağlamsal yapıt olmaktan ziyade yürütmenin sonucudur.
Örneğin `create_linear_ticket`, harici bir iş akışının yeni bir kayıt oluşturmasına neden olduğu için bir Araçtır. `get_deployment_status` da sunucunun sağlanan ortam ve hizmet parametrelerini kullanarak canlı bir sistemi sorgulaması gerektiğinde bir Araç olabilir. Yalnızca biri zorunlu olarak durumu değiştirse de her iki işlem de açıkça çağrılmayı gerektirir.
MCP Kaynakları ve Araçları: Temel Farklar
| Yetenek | MCP Kaynakları | MCP Araçları |
|---|---|---|
| Denetim modeli | Ana uygulama denetimli bağlam erişimi | Ana uygulama denetimlerine tabi, model tarafından talep edilen yürütme |
| Temel amaç | Salt okunur bilgi sağlamak | Bir işlem veya hesaplama gerçekleştirmek |
| Yan etkiler | Yok; salt okunur | Mümkün, ancak zorunlu değil |
| Tanımlayıcı modeli | URI tabanlı | Giriş şeması olan adlandırılmış işlev |
| Keşif yöntemi | `resources/list` | `tools/list` |
| Erişim yöntemi | `resources/read` | `tools/call` |
| Tipik örnekler | Belgeler, şemalar, yapılandırmalar, meta veriler | API çağrıları, kayıt oluşturma, sorgular, dağıtımlar |
| En uygun kullanım | İncelenecek kararlı bağlam | Talep edilecek parametreli çalışma |
Tablo pratik bir sınırı gösterir: Kaynaklar bilgiyi tanımlar veya sunar, Araçlar ise davranış yürütür. İyi tasarlanmış bir MCP sunucusunda, her iki yetenek aynı daha geniş iş akışını desteklese bile bu ayrım görünür kalır.
Bir Kaynak ile Araç Arasında Nasıl Seçim Yapılır
Tek bir soruyla başlayın: aracının bilgiyi incelemesi mi gerekiyor, yoksa sunucunun bir işlem gerçekleştirmesi mi gerekiyor?
Bilgi salt okunursa, doğal olarak adreslenebilirse ve bağlam olarak yararlıysa Kaynak kullanın. Bir yapılandırma dosyası, ürün spesifikasyonu, politika belgesi veya veritabanı şeması genellikle bu modele uyar. İstemci öğeyi keşfedebilir, ilgili olup olmadığına karar verebilir ve iş mantığını tetiklemeden okuyabilir.
Görev girdiler, yürütme veya statik bağlam olarak temsil edilemeyen bir sonuç gerektiriyorsa Araç kullanın. Bir destek talebi oluşturmak, filtrelenmiş bir rapor getirmek, derleme başlatmak veya bir kaydı güncellemek bir Aracın arkasında yer almalıdır.
Bazı iş akışları her iki temel öğeye de ihtiyaç duyar. Bir sürüm yönetimi entegrasyonunu düşünün:
1. Sürüm politikalarını ve ortam tanımlarını Kaynaklar olarak sunun. 2. Seçilen bir hizmet için canlı dağıtım durumunu getirecek bir Araç sunun. 3. Onaylanmış bir dağıtımı tetikleyecek ayrı bir Araç sunun.
Bu tasarım, aracının önce politika ve ortam kısıtlamalarını anlamasına, ardından güncel operasyonel verileri istemesine ve ancak sonrasında sonuç doğuracak bir eylem talep etmesine olanak tanır. Bu ayrım, kullanıcıların denetlemesi ve ürün ekiplerinin güvenliğini sağlaması açısından daha kolaydır.
Her sorguyu Kaynağa dönüştürmekten kaçının. Bilgi dinamik, parametreli veya hesaplama açısından maliyetliyse, genellikle Araç daha uygundur. Buna karşılık, URI tabanlı bir Kaynağın amacını daha net kılacağı durumlarda basit ve kararlı referans içeriğini bir Araca sarmalamaktan kaçının.
Pratik MCP Sunucusu Tasarımı Örnekleri
Bir depo dokümantasyon sunucusu, kodlama standartlarını, mimari karar kayıtlarını ve hizmet sahipliği haritalarını Kaynaklar olarak sunabilir. Bu öğeler, öngörülebilir adreslere sahip yararlı referans materyalleridir. `search_repository_docs` özelliği, anahtar sözcükleri kabul ediyor ve büyük bir dokümantasyon külliyatında hedefli arama yürütüyorsa bir Araç olabilir.
Veritabanı entegrasyonları için tablo şemaları ve onaylanmış veri sözlükleri Kaynak olarak iyi çalışır. `run_readonly_query` özelliği bir Araç olarak daha iyi modellenir; çünkü bir sorguyu veya yapılandırılmış filtreleri kabul eder, bunları doğrular, canlı bir sistemde yürütür ve sonuç döndürür. Ayrı bir yazma Aracı asla aynı belirsiz arayüzün arkasına gizlenmemelidir.
Proje yönetimi entegrasyonları aynı modeli izler. Bir Kaynak, bir sprint panosunun iş akışı tanımlarını veya sorun etiketi taksonomisini sağlayabilir. Bir Araç talep oluşturabilir, durumunu güncelleyebilir veya bir sahip atayabilir. Bilgi, aracının bilinçli bir talepte bulunmasına yardımcı olur; Araç ise istenen değişikliği gerçekleştirir.
Rapor oluşturma da yararlı bir sınır durumudur. Sabit bir üç aylık rapor şablonu Kaynak olabilir. `generate_quarterly_report` işlemi bir Araçtır; çünkü bir zaman aralığını kabul eder, canlı verileri seçer, iş mantığını uygular ve bir çıktı oluşturur. Oluşturulan rapor, diğer aracıların incelemesi gereken kararlı bir yapıt hâline gelirse daha sonra Kaynak olarak sunulabilir.
Teknikten Sunuma İş Akışları için Pi MCP Kullanımı
Presentation Intelligence (Pi), teknik çalışmaları açık paydaş iletişimine dönüştürmesi gereken ekipler için MCP iş akışlarını destekler. Pi MCP; kod düzenleyicilerin, kaynak kontrolünün, veritabanlarının veya diğer MCP sunucularının yerine geçmez. Teslimat sürecinde farklı bir adımı ele alır: onaylanmış teknik bağlamı yapılandırılmış, işe hazır bir sunuma dönüştürmek.
1. İş Mantığı, Slayt Biçimlendirmesinden Önce Gelir
Claude Code gibi bir yapay zekâ kodlama veya aracı ortamında ekipler, güçlü bir sunum için gereken ham malzemeye çoğu zaman zaten sahiptir: teknik özetler, proje notları, mimari açıklamaları, sürüm özetleri ve kod tabanından türetilen bulgular. Zorluk, bu materyali birbirinden kopuk slaytlar koleksiyonu yerine hedef kitleye uygun bir anlatıya dönüştürmektir.
Pi MCP ile bir aracı iş akışı, mantık öncelikli bir sunum yapısı oluşturmak için tanımlı bir özeti veya onaylanmış bağlamı Presentation Intelligence'a aktarabilir. Bu; hikâye akışının, temel uygulama kadar güvenilir olması gereken mühendislik yol haritası güncellemeleri, yönetici proje incelemeleri, teknik satış sunumları, danışmanlık raporları ve ürün lansmanı anlatıları için yararlıdır.
2. Oluşturma Mevcut İş Akışında Görünür Kalır
Sunum oluşturmak, aksi takdirde geliştiricilerin ve ürün ekiplerinin çalışma ortamlarından ayrılmasını, teknik notları manuel olarak yeniden düzenlemesini ve ayrı bir üretim sürecini tekrar tekrar kontrol etmesini gerektirebilir. Pi MCP, ekiplerin sunum çalışmasını başlatmasını ve oluşturma ilerlemesini mevcut aracı iş akışları içinde takip etmesini sağlar.
Sunum, gelişen proje bağlamına bağlı olduğunda bu süreklilik önemlidir. Bir ekip, iletişimi sonradan düşünülmüş bir unsur olarak ele almadan özeti iyileştirebilir, hedef kitlenin ihtiyaçlarını netleştirebilir ve sunum iş akışını izleyebilir. Pi'nin Çoklu Aracı Yapay Zekâ yaklaşımı, ekip hangi bağlamın paylaşılacağı üzerindeki kontrolünü korurken karmaşık girdilerden profesyonel yapıya ve üst düzey iş sunumu çıktısına geçişi destekler.
Güvenli ve Token Verimli MCP Entegrasyonları için En İyi Uygulamalar
İyi MCP sunucusu geliştirme, dar kapsamlı ve anlaşılır özelliklerle başlar. Kaynakları, bir aracının gerçekten ihtiyaç duyduğu bilgilerle sınırlı tutun. Büyük ve ayrıştırılmamış bir bilgi dökümü, kararları iyileştirmeden token tüketebilir. Anlamlı URI'lere, açık açıklamalara ve öngörülebilir sınırlara sahip daha küçük Kaynakları tercih edin.
Araçlar için kesin adlar ve açık girdi şemaları kullanın. `create_customer_ticket`, `manage_ticket` adından daha fazla bilgi verir; başlık, öncelik ve müşteri kimliğini ayıran bir şema belirsizliği azaltır. Yapılandırılmış, eyleme dönük sonuçlar döndürün; böylece bir aracı aynı Aracı tekrar tekrar çağırmadan ne olduğunu belirleyebilir.
Mümkün olduğunda okuma ve yazma işlemlerini ayırın. Hem sistemi inceleyen hem de değiştiren bir Araç, izin incelemesini zorlaştırır. Bir eylemin sonuçları önemli olduğunda—örneğin kayıtları silmek, harici mesajlar göndermek veya üretim dağıtımlarını tetiklemek—en az ayrıcalıklı erişimi uygulayın ve barındıran deneyimde uygun kullanıcı onayı isteyin.
Son olarak, aşamalı açıklama için tasarlayın. Aracıların önce yetenekleri keşfetmesine, yalnızca ilgili Kaynakları getirmesine ve Araçları sadece bir işlem gerektiğinde çağırmasına izin verin. Bu yaklaşım token israfını azaltır, hassas verilerin açığa çıkmasını sınırlar ve bir aracının akıl yürütme yolunu daha anlaşılır hâle getirir.

Pratik Sonuç: Bağlamı Kaynaklar, İşlemleri Araçlar Olarak Modelleyin
MCP tasarımı için en güvenilir kural basittir: kalıcı, salt okunur bağlamı Kaynaklar olarak ve yürütülebilir, parametreli işleri Araçlar olarak sunun. Bu sınır, güvenlik incelemelerini iyileştirir, aracı davranışını yorumlanabilir tutar ve ekiplerin yararlı erişimden ödün vermeden bağlam bütçelerini yönetmesine yardımcı olur.
Karmaşık iş akışları için en güçlü tasarım genellikle her ikisini birleştirir. Kaynaklar, aracının ihtiyaç duyduğu gerçekleri ve kısıtlamaları sağlar; Araçlar ise bunlar üzerinde işlem yapmanın dikkatle yönetilen yollarını sunar. Pi MCP, teknik iletişime aynı modeli uygular ve ekiplerin onaylanmış proje bağlamını, işin zaten gerçekleştiği yapay zekâ ortamlarında kalırken yapılandırılmış sunumlara dönüştürmesine yardımcı olur.
Sıkça Sorulan Sorular (SSS)
MCP Kaynakları verileri değiştirebilir mi?
Hayır. MCP Kaynakları salt okunur bağlamsal öğelerdir. Dosyaları, veritabanlarını, hizmetleri veya harici iş akışlarını değiştirmek için değil, inceleme ve akıl yürütme amacıyla bilgi sağlamak üzere tasarlanmıştır.
MCP Araçlarının her zaman yan etkileri var mıdır?
Hayır. Araçlar yürütülebilir yeteneklerdir ve bazıları yalnızca bilgi getirir veya hesaplar. Ancak Araçlar işlem gerçekleştirebildiği ve yan etkileri olabileceği için, uygun durumlarda açık adlara, girdi şemalarına, izinlere ve onay gereksinimlerine sahip olmalıdır.
Yeni bir MCP yeteneği için Kaynak mı yoksa Araç mı seçmeliyim?
Yetenek, URI ile doğal olarak tanımlanan kararlı ve salt okunur bir bilgiyse Kaynak seçin. Yetenek girdilere ihtiyaç duyuyor, mantık yürütüyor, canlı bir sistemi sorguluyor veya bir eylem gerçekleştiriyorsa Araç seçin. Bir iş akışı hem bağlama hem de yürütmeye ihtiyaç duyuyorsa, her birini ayrı bir yetenek olarak sunun.
Pi MCP geliştirici iş akışlarını nasıl destekler?
Pi MCP; geliştiricilerin, yapay zekâ mühendislerinin ve ürün ekiplerinin teknik özetleri, proje notlarını ve kod tabanından türetilen bağlamı yapılandırılmış, mantık öncelikli sunumlara dönüştürmesine yardımcı olur. Claude Code gibi iş akışları da dâhil olmak üzere uyumlu yapay zekâ kodlama ve aracı ortamlarında sunum oluşturmayı ve ilerleme takibini destekler.


