first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 22:32:52 +03:00
commit dd72c6220d
3388 changed files with 1195487 additions and 0 deletions

41
docs/MCP_INTEGRATION.md Normal file
View File

@@ -0,0 +1,41 @@
# MCP Integration
Bu iskelet, mevcut Axum backend icine MCP uyumlu bir HTTP katmani ekler.
## Eklenen Ana Bilesenler
- `src/app/routes/mcp.rs`: MCP HTTP (`POST /api/v1/mcp`) ve SSE (`GET /api/v1/mcp/sse`) endpointleri
- `src/app/routes/mcp.rs`: JWT korumali dokuman upload endpointi (`POST /api/v1/mcp/documents/upload`)
- `src/app/routes/mcp.rs`: Swagger dostu MCP endpointleri (`POST /api/v1/mcp/tools/list`, `POST /api/v1/mcp/tools/call`)
- `src/app/mcp/auth.rs`: MCP route'lari icin JWT access token middleware'i
- `src/app/mcp/tools/mod.rs`: MCP tool registry ve tool implementasyonlari
- `src/app/services/mcp_service.rs`: Redis destekli tool-list cache ve tool dispatch
- `src/app/services/mcp_documents_service.rs`: md/txt yukleme, okuma ve listeleme servisi
- `src/app/repository/mcp_documents_repository.rs`: SeaORM tabanli MCP dokuman DB erisim katmani
- `src/app/models/mcp.rs`: MCP request/response modelleri
- `src/app/errors/mod.rs`: JSON-RPC uyumlu MCP hata modeli
## Desteklenen MCP Methodlari
- `initialize`
- `tools/list`
- `tools/call`
## Ornek Toollar
- `system.health`
- `system.echo` (ornek tool, mesaji oldugu gibi veya uppercase dondurur)
- `system.time` (sunucu unix timestamp doner)
- `images.process` (mevcut `images::service::process_image` cagrisi)
- `images.list` (mevcut `images::service::list_images` cagrisi)
- `documents.list` (JWT sahibinin dokuman listesi)
- `documents.read` (dokuman icerigi)
- `documents.search` (kullanici dokumanlarinda dosya adi + icerik aramasi)
## Notlar
- MCP endpointleri JWT `access` token gerektirir.
- Upload endpointi sadece `md` ve `txt` kabul eder.
- Tool listesi Redis varsa `mcp:tools:list` anahtari altinda TTL ile cache'lenir.
- SSE endpointi bu asamada hazirlik eventi donduren bir iskelettir; canli publish/subscribe akisi icin TODO vardir.