MCP Fusion/Integrations and federation/Generadores OpenAPI y Prisma
Generadores OpenAPI y Prisma
Convierte esquemas existentes en conectores MCP seguros: los endpoints de OpenAPI o Swagger se convierten en herramientas y Presenters, mientras que las anotaciones de Prisma generan seguridad por campo y código consciente del tenant.
La mayoría de los equipos ya tiene una fuente de verdad. Los generadores de OpenAPI y Prisma permiten incorporar esa fuente a MCP Fusion sin copiar manualmente cada endpoint. Ambos generan código con forma MVA, así que la salida empieza dentro del mismo modelo de seguridad y gobernanza que las herramientas escritas a mano.
OpenAPI y Swagger
Instala el paquete del generador y ejecuta el binario:
npm install @mcpfusion/openapi-gen
openapi-gen generate \
--input ./openapi.yaml \
--output ./src/mcp \
--base-url https://api.example.com \
--server-name billingLa CLI acepta -i/--input, -o/--output, -c/--config, --base-url, --context y --server-name. Los filtros de tags se configuran en la configuración del generador con includeTags y excludeTags.
Programáticamente, el pipeline es explícito:
import {
parseOpenAPI,
mapEndpoints,
mergeConfig,
emitFiles,
} from '@mcpfusion/openapi-gen';
const spec = parseOpenAPI(await readFile('./openapi.yaml', 'utf8'));
const mapped = mapEndpoints(spec);
const files = emitFiles(mapped, mergeConfig({
features: { tags: true, presenters: true, toonDescription: true },
}));El generador resuelve $refs, convierte Swagger 2.0 a OpenAPI 3, compila los esquemas de entrada y respuesta a Zod, infiere anotaciones y emite archivos para Models, Presenters, herramientas, un registro y una entrada de servidor. El servidor generado es un punto de partida: añade middleware de autenticación, resolución de tenant, declaraciones de credenciales y reglas específicas del dominio antes de producción.
La superficie de configuración incluye features (tags, anotaciones, presenters, descripciones, gestión de deprecated, descripciones TOON y archivo de servidor), naming (snake_case o camelCase y deduplicación), context.import, ajustes de server y filtros de tags. El runtime exporta loadOpenAPI y buildHandler cuando necesitas una operación generada dentro de un servidor existente.
Los esquemas generados describen la API, no tu política de autorización. Revisa cada allowlist de Presenter generada, añade restricciones de tenant y conecta la autenticación antes de desplegar el conector.
Prisma
La generación de Prisma es un generador de Prisma real, no un comando separado que ejecutes contra una base de datos arbitraria. Regístralo en schema.prisma:
generator mcp {
provider = "@mcpfusion/prisma-gen"
output = "../src/tools/database"
}Anota los campos del modelo que necesitan una regla de percepción o tenancy:
model User {
id String @id @default(cuid())
email String /// @mcpfusion.hide
tenantId String /// @mcpfusion.tenantKey
name String /// @mcpfusion.describe("Display name for the agent")
}Ejecuta npx prisma generate. El generador analiza el DMMF de Prisma con parseAnnotations y después emite archivos de Presenter y herramientas con emitPresenter y emitTool. El paquete incluye helpers de nombres como toSnakeCase, toPascalCase y pluralize.
Las anotaciones de origen son el contrato: @mcpfusion.hide elimina un campo de la superficie del agente, @mcpfusion.describe(...) se convierte en orientación del esquema y @mcpfusion.tenantKey marca el campo que el código generado debe acotar. Comprueba la versión del parser que instalas antes de copiar ejemplos antiguos del README que usan la grafía obsoleta @fusion.*.
Lo que no saben ninguno de los dos generadores
Ningún generador puede inferir qué registros puede ver un rol, qué errores upstream se pueden reintentar o qué acciones son destructivas en tu negocio. Trata el código generado como un scaffold seguro y añade la capa de políticas:
- inspecciona los esquemas de Presenter generados
- conecta
requireJwtorequireApiKey - resuelve el contexto del tenant antes del handler
- añade
.redactPII(), límites y pistas de invalidación - genera y comprueba
mcpfusion.lock
Próximos pasos
- Authentication: protege las herramientas generadas
- Multi-tenant connectors: acota las consultas generadas
- Contracts: revisa la deriva de la superficie generada
