Files
rust_imgapi/docs/MCP_INTEGRATION.md
Beyhan Oğur dd72c6220d first commit
2026-04-26 22:32:52 +03:00

1.8 KiB

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.