Skip to main content
Glama
quiloos39

anyapi-mcp-server

by quiloos39

anyapi-mcp-server

Si tiene una API, puedes usar MCP con ella.

Los servidores MCP tradicionales seleccionan manualmente un puñado de endpoints y dan el trabajo por terminado, limitándote al subconjunto que alguien decidió que era "suficiente". ¿Por qué conformarse con una fracción de una API cuando puedes tener todo?

anyapi-mcp-server es un servidor MCP universal que conecta cualquier API REST a asistentes de IA como Claude, Cursor y otras herramientas basadas en LLM; solo tienes que apuntarlo a una especificación OpenAPI o una colección de Postman. Cada endpoint que proporciona la API queda disponible al instante, con selección de campos al estilo GraphQL e inferencia automática de esquemas. Sin código de servidor personalizado, sin límites artificiales.

npm

Inicio rápido

1. Instalar

npm install -g anyapi-mcp-server

2. Añadir a tu cliente MCP (Cursor, Claude Desktop, etc.)

{
  "mcpServers": {
    "your-api": {
      "command": "npx",
      "args": [
        "-y",
        "anyapi-mcp-server",
        "--name", "your-api",
        "--spec", "path/to/openapi.json",
        "--base-url", "https://api.example.com",
        "--header", "Authorization: Bearer ${API_KEY}"
      ],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

3. Usar las herramientas — descubre endpoints con list_api, inspecciona esquemas con call_api, obtén datos con query_api.

Ejemplos de proveedores

Configuraciones listas para usar para APIs populares:

Proveedor

Autenticación

Cloudflare

Token de API o Clave + Correo electrónico

Datadog

Clave de API + Clave de aplicación

GitHub

Token de acceso personal

Google Workspace

OAuth 2.0

Metabase

Clave de API

PostHog

Clave de API personal

Slack

Token de Bot/Usuario

Estos funcionan con cualquier API que tenga una especificación OpenAPI o Postman; los anteriores son solo ejemplos. Stripe, Twilio, Shopify, HubSpot y cualquier otra cosa con una API REST funcionarán de la misma manera.

Referencia de CLI

Flags obligatorios

Flag

Descripción

--name

Nombre del servidor (ej. cloudflare)

--spec

Ruta o URL HTTPS a una especificación OpenAPI (JSON/YAML) o Colección de Postman. Las URLs remotas se almacenan en caché localmente. Soporta ${ENV_VAR}.

--base-url

URL base de la API (ej. https://api.example.com). Soporta ${ENV_VAR}.

Flags opcionales

Flag

Descripción

--header

Cabecera HTTP como "Key: Value" (repetible). Soporta ${ENV_VAR} en los valores.

--log

Ruta al registro de solicitudes/respuestas en formato NDJSON. Las cabeceras sensibles se enmascaran automáticamente.

Flags de OAuth

Para APIs que usan OAuth 2.0 en lugar de tokens estáticos. Si se proporciona cualquiera de los tres flags obligatorios, los tres son necesarios. Todos los flags soportan ${ENV_VAR}.

Flag

Obligatorio

Descripción

--oauth-client-id

Sí*

ID de cliente OAuth

--oauth-client-secret

Sí*

Secreto de cliente OAuth

--oauth-token-url

Sí*

URL del endpoint de token

--oauth-auth-url

No

Endpoint de autorización (detectado automáticamente desde la especificación si está disponible)

--oauth-scopes

No

Scopes separados por comas

--oauth-flow

No

authorization_code (predeterminado) o client_credentials

--oauth-param

No

Parámetro de token adicional como key=value (repetible)

Consulta la guía de Google Workspace para ver un ejemplo completo de OAuth.

Herramientas

El servidor expone cuatro herramientas (más auth cuando OAuth está configurado):

list_api — Explorar endpoints

Descubre lo que ofrece la API. Llama sin argumentos para ver todas las categorías, proporciona category para listar endpoints en una etiqueta, o search para encontrar endpoints por palabra clave.

call_api — Inspeccionar un endpoint

Realiza una solicitud HTTP real y devuelve el esquema GraphQL inferido (SDL), no los datos en sí. Úsalo para descubrir la forma de la respuesta y obtener suggestedQueries que puedes copiar en query_api. También devuelve costes de tokens por campo (fieldTokenCosts) y un dataKey para reutilizar la caché. Para solicitudes PUT/PATCH, crea automáticamente una copia de seguridad previa a la escritura (devuelve backupDataKey). Soporta bodyFile para cargas útiles grandes y bloquea solicitudes con valores de marcador de posición detectados.

query_api — Obtener datos

Obtiene datos y devuelve solo los campos que selecciones mediante una consulta GraphQL. Soporta tanto lecturas como escrituras (mutaciones para POST/PUT/DELETE/PATCH). Pasa un dataKey de call_api para reutilizar datos en caché sin llamadas HTTP.

# Read
{ items { id name status } _count }

# Write
mutation { post_endpoint(input: { name: "example" }) { id } }

Parámetros clave:

  • maxTokens — presupuesto de tokens para la respuesta. Los arrays se truncan para ajustarse. Sin esto o unlimited, las respuestas de más de ~10k tokens son rechazadas.

  • unlimited — establecer en true para devolver la respuesta completa sin aplicar límites de presupuesto de tokens.

  • dataKey — reutiliza datos en caché de una respuesta anterior de call_api o query_api.

  • jsonFilter — ruta de puntos para extraer valores anidados después de la consulta GraphQL (ej. "data[].attributes.name").

  • bodyFile — ruta absoluta a un archivo JSON para usar como cuerpo de la solicitud (mutuamente excluyente con body). Úsalo para cargas útiles grandes que no se pueden enviar en línea.

  • skipBackup — omite la copia de seguridad automática previa a la escritura para solicitudes PUT/PATCH (predeterminado: false).

explain_api — Leer la documentación

Devuelve la documentación de la especificación para un endpoint (parámetros, esquema del cuerpo de la solicitud, códigos de respuesta) sin realizar una solicitud HTTP.

auth — Autenticación OAuth

Solo disponible cuando los flags --oauth-* están configurados. Gestiona el flujo de OAuth:

  • action: "start" — devuelve una URL de autorización (o intercambia credenciales para client_credentials)

  • action: "exchange" — completa el flujo de código de autorización (el callback se captura automáticamente)

  • action: "status" — muestra el estado actual del token

Los tokens se persisten y actualizan automáticamente.

Flujo de trabajo típico

list_api          → discover what's available
     ↓
explain_api       → read the docs for an endpoint
     ↓
call_api          → inspect the response schema (returns dataKey)
     ↓
query_api         → fetch exactly the fields you need (pass dataKey for zero HTTP calls)
     ↓
query_api         → re-query with different fields using the same dataKey

Cómo funciona

OpenAPI/Postman spec
        │
        ▼
   ┌─────────┐  ┌─────────────┐  ┌──────────┐  ┌───────────┐
   │list_api │  │ explain_api │  │ call_api │  │ query_api │
   │(browse) │  │   (docs)    │  │ (schema) │  │  (data)   │
   └─────────┘  └─────────────┘  └──────────┘  └───────────┘
        │          │ no HTTP          │               │
        ▼          ▼ request          ▼               ▼
   Spec index   Spec index     REST API call    dataKey cache
   (tags,       (params,       (with retry)     hit → no HTTP
    paths)       responses,         │            miss → fetch
                 body schema)       ▼               │
                               Infer schema +       ▼
                               return dataKey   Execute GraphQL
                                                + token budget
                                                  truncation

Características

  • Cualquier API REST — proporciona una especificación OpenAPI (JSON/YAML) o Colección de Postman v2.x como archivo o URL

  • Caché de especificaciones remotas — las especificaciones HTTPS se obtienen una vez y se almacenan en ~/.cache/anyapi-mcp/

  • Selección de campos GraphQL — consulta solo los campos que necesitas de cualquier respuesta

  • Inferencia de esquemas — construye automáticamente esquemas GraphQL a partir de respuestas de API en vivo

  • Fusión de múltiples muestras — muestrea hasta 10 elementos de array para esquemas más ricos

  • Soporte de mutaciones — las operaciones de escritura obtienen mutaciones GraphQL tipadas a partir de los esquemas de cuerpo de OpenAPI

  • Sugerencias inteligentescall_api devuelve consultas listas para usar basadas en el esquema inferido

  • Caché de respuestas — caché basada en sistema de archivos con TTL de 5 minutos; los tokens dataKey permiten a query_api reutilizar datos sin llamadas HTTP

  • Presupuesto de tokensquery_api aplica un límite de seguridad de ~10k tokens por defecto; usa maxTokens para truncar el array más grande y profundo para que quepa, o unlimited: true para respuestas completas

  • Costes de tokens por campocall_api devuelve un árbol fieldTokenCosts para que el LLM pueda tomar decisiones informadas sobre los campos

  • Seguimiento de límites de tasa — analiza las cabeceras X-RateLimit-* y advierte cuando los límites están casi agotados

  • Detección de paginación — detecta automáticamente patrones de paginación basados en cursor, token de página siguiente y enlaces en las respuestas

  • Filtro JSONquery_api acepta una ruta de puntos jsonFilter para extracción posterior a la consulta (ej. "data[].name")

  • Reintento con retroceso — reintentos automáticos para 429/5xx con retroceso exponencial y soporte para Retry-After

  • Formato múltiple — analiza respuestas JSON, XML, CSV y texto plano

  • Escrituras seguras — las solicitudes PUT/PATCH toman automáticamente una instantánea del recurso antes de escribir (backupDataKey); los valores de marcador de posición (ej. PLACEHOLDER, TODO, file://) se detectan y bloquean antes de enviarse

  • Cuerpo basado en archivos — el parámetro bodyFile acepta una ruta absoluta a un archivo JSON, permitiendo cargas útiles grandes que no se pueden enviar en línea

  • Errores enriquecidos — mensajes de error estructurados con sugerencias específicas de estado y contexto de especificación para la autocorrección

  • OAuth 2.0 — flujos de código de autorización (con PKCE) y credenciales de cliente con actualización automática de tokens

  • Interpolación de variables de entorno${ENV_VAR} en URLs base, cabeceras y rutas de especificación

  • Registro de solicitudes — registro NDJSON opcional con enmascaramiento de cabeceras sensibles

Formatos de especificación soportados

  • OpenAPI 3.x (JSON o YAML)

  • OpenAPI 2.0 / Swagger (JSON o YAML)

  • Colección de Postman v2.x (JSON)

Licencia

Propietaria no comercial. Gratuito para uso personal y educativo. El uso comercial requiere permiso por escrito. Consulta LICENSE para más detalles.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/quiloos39/anyapi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server