Syncanix con FastAPI
Convierte un servicio FastAPI en preparado para agentes: qué lee el descubrimiento, cómo ejecutarlo y cómo publicar la superficie de chat y el servidor MCP.
FastAPI compone routers con prefijos en dos niveles: en el propio APIRouter y de nuevo en include_router. El descubrimiento integra ambos, dentro de un archivo y entre archivos.
Qué lee el descubrimiento
El descubrimiento es estático: lee tu código fuente, no tu tráfico. Compone las rutas de petición completas a través de archivos, de modo que los prefijos montados forman parte de cada ruta extraída:
# main.py
app.include_router(orders_router, prefix="/api")
# orders.py
orders_router = APIRouter(prefix="/orders")
@orders_router.get("/{order_id}") # → GET /api/orders/{order_id}
@orders_router.post("/{order_id}/refund") # → POST /api/orders/{order_id}/refundEl extractor compone APIRouter(prefix=…) con include_router(…, prefix=…) dentro de un archivo y entre archivos —incluidas las cadenas de agregadores anidados—, de modo que las operaciones decoradas se catalogan bajo sus rutas completamente compuestas.
Ejecuta el descubrimiento
Desde la raíz del repositorio, ejecuta el comando init. Detecta el framework automáticamente, pide tu consentimiento antes de cualquier enriquecimiento con LLM y escribe un catálogo determinista:
$ npx syncanix init
✓ detected framework
✓ scanned routes
✓ wrote .syncanix/catalog.json
→ review your capabilities in the dashboardRevisa el catálogo
El catálogo en .syncanix/catalog.json lista cada capacidad que encontró el descubrimiento: método, ruta y la descripción enriquecida que verán tus usuarios. Revísalo como si fuera código antes de subirlo: es el contrato que exponen tu superficie de chat y tu servidor MCP.
Publica la superficie
Con el catálogo subido, incrusta el widget para el chat dentro de tu app y conecta el servidor MCP por tenant para Claude, ChatGPT y Cursor. Cada acción de escritura sigue protegida por permisos, confirmada y auditada.