@evrenonur/ai-project-tracker-mcp
v1.0.2
Published
Yapay zeka proje geliştirme sürecini detaylı olarak takip eden MCP servisi
Maintainers
Readme
🤖 AI Proje Takipçisi MCP Servisi
Yapay zeka destekli proje geliştirme süreçlerini detaylı olarak takip eden Model Context Protocol (MCP) servisi
📖 Genel Bakış
AI Proje Takipçisi, yapay zeka ile geliştirilen projelerin her adımını, metriklerini ve performansını detaylı olarak izleyen bir MCP servisidir. Proje sürecindeki tüm aktiviteleri kayıt altına alır, analiz eder ve kapsamlı raporlar sunar.
🎯 Temel Özellikler
- 🚀 Proje Takibi: AI projelerinin başlangıçtan bitişe kadar her adımını izler
- 📊 Metrik Analizi: Dosya işlemleri, kod satırları, süre ve verimlilik metrikleri
- 💡 AI İçgörüleri: Akıllı öneriler, uyarılar ve optimizasyon tavsiyeleri
- 📈 Zaman Çizelgesi: Projedeki tüm olayların kronolojik takibi
- 📋 Çoklu Rapor Formatı: JSON, HTML ve text formatlarında detaylı raporlar
- 🎨 Görsel Çıktılar: Renkli terminal çıktıları ve modern HTML raporları
- 🗄️ Kalıcı Depolama: SQLite veritabanı ile güvenli veri saklama
🛠️ Kurulum
Gereksinimler
- Node.js 18.0.0 veya üzeri
- npm veya yarn paket yöneticisi
Hızlı Kurulum
# Projeyi klonlayın
git clone <repository-url>
cd mcp
# Bağımlılıkları yükleyin
npm install
# TypeScript kodunu derleyin
npm run build
# Servisi başlatın
npm startGeliştirme Modu
# Geliştirme modunda çalıştırın (hot reload)
npm run dev📚 Kullanım
Cursor MCP Ayarları
Cursor editöründe kullanmak için mcp.json dosyanıza aşağıdaki ayarı ekleyin:
{
"mcpServers": {
"ai-project-tracker": {
"command": "npx",
"args": ["-y", "@evrenonur/ai-project-tracker-mcp"],
"env": {}
}
}
}MCP İstemcisi ile Bağlantı
Bu servis Model Context Protocol üzerinden çalışır. Destekleyen MCP istemcileri ile bağlanabilirsiniz:
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: 'ai-project-tracker-client',
version: '1.0.0'
});
// Servise bağlanın
await client.connect(transport);Temel İş Akışı
// 1. Proje başlatın
const startResult = await client.callTool('start_project', {
projectName: 'Örnek AI Projesi',
description: 'Claude ile web uygulaması geliştirme',
aiModel: 'Claude-3.5'
});
const sessionId = startResult.data.sessionId;
// 2. Adım başlatın
const stepResult = await client.callTool('start_step', {
sessionId,
stepType: 'analysis',
title: 'Proje Analizi',
description: 'Projenin gereksinimlerini analiz et'
});
const stepId = stepResult.data.stepId;
// 3. Adımı tamamlayın
await client.callTool('complete_step', {
stepId,
status: 'completed',
output: { analysis: 'Gereksinimler belirlendi' }
});
// 4. Rapor oluşturun
const report = await client.callTool('generate_report', {
sessionId,
format: 'html'
});🔧 Mevcut Araçlar
| Araç | Açıklama | Parametreler |
|------|----------|-------------|
| start_project | Yeni proje oturumu başlatır | projectName, description, aiModel? |
| start_step | Yeni adım başlatır | sessionId, stepType, title, description |
| complete_step | Adımı tamamlar | stepId, status?, output? |
| add_log | Adıma log ekler | stepId, content, severity? |
| update_metrics | Proje metriklerini günceller | sessionId, metrics |
| add_insight | AI içgörüsü ekler | sessionId, insightType, title, description |
| complete_project | Projeyi tamamlar | sessionId, status? |
| generate_report | Detaylı rapor oluşturur | sessionId, format? |
| get_project_status | Proje durumunu alır | sessionId |
| list_steps | Adımları listeler | sessionId, status? |
| get_timeline | Zaman çizelgesini alır | sessionId, eventType? |
| get_insights | İçgörüleri alır | sessionId, insightType? |
| list_sessions | Oturumları listeler | status?, limit? |
📁 Adım Türleri
analysis- Analiz ve incelemefile_read- Dosya okumafile_write- Dosya yazmacode_generation- Kod oluşturmadependency_install- Bağımlılık kurulumucommand_execution- Komut çalıştırmatesting- Test işlemleridebugging- Hata ayıklamaoptimization- Optimizasyondeployment- Dağıtımdocumentation- Dokümantasyonresearch- Araştırmaplanning- Planlamareview- İncelemecustom- Özel işlem
📊 Metrikler ve Raporlama
Takip Edilen Metrikler
- Dosya İşlemleri: Oluşturulan, değiştirilen, silinen dosya sayıları
- Kod İstatistikleri: Toplam kod satırı sayısı
- Süre Analizi: Adım ve toplam proje süreleri
- Hata İstatistikleri: Karşılaşılan hata sayıları
- Verimlilik Skoru: 0-100 arası performans değerlendirmesi
- Karmaşıklık Seviyesi: Düşük, orta, yüksek
Rapor Formatları
JSON Raporu
{
"session": { /* proje bilgileri */ },
"steps": [ /* tüm adımlar */ ],
"metrics": { /* performans metrikleri */ },
"insights": [ /* AI içgörüleri */ ],
"timeline": [ /* olay geçmişi */ ],
"summary": { /* özet bilgiler */ }
}HTML Raporu
Modern, responsive web sayfası formatında:
- 📈 Görsel metrik kartları
- 🎯 Adım durumu göstergeleri
- 💡 İçgörü panelleri
- 📅 İnteraktif zaman çizelgesi
Metin Raporu
Terminalde renkli ve düzenli formatlama
🗄️ Veritabanı Yapısı
Proje SQLite veritabanı kullanır ve şu tabloları içerir:
sessions- Proje oturumlarısteps- Proje adımlarıstep_details- Adım detayları ve loglarımetrics- Proje metrikleriinsights- AI içgörüleritimeline- Olay geçmişi
🎨 Özelleştirme
Veritabanı Konumu
const tracker = new AIProjectTracker('/özel/yol/database.db');Özel Metrik Alanları
await tracker.updateMetrics(sessionId, {
totalFiles: 15,
filesCreated: 8,
customMetric: 'özel_değer'
});🔍 Örnekler
Tam Proje Döngüsü
// Proje başlat
const sessionId = await client.callTool('start_project', {
projectName: 'E-ticaret API',
description: 'Node.js ile RESTful API geliştirme',
aiModel: 'Claude-3.5'
});
// Analiz adımı
const analysisStepId = await client.callTool('start_step', {
sessionId: sessionId.data.sessionId,
stepType: 'analysis',
title: 'Gereksinim Analizi',
description: 'API gereksinimlerini belirle'
});
// Kod oluşturma adımı
const codeStepId = await client.callTool('start_step', {
sessionId: sessionId.data.sessionId,
stepType: 'code_generation',
title: 'API Endpoint\'leri',
description: 'CRUD işlemleri için endpoint\'ler oluştur'
});
// Metrik güncelleme
await client.callTool('update_metrics', {
sessionId: sessionId.data.sessionId,
metrics: {
totalFiles: 5,
filesCreated: 5,
linesOfCode: 250,
complexity: 'medium',
efficiency: 85
}
});
// İçgörü ekleme
await client.callTool('add_insight', {
sessionId: sessionId.data.sessionId,
insightType: 'recommendation',
title: 'Güvenlik Önerisi',
description: 'API endpoint\'lerine rate limiting eklenebilir',
confidence: 90
});
// HTML rapor oluştur
const report = await client.callTool('generate_report', {
sessionId: sessionId.data.sessionId,
format: 'html'
});🧪 Test
# Testleri çalıştır
npm test
# Test kapsamı raporu
npm run test:coverage📦 Paketleme
# Production build
npm run build
# NPM paketi oluştur
npm pack🤝 Katkıda Bulunma
- Fork yapın
- Feature branch oluşturun (
git checkout -b feature/yeni-ozellik) - Değişikliklerinizi commit edin (
git commit -am 'Yeni özellik ekle') - Branch'i push edin (
git push origin feature/yeni-ozellik) - Pull Request oluşturun
📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
🆘 Destek
- 📧 E-posta: [email protected]
🗺️ Yol Haritası
- [ ] v1.1.0: Web arayüzü eklenmesi
- [ ] v1.2.0: Gerçek zamanlı dashboard
- [ ] v1.3.0: Slack/Discord entegrasyonu
- [ ] v2.0.0: Çoklu AI model desteği
AI Proje Takipçisi ile projelerinizi daha verimli geliştirin! 🚀
