README.md•12 kB
# MCP Development Tools Server
[](https://www.typescriptlang.org/)
[](https://nodejs.org/)
[](https://modelcontextprotocol.io/)
Comprehensive MCP (Model Context Protocol) server for code analysis and web scraping. Supports code quality analysis, linting, dependency analysis, static/dynamic web scraping, and API discovery.
## 🎯 Ne İşe Yarar?
MCP Development Tools, AI asistanlarının (Cursor, Claude Desktop, vb.) kod kalitesini analiz etmesi, web içeriklerini çekmesi ve development görevlerini gerçekleştirmesi için kapsamlı bir MCP server'dır.
### Temel Özellikler
- **📊 Kod Kalitesi Analizi**: Complexity, maintainability, code smells detection
- **🔍 Linting & Formatting**: ESLint, Prettier, TypeScript checking
- **📦 Bağımlılık Analizi**: Unused deps, vulnerabilities, outdated packages
- **🔒 Güvenlik Analizi**: Secret detection, vulnerability scanning
- **🌐 Web Scraping**: Static ve dynamic content scraping
- **🔎 API Keşfi**: Endpoint discovery, network analysis
## 🚀 Kurulum
### Gereksinimler
- Node.js 18 veya üzeri
- npm veya yarn
- TypeScript (dev dependency)
### Adımlar
1. **Repository'yi klonlayın:**
```bash
git clone https://github.com/code-alchemist01/development-tools-mcp-Server.git
cd development-tools-mcp-Server
```
2. **Bağımlılıkları yükleyin:**
```bash
npm install
```
3. **Playwright browser'larını yükleyin (dynamic scraping için):**
```bash
npx playwright install chromium
```
4. **Projeyi derleyin:**
```bash
npm run build
```
5. **Test edin:**
```bash
npm start
```
## 📦 MCP Client'lara Kurulum
### Cursor IDE
#### 1. MCP Config Dosyasını Oluştur/Düzenle
**Windows:**
```
%APPDATA%\Cursor\User\globalStorage\mcp.json
```
**macOS/Linux:**
```
~/.config/Cursor/User/globalStorage/mcp.json
```
#### 2. Config İçeriği
```json
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": [
"C:\\Users\\YourUsername\\path\\to\\development-tools-mcp-Server\\dist\\index.js"
]
}
}
}
```
**Not:** `args` içindeki path'i kendi proje yolunuza göre güncelleyin.
#### 3. Cursor'u Yeniden Başlatın
Config dosyasını kaydettikten sonra Cursor'u tamamen kapatıp yeniden açın.
#### 4. Doğrulama
Cursor'da **Settings > Tools & MCP** bölümünde "development-tools" listede görünmeli ve "42 tools enabled" yazmalı.
### Claude Desktop
#### 1. MCP Config Dosyasını Oluştur/Düzenle
**Windows:**
```
%APPDATA%\Claude\claude_desktop_config.json
```
**macOS:**
```
~/Library/Application Support/Claude/claude_desktop_config.json
```
**Linux:**
```
~/.config/Claude/claude_desktop_config.json
```
#### 2. Config İçeriği
```json
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": [
"/absolute/path/to/development-tools-mcp-Server/dist/index.js"
]
}
}
}
```
#### 3. Claude Desktop'u Yeniden Başlatın
### Diğer MCP Client'lar
Herhangi bir MCP client kullanıyorsanız, client'ın MCP server yapılandırma formatına göre aşağıdaki bilgileri kullanın:
- **Command:** `node`
- **Args:** `[path/to/dist/index.js]`
- **Transport:** `stdio` (standard input/output)
#### Örnek Config Formatları
**Genel MCP Config:**
```json
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {}
}
}
}
```
**Environment Variables ile:**
```json
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
```
## 🛠️ Kullanım
### MCP Client'larda Kullanım
MCP server kurulduktan sonra, client'ınızın chat arayüzünde doğal dil komutları kullanarak işlemleri gerçekleştirebilirsiniz.
### Code Analysis Örnekleri
**Kod Kalitesi Analizi:**
```
Bu projedeki kod kalitesini analiz et
```
```
src/**/*.ts dosyalarının kod kalitesini analiz et
```
**Complexity Hesaplama:**
```
src/utils klasöründeki dosyaların complexity'sini hesapla
```
**Code Smell Tespiti:**
```
Kodda code smell'leri bul
```
**Duplicate Kod Bulma:**
```
Projede duplicate kod bloklarını bul
```
### Linting Örnekleri
**Kod Lint:**
```
src/**/*.ts dosyalarını lint et
```
**Kod Formatla:**
```
src/**/*.ts dosyalarını Prettier ile formatla
```
**TypeScript Kontrolü:**
```
TypeScript dosyalarında type hatalarını kontrol et
```
### Dependency Analysis Örnekleri
**Bağımlılık Analizi:**
```
Proje bağımlılıklarını analiz et
```
**Kullanılmayan Paketleri Bul:**
```
Kullanılmayan npm paketlerini bul
```
**Güvenlik Açıklarını Kontrol Et:**
```
Dependency'lerdeki güvenlik açıklarını kontrol et
```
### Web Scraping Örnekleri
**HTML Scraping:**
```
https://example.com sayfasını scrape et
```
**Link Çıkarma:**
```
https://example.com sayfasındaki tüm linkleri çıkar
```
**Dynamic Content:**
```
https://example.com sayfasını browser ile scrape et (JavaScript render)
```
**API Endpoint Keşfi:**
```
https://example.com sayfasındaki API endpoint'lerini keşfet
```
### Security Analysis Örnekleri
**Secret Detection:**
```
Kodda hardcoded secret'ları bul
```
**Güvenlik Taraması:**
```
Güvenlik açıklarını tara
```
## 📋 MCP Tools (42 Araç)
### Code Quality Tools (8)
- `analyze_code_quality` - Genel kod kalitesi analizi
- `calculate_complexity` - Cyclomatic complexity hesaplama
- `detect_code_smells` - Code smell tespiti
- `analyze_maintainability` - Maintainability index hesaplama
- `find_duplicate_code` - Duplicate kod tespiti
- `analyze_test_coverage` - Test coverage analizi
- `generate_code_metrics` - Detaylı kod metrikleri
- `suggest_refactoring` - Refactoring önerileri
### Linting Tools (5)
- `lint_code` - ESLint ile kod kontrolü
- `format_code` - Prettier ile kod formatlama
- `check_typescript` - TypeScript type checking
- `validate_syntax` - Syntax doğrulama
- `fix_lint_issues` - Otomatik lint düzeltmeleri
### Dependency Analysis Tools (6)
- `analyze_dependencies` - Bağımlılık ağacı analizi
- `find_unused_dependencies` - Kullanılmayan paketleri bul
- `check_vulnerabilities` - Güvenlik açığı kontrolü
- `check_outdated_packages` - Eski paketleri tespit et
- `analyze_bundle_size` - Bundle boyutu analizi
- `suggest_dependency_updates` - Güncelleme önerileri
### Security Analysis Tools (4)
- `scan_security_issues` - Güvenlik taraması
- `detect_secrets` - Hardcoded secret'ları bul
- `analyze_permissions` - Dosya izin analizi
- `check_compliance` - Compliance kontrolü
### Static Scraping Tools (6)
- `scrape_html` - HTML içeriği çekme
- `extract_text` - Metin çıkarma
- `extract_links` - Link çıkarma
- `extract_images` - Görsel URL'leri çıkarma
- `extract_tables` - Tablo verilerini çıkarma
- `scrape_by_selector` - CSS selector ile scraping
### Dynamic Scraping Tools (5)
- `scrape_dynamic_content` - JavaScript render edilmiş içerik
- `scrape_with_interaction` - Kullanıcı etkileşimi ile scraping
- `screenshot_page` - Sayfa ekran görüntüsü
- `wait_for_element` - Element bekleme
- `extract_after_click` - Tıklama sonrası içerik çekme
### API Discovery Tools (4)
- `discover_api_endpoints` - API endpoint keşfi
- `analyze_network_requests` - Network trafiği analizi
- `extract_api_schema` - API şema çıkarma
- `test_api_endpoint` - API endpoint testi
### Data Processing Tools (4)
- `parse_json` - JSON parsing
- `parse_xml` - XML parsing
- `parse_csv` - CSV parsing
- `format_scraped_data` - Veri formatlama
## 📁 Proje Yapısı
```
development-tools-mcp-Server/
├── src/
│ ├── index.ts # MCP server ana giriş noktası
│ ├── server.ts # MCP server implementasyonu
│ ├── tools/ # MCP tools
│ │ ├── code-analysis.ts # Security analysis tools
│ │ ├── code-quality.ts # Code quality tools
│ │ ├── dependency-analysis.ts # Dependency analysis tools
│ │ ├── linting.ts # Linting tools
│ │ ├── web-scraping.ts # Web scraping tools
│ │ └── api-discovery.ts # API discovery tools
│ ├── analyzers/ # Analiz motorları
│ │ ├── code-analyzer.ts # Kod analizi
│ │ ├── complexity-analyzer.ts # Complexity analizi
│ │ ├── dependency-analyzer.ts # Bağımlılık analizi
│ │ └── security-analyzer.ts # Güvenlik analizi
│ ├── scrapers/ # Scraping motorları
│ │ ├── static-scraper.ts # Static HTML scraping
│ │ ├── dynamic-scraper.ts # Dynamic content scraping
│ │ └── api-scraper.ts # API endpoint keşfi
│ ├── utils/ # Yardımcı fonksiyonlar
│ │ ├── file-reader.ts
│ │ ├── formatters.ts
│ │ ├── validators.ts
│ │ └── linting-utils.ts
│ └── types/ # TypeScript tip tanımları
│ └── index.ts
├── dist/ # Derlenmiş JavaScript dosyaları
├── package.json
├── tsconfig.json
└── README.md
```
## 🔧 Geliştirme
### Development Modu
```bash
npm run dev
```
### Build
```bash
npm run build
```
### Test
```bash
npm test
```
## 📝 Örnek Kullanım Senaryoları
### Senaryo 1: Kod Kalitesi Analizi
**MCP Client Chat'te:**
```
src/**/*.ts dosyalarının kod kalitesini analiz et
En karmaşık fonksiyonları göster
Code smell'leri tespit et
```
**Beklenen Sonuç:**
- Kod kalitesi metrikleri
- Complexity analizi
- Code smell listesi
- Refactoring önerileri
### Senaryo 2: Web Scraping
**MCP Client Chat'te:**
```
https://example.com sayfasını scrape et
Sayfadaki tüm linkleri çıkar
Tablo verilerini extract et
```
**Beklenen Sonuç:**
- HTML içeriği
- Link listesi
- Tablo verileri
### Senaryo 3: API Keşfi
**MCP Client Chat'te:**
```
https://example.com sayfasındaki API endpoint'lerini keşfet
Network request'leri analiz et
```
**Beklenen Sonuç:**
- API endpoint listesi
- Request/response analizi
- Authentication bilgileri
### Senaryo 4: Dependency Temizliği
**MCP Client Chat'te:**
```
Kullanılmayan paketleri bul
Güvenlik açıklarını kontrol et
Güncelleme önerileri yap
```
**Beklenen Sonuç:**
- Unused dependencies listesi
- Vulnerability raporu
- Update suggestions
## 🔐 Güvenlik
- Input validation ve sanitization
- URL validation
- Timeout yönetimi
- Error handling
- Secret detection
- SQL injection koruması
## 📊 Çıktı Formatları
- **JSON** - Structured data responses
- **Markdown** - Raporlar ve dokümantasyon
- **CSV** - Veri export
- **Text** - Plain text output
## 🤝 Katkıda Bulunma
1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
3. Commit edin (`git commit -m 'Add amazing feature'`)
4. Push edin (`git push origin feature/amazing-feature`)
5. Pull Request açın
## 📄 Lisans
MIT License - Detaylar için [LICENSE](LICENSE) dosyasına bakın.
## 🔗 MCP Client Desteği
Bu MCP server aşağıdaki client'lar ile uyumludur:
- ✅ **Cursor IDE** - Tam destek
- ✅ **Claude Desktop** - Tam destek
- ✅ **Anthropic API** - MCP protokolü üzerinden
- ✅ **Diğer MCP Client'lar** - Standart MCP protokolü destekleyen tüm client'lar
## 🙏 Teşekkürler
- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP standardı için
- [Cursor](https://cursor.sh/) - MCP desteği için
- [Claude](https://claude.ai/) - MCP desteği için
## 📞 İletişim
Sorularınız veya önerileriniz için issue açabilirsiniz.
---
**⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!**