mcp-rag-server

guvensoft/mcp-rag-server

3.1

If you are the rightful owner of mcp-rag-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MCP (Model Context Protocol) server is designed to enhance local project explanations for ChatGPT-based development agents by providing a robust context.

Tools
5
Resources
0
Prompts
0

MCP Kod Bağlamı Sunucusu - Kullanım Kılavuzu

Bu depo, ChatGPT tabanlı geliştirme ajanlarına yerel projeleri güçlü bir bağlamla açıklayabilen MCP (Model Context Protocol) sunucusunu içerir. Aşağıda adım adım kurulum, çalıştırma ve tüm araçların nasıl kullanılacağı anlatılmaktadır.


1. Ortam Gereksinimleri

  • Node.js ≥ 18
  • npm ≥ 9
  • Python ≥ 3.9 (TF‑IDF fallback motoru için ek paket gerekmez)
  • (Opsiyonel) Gelişmiş semantik arama için sentence-transformers, chromadb, fastapi, uvicorn
  • Streamlit telemetri paneli için streamlit

Python paketlerini kurmak için:

pip install streamlit sentence-transformers chromadb fastapi uvicorn

2. Kurulum ctx7sk-96ef815b-02db-4760-9d73-f6194510b3a2

  1. Bağımlılıkları yükleyin:
    npm install
    
  2. TypeScript paketlerini derleyin (monorepo):
    npm run build
    

3. Temel Çalıştırma Senaryoları

3.1 MCP (stdio) Sunucusu

npm run mcp
  • Kod indekslenir (data/ klasörü oluşturulur).
  • Python semantik motoru veya Node.js fallback motoru başlatılır.
  • MCP araçları (search_code, get_file, vb.) stdio üzerinden kullanılabilir.

3.2 HTTP Sunucusu

npm run mcp:http
  • /search_code ve /get_file uçlarını HTTP REST olarak sunar.

3.3 Yalnızca İndeks Oluşturmak

npm run mcp:index
  • index.json, semantic_entries.json, edges.json, graph.db dosyaları yeniden üretilir.

3.4 MCP Watcher

npm run mcp:watch
  • Chokidar dosya izlemesi ve isteğe bağlı BullMQ kuyrukları ile indeks güncel tutulur.

4. MCP Araçları ve Kullanım Senaryoları

Sunucu çalışırken araçlara MCP istemcisinden veya packages/mcp-server/src/mcp.ts stdio arayüzünden erişilebilir. Öne çıkan araçlar:

AraçAçıklama
search_codeHibrit sıralama (semantic + lexical + graph) ile kod arama
get_fileİndeksten dosya içeriği alma
plan_refactorDosya/simge hedefli refaktör planı üretir
gen_patch / apply_patchFind-replace tabanlı patch taslağı ve uygulaması
analyze_performanceStatik performans kokusu analizi
compare_versionsİki dosyanın satır bazında kıyaslanması
auto_docsDosya için özet + sembol listesi + bağımlılıklar
run_tests / run_taskTest komutu veya npm script çalıştırma
langchain_queryLangChain köprüsü (mevcut değilse lexical fallback)
generate_telemetry_panelHTML telemetri paneli üretir
open_telemetry_webviewHTML panel içeriklerini webview için döndürür

MCP istemcisinde araçların tam listesi: tools/list


5. Telemetri İzleme

5.1 HTML Paneli (Statik)

npm run telemetry:generate
  • logs/telemetry_panel.html dosyasını günceller.
  • MCP open_telemetry_webview aracı veya VSCode Webview ile açılabilir.

5.2 Streamlit Canlı Paneli

pip install streamlit   # yalnızca bir kez gerekli
npm run telemetry:streamlit
  • Varsayılan olarak logs/telemetry_latest.json dosyasını izler.
  • Farklı bir yol için TELEMETRY_SNAPSHOT=/path/to/json ortam değişkeni ayarlanabilir.

5.3 Prometheus / JSON Çıktıları

packages/mcp-server/src/telemetry.ts dosyası:

  • logs/telemetry.log: JSON Lines
  • logs/telemetry_latest.json: özet snapshot
  • logs/telemetry.prom: Prometheus uyumlu metrikler

6. Testler

Komutİçerik
npm -w packages/mcp-server run testVitest ile TypeScript ünite testleri
python -m pytest semantic_engine/testsPython semantik motoru ve evaluation testleri
npm run test:integrationDerleme + örnek proje üzerinde arama/getFile entegrasyon testi
npm testBuild + tüm testlerin zincir halinde çalışması

7. Gelişmiş Özellikler

  • LangChain Köprüsü: langchain paketi bulunursa entegrasyon yapılır; aksi halde lexical fallback çalışır.
  • İndeksleyici: ts-morph + madge ile AST ve import grafı çıkarılır, sonuçlar SQLite (graph.db) içine yazılır.
  • Geri Bildirim / Ağırlıklar: submit_feedback aracı ile hibrit sıralayıcı ağırlıkları dinamik ayarlanır (weights.json).
  • Telemetry HTML Output: MCP resources/read çağrısı .html dosyalarına mimeType: text/html olarak erişebilir.

8. Önemli Dizinler

Dizin / DosyaAçıklama
packages/mcp-server/srcMCP sunucusunun TypeScript kaynakları
packages/mcp-server/dataİndeks ve graph çıktıları
semantic_engine/Python semantik motoru + evaluation modülleri
streamlit/telemetry_dashboard.pyStreamlit telemetri paneli
logs/Telemetri logları, Prometheus dosyası, HTML paneli
ARCHITECTURE_CHECKLIST.mdMimari plan maddelerinin uygulanma durumu

9. Hızlı Başlangıç Özet

  1. npm install
  2. npm run build
  3. npm run mcp veya npm run mcp:http
  4. MCP istemcisinden tools/list ile araçları görüntüleyin
  5. Telemetri için npm run telemetry:generate veya npm run telemetry:streamlit
  6. Testler: npm test

Yardıma ihtiyaç duyarsanız ARCHITECTURE.md, SYSTEM_FLOW.md, DEPLOYMENT.md ve bu README dokümanlarını referans alabilirsiniz.