{"id":33327867,"url":"https://github.com/code-alchemist01/database-manager-mcp-server","last_synced_at":"2025-11-21T14:01:18.050Z","repository":{"id":324275171,"uuid":"1096659147","full_name":"code-alchemist01/database-manager-mcp-Server","owner":"code-alchemist01","description":"MCP Database Manager, AI asistanlarının (Cursor, Claude, vb.) veritabanlarıyla etkileşime girmesi, sorguları analiz etmesi ve veritabanı yönetim görevlerini gerçekleştirmesi için kapsamlı bir MCP server'dır.","archived":false,"fork":false,"pushed_at":"2025-11-14T19:06:42.000Z","size":204,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-14T21:07:54.603Z","etag":null,"topics":["database-management","mcp","mcp-server","model-context-protocol"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code-alchemist01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-14T18:50:45.000Z","updated_at":"2025-11-14T19:06:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/code-alchemist01/database-manager-mcp-Server","commit_stats":null,"previous_names":["code-alchemist01/database-manager-mcp-server"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/code-alchemist01/database-manager-mcp-Server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2Fdatabase-manager-mcp-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2Fdatabase-manager-mcp-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2Fdatabase-manager-mcp-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2Fdatabase-manager-mcp-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code-alchemist01","download_url":"https://codeload.github.com/code-alchemist01/database-manager-mcp-Server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2Fdatabase-manager-mcp-Server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285628306,"owners_count":27204436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database-management","mcp","mcp-server","model-context-protocol"],"created_at":"2025-11-20T13:03:34.542Z","updated_at":"2025-11-21T14:01:18.043Z","avatar_url":"https://github.com/code-alchemist01.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCP Database Manager\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)\n[![MCP](https://img.shields.io/badge/MCP-1.0-orange.svg)](https://modelcontextprotocol.io/)\n[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/5445a3f9-87c7-4c55-b67f-fa071504bf86)\n\nComprehensive MCP (Model Context Protocol) server for database management and analysis. Supports multiple database types including PostgreSQL, MySQL, SQLite, SQL Server, MongoDB, and Redis.\n\n## 🎯 Ne İşe Yarar?\n\nMCP Database Manager, AI asistanlarının (Cursor, Claude, vb.) veritabanlarıyla etkileşime girmesi, sorguları analiz etmesi ve veritabanı yönetim görevlerini gerçekleştirmesi için kapsamlı bir MCP server'dır.\n\n### Temel Özellikler\n\n- **🔌 Çoklu Veritabanı Desteği**: PostgreSQL, MySQL, SQLite, SQL Server, MongoDB, Redis\n- **🔍 SQL Sorgu Analizi**: Performance analizi, execution plan, index önerileri\n- **📊 Şema Yönetimi**: ER diyagramları, migration generation, dokümantasyon\n- **📈 Veri Analizi**: İstatistikler, kalite kontrolü, duplicate detection\n- **💾 Backup \u0026 Restore**: Otomatik backup ve restore işlemleri\n- **🔒 Güvenlik**: İzin analizi, güvenlik açığı tespiti, sensitive data detection\n\n## 🚀 Kurulum\n\n### Gereksinimler\n\n- Node.js 18 veya üzeri\n- npm veya yarn\n- TypeScript (dev dependency)\n\n### Adımlar\n\n1. **Repository'yi klonlayın:**\n```bash\ngit clone https://github.com/code-alchemist01/database-manager-mcp-Server.git\ncd database-manager-mcp-Server\n```\n\n2. **Bağımlılıkları yükleyin:**\n```bash\nnpm install\n```\n\n3. **Projeyi derleyin:**\n```bash\nnpm run build\n```\n\n4. **Test edin:**\n```bash\nnpm start\n```\n\n## 📦 MCP Client'lara Kurulum\n\nBu MCP server, MCP (Model Context Protocol) standardını destekleyen herhangi bir client ile kullanılabilir. Aşağıda popüler client'lar için kurulum rehberleri bulunmaktadır.\n\n### Cursor IDE\n\n#### 1. MCP Config Dosyasını Oluştur/Düzenle\n\n**Windows:**\n```\n%APPDATA%\\Cursor\\User\\globalStorage\\mcp.json\n```\n\n**macOS/Linux:**\n```\n~/.config/Cursor/User/globalStorage/mcp.json\n```\n\n#### 2. Config İçeriği\n\n```json\n{\n  \"mcpServers\": {\n    \"database-manager\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"C:\\\\Users\\\\YourUsername\\\\path\\\\to\\\\database-manager-mcp-Server\\\\dist\\\\index.js\"\n      ]\n    }\n  }\n}\n```\n\n**Not:** `args` içindeki path'i kendi proje yolunuza göre güncelleyin.\n\n#### 3. Cursor'u Yeniden Başlatın\n\nConfig dosyasını kaydettikten sonra Cursor'u tamamen kapatıp yeniden açın.\n\n#### 4. Doğrulama\n\nCursor'da **Settings \u003e Tools \u0026 MCP** bölümünde \"database-manager\" listede görünmeli.\n\n### Claude Desktop\n\n#### 1. MCP Config Dosyasını Oluştur/Düzenle\n\n**Windows:**\n```\n%APPDATA%\\Claude\\claude_desktop_config.json\n```\n\n**macOS:**\n```\n~/Library/Application Support/Claude/claude_desktop_config.json\n```\n\n**Linux:**\n```\n~/.config/Claude/claude_desktop_config.json\n```\n\n#### 2. Config İçeriği\n\n```json\n{\n  \"mcpServers\": {\n    \"database-manager\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"/path/to/database-manager-mcp-Server/dist/index.js\"\n      ]\n    }\n  }\n}\n```\n\n#### 3. Claude Desktop'u Yeniden Başlatın\n\n### Diğer MCP Client'lar\n\nHerhangi bir MCP client kullanıyorsanız, client'ın MCP server yapılandırma formatına göre aşağıdaki bilgileri kullanın:\n\n- **Command:** `node`\n- **Args:** `[path/to/dist/index.js]`\n- **Transport:** `stdio` (standard input/output)\n\n#### Örnek Config Formatları\n\n**Genel MCP Config:**\n```json\n{\n  \"mcpServers\": {\n    \"database-manager\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/dist/index.js\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n**Environment Variables ile:**\n```json\n{\n  \"mcpServers\": {\n    \"database-manager\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/dist/index.js\"],\n      \"env\": {\n        \"NODE_ENV\": \"production\"\n      }\n    }\n  }\n}\n```\n\n### Programatik Kullanım\n\nMCP server'ı doğrudan Node.js uygulamanızda da kullanabilirsiniz:\n\n```javascript\nimport { DatabaseMCPServer } from './dist/server.js';\n\nconst server = new DatabaseMCPServer();\nawait server.run();\n```\n\n### Docker ile Kullanım\n\n```dockerfile\nFROM node:18-alpine\nWORKDIR /app\nCOPY package*.json ./\nRUN npm install\nCOPY . .\nRUN npm run build\nCMD [\"node\", \"dist/index.js\"]\n```\n\n### Standalone Server Olarak\n\nMCP server'ı standalone bir process olarak çalıştırabilirsiniz:\n\n```bash\n# Development\nnpm run dev\n\n# Production\nnpm run build\nnpm start\n```\n\n## 🛠️ Kullanım\n\n### MCP Client'larda Kullanım\n\nMCP server kurulduktan sonra, client'ınızın chat arayüzünde doğal dil komutları kullanarak veritabanı işlemlerini gerçekleştirebilirsiniz.\n\n### Örnek Komutlar\n\n**Veritabanı Bağlantısı:**\n```\nSQLite veritabanına bağlan: sqlite://test.db\n```\n\n```\nPostgreSQL veritabanına bağlan: postgresql://user:password@localhost:5432/dbname\n```\n\n```\nMySQL veritabanına bağlan: mysql://user:password@localhost:3306/dbname\n```\n\n**Bağlantı Yönetimi:**\n```\nBağlı veritabanların listesini göster\n```\n\n```\ntest_connection_id bağlantısını kapat\n```\n\n**Şema İşlemleri:**\n```\nŞemayı göster\n```\n\n```\nusers tablosunun şemasını detaylı göster\n```\n\n```\nVeritabanı şemasını ER diagram olarak görselleştir\n```\n\n**Veri Analizi:**\n```\nusers tablosunun istatistiklerini getir\n```\n\n```\nusers tablosundan 10 satır örnekle\n```\n\n```\nusers tablosunda duplicate kayıtları bul\n```\n\n```\nusers tablosunun veri kalitesi analizini yap\n```\n\n**Query Analizi:**\n```\nSELECT * FROM users WHERE age \u003e 25 sorgusunu analiz et\n```\n\n```\nSELECT * FROM orders JOIN users ON orders.user_id = users.id sorgusunun execution plan'ını göster\n```\n\n```\nSELECT * FROM products WHERE name LIKE '%laptop%' sorgusunu optimize et\n```\n\n**Güvenlik:**\n```\nVeritabanındaki güvenlik açıklarını tespit et\n```\n\n```\nusers tablosunda hassas veri (PII) olup olmadığını kontrol et\n```\n\n### API Kullanımı (Programatik)\n\nMCP server'ı programatik olarak da kullanabilirsiniz:\n\n```typescript\nimport { connectionManager } from './dist/utils/connection-manager.js';\nimport { QueryAnalyzer } from './dist/analyzers/query-analyzer.js';\n\n// Veritabanına bağlan\nconst connectionId = await connectionManager.createConnection({\n  type: 'postgresql',\n  host: 'localhost',\n  port: 5432,\n  database: 'mydb',\n  username: 'user',\n  password: 'pass'\n});\n\n// Adapter al\nconst adapter = connectionManager.getConnection(connectionId);\n\n// Query analiz et\nconst analyzer = new QueryAnalyzer(adapter);\nconst result = await analyzer.analyzeQuery('SELECT * FROM users');\n```\n\n### CLI Kullanımı\n\nMCP server'ı doğrudan çalıştırarak stdio üzerinden MCP protokolü ile iletişim kurabilirsiniz:\n\n```bash\nnode dist/index.js\n```\n\nBu komut server'ı stdio transport üzerinden başlatır ve MCP client'ları ile iletişime hazır hale getirir.\n\n## 📋 MCP Tools (27 Araç)\n\n### Connection Management (4)\n- `connect_database` - Veritabanına bağlan\n- `list_connections` - Aktif bağlantıları listele\n- `disconnect_database` - Bağlantıyı kapat\n- `test_connection` - Bağlantıyı test et\n\n### Query Analysis (5)\n- `analyze_query` - SQL sorgusunu analiz et\n- `explain_query` - Execution plan göster\n- `optimize_query` - Sorgu optimizasyon önerileri\n- `detect_slow_queries` - Yavaş sorguları tespit et\n- `suggest_indexes` - Index önerileri\n\n### Schema Management (5)\n- `get_schema` - Şema bilgilerini getir\n- `visualize_schema` - ER diyagramı oluştur (Mermaid)\n- `analyze_foreign_keys` - Foreign key analizi\n- `generate_migration` - Migration script oluştur\n- `document_schema` - Şema dokümantasyonu\n\n### Data Analysis (5)\n- `get_table_stats` - Tablo istatistikleri\n- `analyze_data_quality` - Veri kalitesi analizi\n- `find_duplicates` - Duplicate kayıtları bul\n- `sample_data` - Veri örnekleme\n- `generate_report` - Custom rapor oluştur\n\n### Backup \u0026 Restore (4)\n- `create_backup` - Backup oluştur\n- `list_backups` - Backup'ları listele\n- `restore_backup` - Backup'tan geri yükle\n- `verify_backup` - Backup doğrula\n\n### Security (4)\n- `analyze_permissions` - İzin analizi\n- `detect_vulnerabilities` - Güvenlik açığı tespiti\n- `find_sensitive_data` - Hassas veri tespiti\n- `audit_logs` - Audit log analizi\n\n## 🗄️ Desteklenen Veritabanları\n\n| Veritabanı | Durum | Özellikler |\n|-----------|-------|------------|\n| PostgreSQL | ✅ | Connection, Query, Schema, Transactions |\n| MySQL | ✅ | Connection, Query, Schema, Transactions |\n| SQLite | ✅ | Connection, Query, Schema, Transactions |\n| SQL Server | ✅ | Connection, Query, Schema, Transactions |\n| MongoDB | ✅ | Connection, Query, Schema, Collections |\n| Redis | ✅ | Connection, Commands, Keys |\n\n## 📁 Proje Yapısı\n\n```\ndatabase-manager-mcp-Server/\n├── src/\n│   ├── index.ts                 # MCP server ana giriş noktası\n│   ├── server.ts                # MCP server implementasyonu\n│   ├── tools/                   # MCP tools\n│   │   ├── connection.ts        # Veritabanı bağlantı yönetimi\n│   │   ├── query-analysis.ts   # Sorgu analizi\n│   │   ├── schema-management.ts # Şema yönetimi\n│   │   ├── data-analysis.ts    # Veri analizi\n│   │   ├── backup-restore.ts   # Backup/restore\n│   │   └── security.ts         # Güvenlik\n│   ├── database/                # Veritabanı adaptörleri\n│   │   ├── base-adapter.ts     # Temel adapter interface\n│   │   ├── postgresql.ts       # PostgreSQL adapter\n│   │   ├── mysql.ts            # MySQL adapter\n│   │   ├── sqlite.ts           # SQLite adapter\n│   │   ├── mssql.ts            # SQL Server adapter\n│   │   ├── mongodb.ts          # MongoDB adapter\n│   │   └── redis.ts            # Redis adapter\n│   ├── analyzers/               # Analiz motorları\n│   │   ├── query-analyzer.ts   # Sorgu analizi\n│   │   ├── schema-analyzer.ts  # Şema analizi\n│   │   ├── data-analyzer.ts    # Veri analizi\n│   │   └── security-analyzer.ts # Güvenlik analizi\n│   ├── utils/                   # Yardımcı fonksiyonlar\n│   │   ├── connection-manager.ts\n│   │   ├── query-builder.ts\n│   │   └── formatters.ts\n│   └── types/                   # TypeScript tip tanımları\n│       └── index.ts\n├── dist/                        # Derlenmiş JavaScript dosyaları\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n## 🔧 Geliştirme\n\n### Development Modu\n\n```bash\nnpm run dev\n```\n\n### Build\n\n```bash\nnpm run build\n```\n\n### Test\n\n```bash\nnpm test\n```\n\n## 📝 Örnek Kullanım Senaryoları\n\n### Senaryo 1: SQLite Veritabanı Analizi\n\n**MCP Client Chat'te:**\n```\nSQLite veritabanına bağlan: sqlite://mydb.db\nŞemayı göster\nusers tablosunun istatistiklerini getir\nusers tablosunda duplicate kayıtları bul\n```\n\n**Beklenen Sonuç:**\n- Veritabanı bağlantısı kurulur\n- Tüm tablolar ve ilişkiler gösterilir\n- İstatistiksel analiz yapılır\n- Duplicate kayıtlar tespit edilir\n\n### Senaryo 2: PostgreSQL Query Optimizasyonu\n\n**MCP Client Chat'te:**\n```\nPostgreSQL veritabanına bağlan: postgresql://user:pass@localhost:5432/dbname\nSELECT * FROM orders WHERE customer_id = 123 sorgusunu analiz et\nBu sorgu için index önerileri yap\n```\n\n**Beklenen Sonuç:**\n- Query performance analizi\n- Execution plan görselleştirmesi\n- Index önerileri\n- Optimizasyon tavsiyeleri\n\n### Senaryo 3: Schema Migration\n\n**MCP Client Chat'te:**\n```\nİki şema arasındaki farkları bul ve migration script oluştur\nSchema'yı ER diagram olarak görselleştir\n```\n\n**Beklenen Sonuç:**\n- Schema karşılaştırması\n- Migration script oluşturma\n- Mermaid formatında ER diagram\n\n### Senaryo 4: Veri Kalitesi Kontrolü\n\n**MCP Client Chat'te:**\n```\nproducts tablosunun veri kalitesi analizini yap\nproducts tablosunda hassas veri olup olmadığını kontrol et\n```\n\n**Beklenen Sonuç:**\n- Veri kalitesi skoru\n- Eksik/duplicate/inconsistent veri tespiti\n- PII ve sensitive data tespiti\n- Öneriler ve raporlar\n\n### Senaryo 5: Backup ve Restore\n\n**MCP Client Chat'te:**\n```\nVeritabanının backup'ını oluştur\nBackup'ları listele\nBackup'ın doğruluğunu kontrol et\n```\n\n**Beklenen Sonuç:**\n- Backup oluşturma\n- Backup listesi\n- Backup doğrulama\n\n## 🔐 Güvenlik\n\n- Connection string'ler güvenli saklanır\n- SQL injection koruması (parameterized queries)\n- Query timeout yönetimi\n- Read-only mode desteği\n- Input validation ve sanitization\n\n## 📊 Çıktı Formatları\n\n- **JSON** - Structured data responses\n- **Markdown** - Raporlar ve dokümantasyon\n- **CSV** - Veri export\n- **SQL** - Migration scripts\n- **Mermaid** - ER diyagramları\n\n## 🤝 Katkıda Bulunma\n\n1. Fork edin\n2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)\n3. Commit edin (`git commit -m 'Add amazing feature'`)\n4. Push edin (`git push origin feature/amazing-feature`)\n5. Pull Request açın\n\n## 📄 Lisans\n\nMIT License - Detaylar için [LICENSE](LICENSE) dosyasına bakın.\n\n## 🔗 MCP Client Desteği\n\nBu MCP server aşağıdaki client'lar ile uyumludur:\n\n- ✅ **Cursor IDE** - Tam destek\n- ✅ **Claude Desktop** - Tam destek\n- ✅ **Anthropic API** - MCP protokolü üzerinden\n- ✅ **Diğer MCP Client'lar** - Standart MCP protokolü destekleyen tüm client'lar\n\n## 🙏 Teşekkürler\n\n- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP standardı için\n- [Cursor](https://cursor.sh/) - MCP desteği için\n- [Claude](https://claude.ai/) - MCP desteği için\n\n## 📞 İletişim\n\nSorularınız veya önerileriniz için issue açabilirsiniz.\n\n---\n\n**⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-alchemist01%2Fdatabase-manager-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-alchemist01%2Fdatabase-manager-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-alchemist01%2Fdatabase-manager-mcp-server/lists"}