Transforme Qualquer Especificação OpenAPI em Ferramentas MCP Seguras para Claude em Segundos
Se você já tentou conectar APIs REST a agentes de IA, provavelmente já passou por este momento:
O servidor MCP inicia. Claude vê as ferramentas. Você pede para ele buscar alguns dados.
E ele chama o endpoint errado. Ou dispara um DELETE que não deveria. Ou fica confuso entre duas ferramentas que parecem similares e simplesmente... escolhe uma.
Seu especificação passou em todos os linters. A conversão funcionou bem.
O agente ainda quebrou.
Essa é a lacuna que ninguém fala. As especificações OpenAPI foram projetadas para desenvolvedores humanos que podem ler documentações vagas, inferir intenções e aplicar bom senso. Agentes de IA não conseguem fazer nada disso. Eles precisam:
- Que cada endpoint tenha um nome claro e inequívoco (
operationId) - Descrições que digam quando chamar uma ferramenta, e não apenas o que ela faz
- Sinais de segurança explícitos em operações destrutivas
- Nenhuma duas ferramentas que pareçam similares o suficiente para causar confusão
Linters padrão não verificam nada disso. Então a especificação parece limpa, o linter passa verde, e o agente silenciosamente toma decisões ruins.
Esse é o problema que eu continuei enfrentando. Então eu construí mcp-openapi-doctor para consertá-lo.
O que o mcp-openapi-doctor faz
É uma ferramenta CLI com quatro comandos que pegam uma especificação OpenAPI ou Swagger bruta e a tornam genuinamente pronta para agentes.
Especificação OpenAPI → mcp-openapi-doctor → especificação limpa + sobreposição MCP → seu servidor MCP → Claude
É um pré-processador, não um substituto. Ele se encaixa na frente de qualquer ferramenta MCP que você já esteja usando — AWS OpenAPI MCP, FastMCP, Tyk, ou seu próprio servidor.
Passo 1: Inspecionar — Veja Sua Pontuação de Prontidão para Agentes
A primeira coisa que você quer saber é quão quebrada sua especificação realmente está para uso do agente.
npx mcp-openapi-doctor inspect https://petstore3.swagger.io/api/v3/openapi.json
Você recebe uma pontuação de 0–100 dividida em três dimensões:
MCP OpenAPI Doctor 🩺
─────────────────────────────────────
API: Petstore API v1.0.0
Operações: 19 em 9 caminhos
Versão: OpenAPI 3.0.3
Pontuação de prontidão do agente: 61/100
Segurança ████░░░░░░ 24/40
Clareza ███░░░░░░░ 21/35
Eficiência █████░░░░░ 16/25
Problemas encontrados:
✗ erro 6x falta de operationId
✗ erro 3x endpoint destrutivo sem aviso
⚠ aviso 8x descrição vaga ou ausente
⚠ aviso 1x esquema de resposta excede 30 campos
Esses não são problemas de estilo. Cada um é um modo real de falha do agente:
| Problema | O que realmente acontece |
|---|---|
Falta de operationId
|
O agente não tem um nome de ferramenta estável para referenciar |
| Endpoint destrutivo sem aviso | O agente dispara DELETE sem hesitação |
| Colisão de nomes de ferramentas | O LLM escolhe entre duas ferramentas similares arbitrariamente |
| Descrição vaga | O agente chama a ferramenta errada porque a intenção não está clara |
| Inchaço do esquema de resposta (80+ campos) | Queima a janela de contexto, degrada a qualidade do raciocínio |
Passo 2: Gerar — Visualize Exatamente o Que Claude Verá
Antes de executar um servidor, generate mostra exatamente as ferramentas que Claude terá acesso — nomes, descrições, entradas e classificação de segurança.
npx mcp-openapi-doctor generate ./openapi.yaml
Ferramentas geradas: 4
✓ list_users
Operação: GET /users
Segurança: SAFE_READ
Entradas: nenhuma
✓ get_user
Operação: GET /users/{id}
Segurança: SAFE_READ
Entradas: id*
⚠ update_user
Operação: PUT /users/{id}
Segurança: WRITE
Entradas: id*, corpo
✗ delete_user
Operação: DELETE /users/{id}
Segurança: DESTRUCTIVE
Entradas: id*
Use --read-only para ver apenas as ferramentas que seriam expostas em modo seguro:
npx mcp-openapi-doctor generate ./openapi.yaml --read-only
# Apenas ferramentas SAFE_READ aparecem — WRITE e DESTRUCTIVE estão ocultas do agente
Isso é útil quando você está definindo o que deseja que Claude acesse antes de abrir operações de escrita.
Passo 3: Corrigir — Corrigir Automaticamente o Que É Seguro Corrigir
fix gera uma especificação limpa em uma pasta de saída. Ele nunca modifica seu arquivo original.
npx mcp-openapi-doctor fix ./openapi.yaml --out ./output/ --diff
O que é gerado:
output/
├── cleaned-openapi.yaml ← especificação corrigida com as correções aplicadas
├── mcp-overlay.yaml ← metadados x-mcp-* para servidores MCP a jusante
├── doctor-report.json ← problemas estruturados + pontuação
├── fixes.md ← log legível por humanos de cada alteração
├── summary.md ← pontuação antes/depois + ações restantes
├── diff.md ← diff legível de cada alteração
└── diff.json ← diff estruturado para ferramentas
O que o consertador mudará com segurança:
-
Gerar
operationIdausentes a partir do método + caminho, slugificado e deduplicado -
Normalizar todos os valores de
operationIdparasnake_case - Adicionar resumos de fallback onde estiverem ausentes
-
Injetar
x-mcp-destructive: trueem endpoints DELETE - Adicionar esquemas de espaço reservado para corpos de solicitação e respostas ausentes
O que ele nunca fará:
- Remover qualquer endpoint
- Mudar o comportamento em tempo de execução
- Tocar no seu arquivo fonte
- Usar IA para reescrever qualquer coisa (todas as correções são determinísticas)
O summary.md mostra a pontuação antes/depois e o que ainda precisa de um humano:
Antes: 61/100
Depois: 88/100
Corrigido automaticamente:
✓ 6 operationIds ausentes gerados
✓ 3 endpoints destrutivos sinalizados com x-mcp-destructive
✓ 4 resumos ausentes adicionados
Ainda precisa da sua atenção:
⚠ 8 descrições vagas — essas precisam de contexto humano para serem corrigidas bem
⚠ 1 esquema de resposta com 87 campos — considere um endpoint filtrado
Passo 4: Servir — Conectar Diretamente ao Claude Desktop
Uma vez que sua especificação esteja limpa, serve inicia um servidor stdio MCP ao qual o Claude Desktop se conecta diretamente.
npx mcp-openapi-doctor serve ./openapi.yaml --read-only
O terminal parecerá ocioso — isso é esperado. Ele está aguardando um cliente MCP via stdio.
Adicione-o à sua configuração do Claude Desktop:
{
"mcpServers": {Empresas brasileiras que utilizam APIs REST para conectar agentes de IA podem enfrentar desafios na integração. O mcp-openapi-doctor oferece uma solução para garantir que as especificações estejam prontas para uso, aumentando a segurança e a eficiência na comunicação entre sistemas.
Noticias relacionadas

5 Erros de Segurança em Servidores MCP que Podem Expor sua Stack de IA
Este artigo destaca cinco erros comuns de segurança em servidores MCP que podem comprometer a infraestrutura de IA, incluindo falta de validação de entrada e acesso excessivo ao sistema de arquivos.

38% dos servidores MCP não possuem autenticação - dentro do OWASP MCP Top 10
Análise crítica sobre a segurança dos servidores MCP, destacando que 38% não possuem autenticação. O artigo explora vulnerabilidades e recomendações do OWASP MCP Top 10.

Se uma pergunta de banco de dados de IA é feita duas vezes, provavelmente não deve viver apenas como um prompt
A maioria dos problemas de relatórios não é única. As equipes precisam de respostas recorrentes, não apenas de uma única resposta. Um fluxo de trabalho de relatórios de IA repetível é essencial para a eficiência.
Gostou do conteudo?
Receba toda semana as principais novidades sobre WebMCP.