Development Tools MCP Server
# 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!**
TDQS
Scored across 42 tools
There is significant overlap between tools, making it difficult for an agent to distinguish them. For example, analyze_dependencies, check_outdated_packages, check_vulnerabilities, and find_unused_dependencies all relate to dependency analysis, while tools like extract_text, scrape_html, and scrape_by_selector have overlapping web scraping purposes. This ambiguity increases the risk of misselection.
The naming is mostly consistent with a verb_noun pattern (e.g., analyze_bundle_size, check_typescript, extract_links), which aids readability. However, there are minor deviations such as 'screenshot_page' (noun_verb) and 'wait_for_element' (verb_preposition_noun), slightly disrupting the pattern.
With 42 tools, the count is excessive for a single server, leading to potential confusion and inefficiency. This many tools suggests poor scoping, as the server covers diverse domains like code analysis, web scraping, and data parsing without clear separation, making it feel bloated and difficult to navigate.
The tool set covers broad areas like code analysis, web scraping, and data handling, but there are notable gaps. For instance, in code analysis, tools for refactoring or testing are limited (e.g., no direct test execution tools), and in web scraping, there's no tool for handling authentication or sessions. While core functions are present, the coverage is uneven across domains.