MCP: Claude Yerel Dosyalarınızla Akıllıca Nasıl Etkileşime Giriyor?

MCP: Claude Yerel Dosyalarınızla Akıllıca Nasıl Etkileşime Giriyor?

MCP Claude AI assistants Filesystem Security

Model Context Protocol (MCP), uygulamaların dosya sistemleriyle izole işlemler yoluyla etkileşim kurmasını sağlayan güvenli bir çerçeve sunar. Bu rehber, MCP’nin nasıl çalıştığını, temel özelliklerini açıklar ve MCP Dosya Sistemi Sunucusu ile pratik bir örnek üzerinden ilerler.

Model Context Protocol (MCP) Nedir?

Model Context Protocol (MCP), uygulamalar (ör. AI asistanları) ile dış sistemler, özellikle dosya sistemleri arasında kontrollü etkileşimleri mümkün kılan güçlü bir güvenlik çerçevesidir. Güvenli bir köprü görevi gören MCP, araçların dosya okuma, yazma veya arama gibi işlemleri izole, izin tabanlı bir ortamda gerçekleştirmesine olanak tanır.

Protokol, dosya sistemi işlemlerini VS Code, Claude Desktop veya diğer geliştirme ortamları gibi uygulamalara entegre etmek isteyen geliştiriciler için özellikle değerlidir ve güçlü güvenlik sınırlarını korur.

MCP’nin Temel Özellikleri

  • İzole İşlemler: Tüm aktiviteler önceden tanımlanmış dizinler içinde gerçekleşir, dosya sisteminizin hassas alanları korunur.
  • Standart API: Birleşik arayüz üzerinden erişilebilen (read_file, write_file, vb.) tutarlı bir araç seti.
  • Güvenlik Öncelikli Tasarım: Yalnızca izin verilen dizinlere kısıtlı işlemler ve salt-okunur bağlama gibi özellikler.
  • Esnek Entegrasyon: Docker, NPX, VS Code ve Claude Desktop dahil farklı ortamlarla uyumlu.
Illustration of MCP integration

MCP Dosya Sistemi Sunucusu Açıklaması

MCP Dosya Sistemi Sunucusu, Model Context Protocol çerçevesi içinde dosya sistemi işlemlerine özel olarak geliştirilmiş bir Node.js uygulamasıdır. Dosya ve dizinlerle kontrollü şekilde etkileşim kurmak için kapsamlı bir araç takımı sağlar.

MCP Dosya Sistemi Sunucusunda Mevcut Araçlar

Temel işlevlerin bir dökümü aşağıdadır:

  • read_file: Dosya içeriğini UTF-8 kodlamasıyla okur
  • read_multiple_files: Birden fazla dosyayı aynı anda işler, bireysel hatalara rağmen devam eder
  • write_file: Yeni dosya oluşturur veya mevcut olanı üzerine yazar
  • edit_file: Desen eşleşmesiyle seçici düzenleme, deneme (dry run) ve Git tarzı fark çıktısı dahil
  • create_directory: İsteğe bağlı üst dizin oluşturmayla birlikte dizin açar
  • list_directory: Dizin içeriğini [FILE] veya [DIR] ön ekleriyle gösterir
  • move_file: Dosya ve dizinleri taşır veya yeniden adlandırır
  • search_files: Hariç tutma desen desteğiyle özyinelemeli arama yapar
  • get_file_info: Boyut, oluşturulma zamanı ve izinler dahil meta verileri getirir
  • list_allowed_directories: Erişilebilir tüm dizinleri şeffaflık için gösterir

Tüm bu araçlara file://system kaynağı üzerinden erişilebilir ve bu kaynak MCP dosya sistemi işlemleri için arayüzdür.

Claude ile MCP Kullanımı

MCP’nin pratikte nasıl çalıştığını göstermek için, Claude adlı bir AI asistanı ile MCP Dosya Sistemi Sunucusu’nun yaygın dosya sistemi işlemlerini nasıl gerçekleştirdiğine dair gerçek bir örnek üzerinden ilerleyelim.

1. Adım: İzin Verilen Dizinleri Listeleme

İlk adım olarak Claude’un erişebileceği dizinleri belirledik. list_allowed_directories aracıyla iki izinli konumu gördük:

  • /Users/arshia/Desktop
  • /Users/arshia/Downloads

Bu, Claude’un işlemlerinin yalnızca bu dizinlerle sınırlı olduğunu ve dosya sisteminin geri kalanının güvende kaldığını doğruladı.

2. Adım: Dizin İçeriğini Keşfetme

Sonraki adımda, list_directory aracıyla hangi dosyaların mevcut olduğunu gördük. Sonuçlar şunları gösterdi:

/Users/arshia/Desktop için:

  • [FILE] DS_Store
  • [FILE] localized

/Users/arshia/Downloads için:

  • [FILE] DS_Store
  • [FILE] localized
  • [DIR] Visual Studio Code.app
  • [FILE] shrek.txt
  • [FILE] claudes diary.pages
  • [FILE] diary.pdf

Bu, Downloads dizininde shrek.txt adlı bir dosya ile birlikte diğer dosyalar ve Visual Studio Code için bir dizin olduğunu ortaya koydu.

Directory listing screenshot Downloads directory contents

Desktop ve Downloads dizinleri için list_directory istek ve yanıtlarını gösteren ekran görüntüsü

3. Adım: Bir Dosyayı Okumaya Çalışma

shrek.txt dosyasını belirledikten sonra, içeriğini read_file aracıyla okumayı denedik. Başlangıçta yalnızca shrek.txt dosya adını verdik ve aracın izinli dizinlerde arama yapacağını varsaydık.

Bu bir hata ile sonuçlandı:
“Access denied – path outside allowed directories: /shrek.txt not in /Users/arshia/Desktop, /Users/arshia/Downloads.”
Hata, MCP’nin güvenlik amacıyla tam dosya yolu gerektirdiği için oluştu.

Failed file read attempt

Görsel 2: Hata mesajı ile başarısız read_file denemesini gösteren ekran görüntüsü

4. Adım: Dosyanın Başarıyla Okunması

Doğru şekilde tam yol olan /Users/arshia/Downloads/shrek.txt bilgisini read_file aracına verdikten sonra işlem başarıyla gerçekleşti ve dosya içeriği alındı:

Request
{
  `path`: `/Users/arshia/Downloads/shrek.txt`
}
Response

Can you see what im writing here? If you do check this out: 

⢀⡴⠑⡄⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 
⠸⡇⠀⠿⡀⠀⠀⠀⣀⡴⢿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠑⢄⣠⠾⠁⣀⣄⡈⠙⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⢀⡀⠁⠀⠀⠈⠙⠛⠂⠈⣿⣿⣿⣿⣿⠿⡿⢿⣆⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⢀⡾⣁⣀⠀⠴⠂⠙⣗⡀⠀⢻⣿⣿⠭⢤⣴⣦⣤⣹⠀⠀⠀⢀⢴⣶⣆ 
⠀⠀⢀⣾⣿⣿⣿⣷⣮⣽⣾⣿⣥⣴⣿⣿⡿⢂⠔⢚⡿⢿⣿⣦⣴⣾⠁⠸⣼⡿ 
⠀⢀⡞⠁⠙⠻⠿⠟⠉⠀⠛⢹⣿⣿⣿⣿⣿⣌⢤⣼⣿⣾⣿⡟⠉⠀⠀⠀⠀⠀ 
⠀⣾⣷⣶⠇⠀⠀⣤⣄⣀⡀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀ 
⠀⠉⠈⠉⠀⠀⢦⡈⢻⣿⣿⣿⣶⣶⣶⣶⣤⣽⡹⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⠉⠲⣽⡻⢿⣿⣿⣿⣿⣿⣿⣷⣜⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣷⣶⣮⣭⣽⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⣀⣀⣈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠿⠿⠿⠛⠉

Shrek
  • Okuyucunun yazılanı görüp göremediğini soran bir soru
  • Shrek’in yüzünü gösteren ASCII sanatı
  • Sonda “Shrek” yazısı

Başarılı işlem, MCP’nin izin verilen dizinler içinde doğru yol verildiğinde dosya okuyabildiğini doğruladı.

Örneğimizden Çıkarılan Temel Dersler

Bu pratik uygulama, MCP kullanırken dikkat edilmesi gereken birkaç önemli noktayı vurgular:

  1. Tam Dosya Yolu Gerekli: read_file gibi araçlar yalnızca dosya adı değil, tam dosya yolu ister.
  2. İzolasyon Etkili: İlk başarısızlık, MCP’nin güvenlik modelinin tasarlandığı gibi işlediğini gösterdi.
  3. Adım Adım Keşif En İyisidir: Dizin listeleme araçlarıyla dosya sisteminde doğru şekilde gezilebilir.

MCP Uygulamasında En İyi Yöntemler

Deneyimlerimize ve MCP Dosya Sistemi Sunucusu’nun özelliklerine dayanarak şu en iyi yöntemleri öneriyoruz:

  • Önce İzinleri Kontrol Edin: İşlemlerden önce list_allowed_directories kullanın.
  • Tam Dosya Yolu Kullanın: Hataları ve belirsizlikleri önlemek için tam yolu belirtin.
  • Düzenlemeleri Deneme ile Test Edin: edit_file kullanırken değişiklikleri dryRun: true ile önce önizleyin.
  • Kısmi Başarılara Hazırlıklı Olun: read_multiple_files gibi araçlar, bireysel hatalara rağmen işlemeye devam eder.
  • En Az Ayrıcalığı Uygulayın: Sunucuyu yapılandırırken değişiklik yapılmaması gereken dizinler için salt-okunur bağlama kullanın.

Sonuç

Model Context Protocol (MCP) ve Dosya Sistemi Sunucusu, kontrollü ortamlarda dosya sistemi işlemleri için sağlam ve güvenli bir yaklaşım sunar. Claude ile örneğimiz, list_directory ve read_file gibi araçların pratik kullanımını gösterirken, tam yol kullanımı ve izin sınırlarını anlama gibi önemli prensiplere de vurgu yapıyor.

Buradaki en iyi yöntemleri takip ederek, MCP’yi dosya sistemi işlemlerini uygulamalarınıza veya geliştirme iş akışlarınıza güvenle entegre etmek için etkili biçimde kullanabilirsiniz.

Projelerinde MCP uygulamak isteyen geliştiriciler için, GitHub’daki resmi dokümantasyon kapsamlı detaylar ve uygulama rehberleri sunar.

Sıkça sorulan sorular

Model Context Protocol (MCP) nedir?

Model Context Protocol (MCP), uygulamalar (ör. AI asistanları) ile dosya sistemleri arasında kontrollü, izole etkileşimleri mümkün kılan bir güvenlik çerçevesidir. Sıkı izin verilen dizinler içinde güvenli dosya okuma, yazma, arama ve diğer işlemlere olanak tanır.

MCP dosyalarımı nasıl güvende tutar?

MCP, tüm işlemleri önceden tanımlanmış dizinlerle sınırlandırarak izole çalışmayı zorunlu kılar. Yetkisiz erişimi engeller, işlemler için tam dosya yolu ister ve hassas konumlar için salt-okunur bağlama gibi özellikler sunar.

Claude veya diğer AI asistanları MCP ile tüm dosya sistemime erişebilir mi?

Hayır, MCP kullanan uygulamalar yalnızca açıkça izin verilen dizinlerle etkileşime geçebilir. Bu dizinler dışındaki dosyalara erişim girişimleri engellenir ve güçlü güvenlik sınırları sağlanır.

MCP Dosya Sistemi Sunucusunda hangi ana araçlar mevcut?

Temel araçlar arasında read_file, write_file, edit_file, create_directory, list_directory, move_file, search_files, get_file_info ve list_allowed_directories bulunur. Tüm işlemler standart bir API üzerinden gerçekleştirilir.

MCP kullanımında en iyi yöntemler nelerdir?

İşlemlerden önce her zaman izin verilen dizinleri kontrol edin, tam dosya yolu belirtin, düzenleme sırasında deneme (dry run) kullanın, kısmi başarıları planlayın ve dizinleri en az ayrıcalıkla yapılandırın. Bu uygulamalar güvenlik ve etkili entegrasyonu garanti altına alır.

Arshia, FlowHunt'ta bir Yapay Zeka İş Akışı Mühendisidir. Bilgisayar bilimi geçmişi ve yapay zekaya olan tutkusu ile, yapay zeka araçlarını günlük görevlere entegre eden verimli iş akışları oluşturmada uzmanlaşmıştır ve bu sayede verimlilik ile yaratıcılığı artırır.

Arshia Kahani
Arshia Kahani
Yapay Zeka İş Akışı Mühendisi

FlowHunt'ı Güvenli AI Dosya Erişimiyle Deneyin

FlowHunt'ın AI araçlarının MCP'yi yerel dosyalarınızla güvenli, kontrollü etkileşimler için nasıl kullandığını görün. Kendi AI iş akışlarınızı güvenle ve verimli şekilde oluşturun.

Daha fazla bilgi

MCP: Model Context Protokolü
MCP: Model Context Protokolü

MCP: Model Context Protokolü

Model Context Protocol (MCP), Büyük Dil Modelleri'nin (LLM'ler) harici veri kaynaklarına, araçlara ve yeteneklere güvenli ve tutarlı bir şekilde erişmesini sağl...

4 dakika okuma
AI Large Language Models +4
MCP Sunucuları için Geliştirme Rehberi
MCP Sunucuları için Geliştirme Rehberi

MCP Sunucuları için Geliştirme Rehberi

Yapay Zekâ (YZ) modellerini harici araçlar ve veri kaynaklarıyla bağlamak için bir Model Context Protocol (MCP) sunucusunun nasıl inşa edileceğini ve dağıtılaca...

14 dakika okuma
AI Protocol +4