Sem escrever código. Apenas configure a URL da spec OpenAPI/Swagger e a tua API fica disponível como ferramentas MCP para LLMs em segundos.
LLMs modernos têm capacidades incríveis, mas não conseguem interagir diretamente com APIs REST existentes. O Protocolo MCP resolve isso, mas exige que cada API tenha um servidor dedicado.
O rest2mcp elimina essa barreira: forneces a URL da spec OpenAPI/Swagger, e o servidor gera automaticamente as ferramentas MCP correspondentes.
Zero código — Apenas configure a URL da spec no cliente MCP.
Múltiplas APIs — Configure várias APIs no mesmo cliente simultaneamente.
Conversão automática — Swagger 2.0 é convertido para OpenAPI 3.0 automaticamente.
No transporte stdio (padrão):
MCP_SPEC_URL
Define a variável no teu cliente MCP favorito.
O rest2mcp suporta três canais de transporte, cada um ideal para diferentes cenários de integração.
Ideal para integração direta com clientes MCP locais (VS Code, Claude Desktop, Cursor).
Ideal quando o servidor precisa rodar de forma contínua em host remoto ou local.
Ideal para comunicação em tempo real via Server-Sent Events com suporte nativo.
Seis recursos que tornam o rest2mcp a escolha mais rápida para conectar LLMs às tuas APIs.
Apenas configura a URL da spec. Sem desenvolver servidores MCP individuais para cada API.
Configura várias APIs no mesmo cliente MCP, cada uma com o seu próprio servidor.
Swagger 2.0 desatualizado? Convertido automaticamente para OpenAPI 3.0 via swagger2openapi.
Testa e depura as ferramentas geradas com o MCP Inspector integrado no próprio servidor.
Logs informativos com cores para depuração rápida e eficaz no terminal.
Inclui
loja_api.py
— uma API FastAPI de demonstração para testes locais imediatos.
Configura múltiplas APIs no mesmo cliente MCP. Veja a diferença entre uma API externa (Swagger 2.0) e uma API local (OpenAPI 3.0).
MCP_SPEC_URL=https://petstore.swagger.io/v2/swagger.json MCP_SERVER_NAME=PetStore API
MCP_SPEC_URL=http://localhost:8000/openapi.json MCP_SERVER_NAME=Loja API
{
"mcp.servers": {
"petstore": {
"command": ".../venv/Scripts/python.exe",
"args": ["main.py"],
"env": {
"MCP_SPEC_URL": "https://petstore.swagger.io/v2/swagger.json",
"MCP_SERVER_NAME": "PetStore API"
}
},
"loja-local": {
"command": ".../venv/Scripts/python.exe",
"args": ["main.py"],
"env": {
"MCP_SPEC_URL": "http://localhost:8000/openapi.json",
"MCP_SERVER_NAME": "Loja API"
}
}
}
}
Escolhe o método adequado para o teu sistema operativo.
# Instalação completa (Python + Node.js) make install # Apenas Python make install-python # Apenas Node.js make install-node # Limpar ficheiros temporários make clean # Iniciar Inspector (requer MCP_SPEC_URL) make inspect
# Dar permissões de execução chmod +x setup.sh # Executar script de instalação ./setup.sh
O script cria o venv, instala dependências Python e Node.js globalmente.
# Executar no PowerShell
.\setup.ps1
O script cria o venv, instala dependências Python e Node.js globalmente.
git clone https://github.com/mvninull/open-mcp.git cd open-mcp
Após clonar, configura no ficheiro JSON do teu cliente MCP (VS Code, Claude, etc.):
{
"mcp.servers": {
"minha-api": {
"command": "${workspaceFolder}/venv/Scripts/python.exe",
"args": ["${workspaceFolder}/main.py"],
"env": {
"MCP_SPEC_URL": "https://petstore.swagger.io/v2/swagger.json",
"MCP_SERVER_NAME": "PetStore API"
}
}
}
}
O script instala automaticamente: Python venv com
fastmcp, httpx e pydantic,
além de Node.js swagger2openapi globalmente.
Usa a API de teste incluída (loja_api.py) para experimentar
o servidor MCP localmente.
# Terminal 1: Iniciar loja_api.py ./venv/Scripts/python loja_api.py # API disponível em: # Swagger UI → http://localhost:8000/docs # OpenAPI JSON → http://localhost:8000/openapi.json
# Terminal 2 (PowerShell)
$env:MCP_SPEC_URL = "http://localhost:8000/openapi.json"
$env:MCP_SERVER_NAME = "Loja API"
# Terminal 2 ./venv/Scripts/python main.py --inspect # Inspector abre em → http://localhost:6274
No Inspector, clica em "List Tools" para ver as ferramentas geradas automaticamente a partir da Loja API — listar produtos, criar, actualizar e eliminar.
Exemplos de configuração para os principais clientes MCP.
{
"mcp.servers": {
"loja-api": {
"command": "${workspaceFolder}/venv/Scripts/python.exe",
"args": ["${workspaceFolder}/main.py"],
"env": {
"MCP_SPEC_URL": "http://localhost:8000/openapi.json",
"MCP_SERVER_NAME": "Loja API"
}
}
}
}
{
"mcpServers": {
"loja-api": {
"command": "/caminho/venv/Scripts/python.exe",
"args": ["/caminho/main.py"],
"env": {
"MCP_SPEC_URL": "http://localhost:8000/openapi.json",
"MCP_SERVER_NAME": "Loja API"
}
}
}
}