MySQL Ortamında MCP Sunucu Yapılandırması
Yapay zekânın sisteminizdeki araçlara güvenli erişimi, MCP bağlantısı sayesinde sağlanır. Bu bağlantı, veritabanı işlemlerini doğal dil ile kontrol etmek isteyen kullanıcılar için oldukça pratik bir çözüm sunar.
Birlikte MySQL için MCP Veritabanı Sunucusunu kuralım ve ardından Claude Desktop ile bağlantıyı gerçekleştirerek tüm yapıyı çalışır duruma getirelim.
Kurulum Öncesi Hazırlık Gereksinimleri
MCP sunucusunun düzgün çalışabilmesi, Node.js ve MySQL’in doğru sürümlerine bağlıdır. Node.js tarafında 18 ve üzeri, MySQL tarafında ise 5.7 veya 8.0 versiyonu gereklidir. Eski sürümler, bağlanma aşamasında uyumsuzluk oluşturabilir.
Node.js kurulumundan önce farklı ortamlardaki Node.js yapılandırmalarına göz atmak isterseniz, “Node.js Uygulaması Plesk Panelde Nasıl Yönlendirilir?” rehberimizi inceleyebilirsiniz.
Node,js kurulumu için aşağıdaki komutu kullanabiliriz.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs
MCP Veritabanı Sunucusunun Kurulumu
MCP’nin çalışabilmesi için, modelin sorgulayacağı verilerin bulunduğu bir MySQL veritabanının önce oluşturulması gerekir. Güvenliği sağlamak adına MCP için ayrı bir MySQL kullanıcısı tanımlayıp yalnızca ihtiyaç duyduğu tablolara yetki vermek yeterlidir. Hızlı kurulum yapmak istersen npm kullanılabilir, geliştirme amaçlı bir ortam için ise kaynak koddan derleme tercih edilebilir.
Öncelikle MySQL’e giriş yapalım.
mysql -u root -p
Ardından MCP için özel bir veritabanı oluşturalım
CREATE DATABASE mcpdb;
Bağlantıda kullanılacak kullanıcıyı tanımlayalım
CREATE USER 'mcp_user'@'%' IDENTIFIED BY 'GüçlüBirParola!123';
Bu kullanıcıya gerekli izinleri verelim
GRANT ALL PRIVILEGES ON mcpdb.* TO 'mcp_user'@'%';
FLUSH PRIVILEGES;
Veritabanı hazırlık işlemi tamamlandığında MCP artık bağlanmaya hazır hale gelir. Kurumsal yapılarda genellikle bu kullanıcıya sadece SELECT izni verilir, böylece veri bütünlüğü daha iyi korunur.
npm Üzerinden MCP Sunucusu Kurulumu
Terminali açalım ve paketi sistemimize ekleyelim
npm install -g @executeautomation/database-server

Bu işlemin ardından sunucuyu komut satırından çağırabileceğimiz hâle getirelim. Böylece sonraki adımlara daha hızlı geçelim.
Kaynak Koddan Kurulum
Geliştirme veya özelleştirme düşünüyorsak depo klonlayalım.
git clone https://github.com/executeautomation/mcp-database-server.git cd mcp-database-server
Bağımlılıkları yükleyelim
npm install
Şimdi projeyi derleyelim
npm run build
Derleme tamamlandığında sunucuyu dist/src/index.js üzerinden çalıştırmaya hazır hâle getirelim.
MySQL ile MCP Sunucusunu Çalıştıralım
Kurulum hazır olduğuna göre MySQL’e bağlanacağımız komutu çalıştıralım. Yerel bir MySQL sunucusu kullanıyorsak aşağıdaki komutu terminalde çalıştıralım.
node dist/src/index.js --mysql --host 127.0.0.1 --database mysql --port 3306 --user root --password SifreBura
Claude Desktop Üzerinde MCP Sunucusu
MCP’yi yerel araç seviyesinde destekleyen ilk uygulamalardan biri olan Claude Desktop, MySQL veritabanına doğrudan bağlantı kurabilir ve tüm sorguları MCP protokolü üzerinden çalıştırabilir.claude_desktop_config.json dosyasını açalım ve ardından Ayarlar bölümünü seçelim.

Geliştiriciye tıkladıktan sonra dosyanın bulunduğu dizini işletim sistemine göre kontrol edelim.
- Windows:
%APPDATA%\Claude\ - macOS:
~/Library/Application Support/Claude/ - Linux:
~/.config/Claude/
Dosyaya aşağıdaki yapılandırmayı ekleyelim.
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--mysql",
"--host", "localhost",
"--database", "mysql",
"--port", "3306",
"--user", "root",
"--password", "StrongPasswordHere"
]
}
}
}
Claude Desktop’ı yeniden başlatalım. Geliştirici ayarlarına tekrar döndükten sonra bu sayfayı görmeliyiz.

İkinci bir yöntem olarak ise test sorgusu atabiliriz. Eğer yanıt alıyorsak bağlantı sorunsuz çalışıyor demektir
SELECT NOW();
MCP ile MySQL Veritabanına Sorgu Göndermek
MCP üzerinden MySQL bağlantısı sağlandıktan sonra Claude aracılığıyla dilediğimiz SQL sorgularını çalıştırabiliriz. MCP, gönderilen komutları MySQL’e aktarır ve sonuçları düzenli bir biçimde geri iletir. SQLite gibi daha hafif bir veritabanından MySQL’e geçiş yapılacaksa, doğru dönüşüm adımlarını uygulamak büyük önem taşır.
Bu aşamada hazırladığımız “SQLite’ten MySQL’e Taşıma İşlemi Nasıl Yapılır?” rehberine göz atabilirsiniz.
Bağlantı sorunsuz çalışıyorsa artık örnek sorgulara geçebiliriz.
Tablo listeleme
SHOW TABLES;
Veri çekme
SELECT * FROM kullanıcılar LIMIT 5;
MongoDB, PostgreSQL gibi diğer sistemlerde olduğu gibi MCP’nin MySQL üzerinde sağladığı en büyük avantaj, sorguların tamamen ara katman üzerinden geçmesi ve loglanabilir olmasıdır.
Sık Sorulan Sorular
MCP sunucusu MySQL’e bağlanmıyorsa sorunun kaynağı ne olabilir?
Bu durum çoğunlukla .env dosyasındaki yanlış bağlantı bilgileri, MySQL kullanıcısına eksik verilen izinler veya MySQL servisinin 3306 portunda çalışmamasından kaynaklanır.
MySQL root şifresini bilmiyorsam MCP kurulumu yapabilir miyim?
Root şifresini bilmeden MCP çalışır, ancak veritabanı ve kullanıcı oluşturmanız gerektiğinde root erişimi şarttır. Şifre unutulduysa MySQL’i geçici olarak yetki kontrolü olmadan başlatıp parolayı sıfırlayabilirsiniz.
Claude Desktop MCP sunucusunu algılamıyor?
Genellikle MCP’nin doğru portta çalışmaması, nedeniyle olur. Ayarlara http://localhost:9000 adresini eklediğinizden ve sunucunun gerçekten bu portta dinlediğinden emin olun.
MCP sunucusunun sadece belirli IP’lerden erişilebilir olmasını nasıl sağlarım?
Güvenlik için MCP’yi herkese açık bırakmak yerine belirli IP’lere izin verebilirsiniz. UFW ile şu kural yeterlidir
sudo ufw allow from 127.0.0.1 to any port 9000