# 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.