MCP Fusion/Integrations and federation/Geradores OpenAPI e Prisma
Geradores OpenAPI e Prisma
Transforme esquemas existentes em conectores MCP seguros: endpoints OpenAPI ou Swagger tornam-se ferramentas e Presenters, enquanto anotações do Prisma geram segurança em nível de campo e código consciente do tenant.
A maioria das equipes já tem uma fonte de verdade. Os geradores OpenAPI e Prisma permitem trazer essa fonte para o MCP Fusion sem copiar manualmente cada endpoint. Ambos geram código no formato MVA, então a saída começa dentro do mesmo modelo de segurança e governança das ferramentas escritas à mão.
OpenAPI e Swagger
Instale o pacote do gerador e execute o binário:
npm install @mcpfusion/openapi-gen
openapi-gen generate \
--input ./openapi.yaml \
--output ./src/mcp \
--base-url https://api.example.com \
--server-name billingA CLI aceita -i/--input, -o/--output, -c/--config, --base-url, --context e --server-name. Filtros de tags são configurados na configuração do gerador com includeTags e excludeTags.
Programaticamente, o pipeline é 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 },
}));O gerador resolve $refs, converte Swagger 2.0 para OpenAPI 3, compila esquemas de entrada e resposta para Zod, infere anotações e emite arquivos para Models, Presenters, ferramentas, um registro e uma entrada de servidor. O servidor gerado é um ponto de partida: adicione middleware de autenticação, resolução de tenant, declarações de credenciais e regras específicas do domínio antes da produção.
A superfície de configuração inclui features (tags, anotações, presenters, descrições, tratamento de deprecated, descrições TOON e arquivo de servidor), naming (snake_case ou camelCase e deduplicação), context.import, configurações de server e filtros de tags. O runtime exporta loadOpenAPI e buildHandler quando você precisa de uma operação gerada dentro de um servidor existente.
Os esquemas gerados descrevem a API, não sua política de autorização. Revise cada allowlist de Presenter gerada, adicione restrições de tenant e conecte a autenticação antes de implantar o conector.
Prisma
A geração do Prisma é um gerador Prisma real, não um comando separado executado contra um banco arbitrário. Registre-o em schema.prisma:
generator mcp {
provider = "@mcpfusion/prisma-gen"
output = "../src/tools/database"
}Anote os campos do modelo que precisam de uma regra de percepção ou 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")
}Execute npx prisma generate. O gerador analisa o DMMF do Prisma com parseAnnotations e depois emite arquivos de Presenter e ferramentas com emitPresenter e emitTool. O pacote inclui helpers de nomenclatura como toSnakeCase, toPascalCase e pluralize.
As anotações de origem são o contrato: @mcpfusion.hide remove um campo da superfície do agente, @mcpfusion.describe(...) torna-se orientação do esquema e @mcpfusion.tenantKey marca o campo que o código gerado deve delimitar. Verifique a versão do parser que você instala antes de copiar exemplos antigos de README que usam a grafia obsoleta @fusion.*.
O que os dois geradores não sabem
Nenhum gerador consegue inferir quais registros uma função pode ver, quais erros upstream podem ser repetidos ou quais ações são destrutivas no seu negócio. Trate o código gerado como um scaffold seguro e adicione a camada de política:
- inspecione os esquemas de Presenter gerados
- conecte
requireJwtourequireApiKey - resolva o contexto do tenant antes do handler
- adicione
.redactPII(), limites e indicações de invalidação - gere e verifique
mcpfusion.lock
Próximos passos
- Authentication: proteja as ferramentas geradas
- Multi-tenant connectors: delimite as consultas geradas
- Contracts: revise a divergência da superfície gerada
