from __future__ import annotations from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from agents.credit_risk.router import router as credit_router from agents.kyc_identity.router import router as kyc_router from agents.risk_consultant.router import router as consultant_router from agents.sanctions_pep.router import router as sanctions_router from agents.transaction_fraud.router import router as fraud_router from mcp_server import mcp app = FastAPI( title="RiskOS Fraud Intelligence Suite", version="1.0.0", description="Multi-agent AI system for real-time fraud detection, credit risk assessment, KYC identity verification, and sanctions screening.", ) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(fraud_router, prefix="/api/v1/fraud") app.include_router(credit_router, prefix="/api/v1/credit") app.include_router(kyc_router, prefix="/api/v1/kyc") app.include_router(sanctions_router, prefix="/api/v1/sanctions") app.include_router(consultant_router, prefix="/api/v1/consultant") @app.get("/health") def health() -> dict[str, object]: return {"status": "ok", "agents": ["fraud", "credit", "kyc", "sanctions", "consultant"]} mcp_app = mcp.sse_app(mount_path="/mcp") mcp_app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.mount("/mcp", mcp_app)