Skip to main content
Glama

mcpify

Convierte cualquier API en un servidor MCP. Un comando. Sin código.

npm License: MIT CI

npx mcpify https://petstore3.swagger.io/api/v3/openapi.json
✓ mcpify: Petstore v1.0.0 — 19 tools
  base: https://petstore3.swagger.io/api/v3
  transport: stdio

Eso es todo. Tu agente de IA ahora tiene acceso a toda la API de Petstore. Sin SDK que instalar. Sin código de integración que escribir. Sin servidor que desplegar.

Apúntalo a cualquier especificación OpenAPI → obtén un servidor MCP totalmente funcional.


Por qué

Cada equipo que construye agentes se topa con el mismo muro: el modelo necesita llamar a APIs, y conectar cada una significa días de código de servidor MCP a medida, traducción de esquemas y configuración de autenticación.

mcpify reduce eso a un solo comando. La especificación OpenAPI ya describe todo: endpoints, parámetros, esquemas, autenticación. Lo convertimos en un servidor MCP en tiempo de ejecución, sin pasos de generación de código, sin archivos fuente que mantener.

Related MCP server: mcpify

Instalación

Úsalo bajo demanda con npx (recomendado):

npx mcpify <spec>

O instálalo globalmente:

npm install -g mcpify

Requiere Node.js 18+.

Uso

Desde una especificación alojada

npx mcpify https://api.example.com/openapi.json

Desde un archivo local (JSON o YAML)

npx mcpify ./spec.yaml

Desde un comando curl único

npx mcpify --curl "curl -H 'Authorization: Bearer xxx' https://api.github.com/user/repos"

Genera un servidor MCP de una sola herramienta a partir de cualquier comando curl. El cuerpo se analiza y se convierte en un esquema de entrada.

Listar herramientas sin ejecutar el servidor

npx mcpify list ./spec.json

Generar un proyecto independiente y editable manualmente

npx mcpify generate ./spec.json ./my-mcp
cd my-mcp && npm install && npm start

Úsalo cuando quieras modificar el comportamiento: añadir caché, flujos de autenticación personalizados, post-procesamiento, cualquier cosa.

Autenticación

Establece las variables de entorno antes de iniciar. mcpify lee los securitySchemes de la especificación y los hace coincidir automáticamente.

# HTTP bearer schemes
export MCPIFY_BEARER_TOKEN=xxx

# apiKey schemes (header or query, as the spec says)
export MCPIFY_API_KEY=xxx

# HTTP basic
export MCPIFY_BASIC_AUTH=user:password

# Per-scheme override (use the scheme's name from the spec)
export MCPIFY_AUTH_<SCHEME_NAME>=xxx

# Free-form extra headers on every request
export MCPIFY_HEADERS='{"X-Trace-Id":"abc","X-Internal":"1"}'

Filtrar especificaciones grandes

La OpenAPI completa de Stripe tiene unos 600 endpoints. La mayoría de los agentes no necesitan todos ellos, y la mayoría de los clientes no tolerarán tantas herramientas. Recorta:

# Only the customers tag
npx mcpify ./stripe.json --tag customers

# Only operations whose tool name matches a regex
npx mcpify ./stripe.json --filter "^createCustomer|^getCustomer"

# Hard cap
npx mcpify ./stripe.json --max-tools 30

Uso con Claude Desktop

~/.config/claude/claude_desktop_config.json (Linux/macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "petstore": {
      "command": "npx",
      "args": ["-y", "mcpify", "https://petstore3.swagger.io/api/v3/openapi.json"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "mcpify", "--curl",
        "curl -H 'Authorization: Bearer ghp_xxx' https://api.github.com/user/repos"]
    }
  }
}

Uso con Cursor / Cline / Claude Code

La misma idea: en cualquier lugar donde puedas configurar un servidor MCP con un command y args, esto funciona. mcpify utiliza stdio.

# Claude Code:
claude mcp add petstore -- npx -y mcpify https://petstore3.swagger.io/api/v3/openapi.json

API programática

import { loadOpenApiSpec, parseOpenApi, serve } from "mcpify";

const raw = await loadOpenApiSpec("./spec.yaml");
const spec = parseOpenApi(raw);
await serve(spec, {
  baseUrl: "https://staging.example.com",
  filterTag: "users",
});

Cómo funciona

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   OpenAPI spec  │ ─→ │ mcpify  runtime │ ─→ │   MCP client    │
│  (JSON / YAML)  │    │  (stdio server) │    │ (Claude/Cursor) │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                            │
                            ↓ tool call
                       ┌─────────┐
                       │  fetch  │ → your API
                       └─────────┘
  1. Desreferencia la especificación (resuelve los $refs).

  2. Convierte cada operación en una herramienta MCP: los parámetros de ruta/consulta/cabecera se convierten en propiedades de entrada; el cuerpo de la solicitud se convierte en una propiedad body anidada.

  3. En una llamada a la herramienta, construye la URL, adjunta la autenticación desde el entorno, envía la solicitud y devuelve la respuesta.

Sin generación de código. Sin bucles de reinicio. La especificación es la fuente de verdad.

Limitaciones

  • Cuerpos de respuesta en streaming — actualmente almacenados en búfer, limitados a 64KB.

  • Flujos OAuth2 — no se ejecutan automáticamente; proporciona un token pre-obtenido a través de MCPIFY_BEARER_TOKEN.

  • Cargas de archivos (multipart/form-data) — aún no soportado.

  • Webhooks / callbacks — fuera del alcance.

  • Swagger 2.0 — parcial; convierte primero a OpenAPI 3 para obtener mejores resultados.

Las PRs son bienvenidas en todo lo anterior.

Desarrollo

git clone https://github.com/qualuo/mcpify
cd mcpify
npm install
npm run build
npm test

Licencia

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Automatically converts Swagger/OpenAPI specifications into MCP servers, enabling AI agents to interact with any REST API through natural language by exposing endpoints as AI-friendly tools.
    3
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Converts any OpenAPI specification into an MCP server, allowing AI assistants to interact with REST APIs through natural language.
    9 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Turns any OpenAPI REST or GraphQL API into an MCP server, allowing AI assistants like Claude to interact with APIs without writing code.
    8 npm
    MIT