Skip to content

Autenticación

Descripción General

swag2mcp admite 9 métodos de autenticación para trabajar con APIs que requieren autorización. Lo configura una vez en el archivo de configuración — después de eso, cada llamada a la API a través de invoke incluye automáticamente los tokens y encabezados correctos.

Dónde configurar

La autenticación se establece a nivel de especificación en swag2mcp.yaml:

yaml
specs:
  - domain: jokes
    llm_title: Dad Joke API
    base_url: https://icanhazdadjoke.com
    collections:
      - llm_title: Jokes
        location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/dadjoke.yaml
    auth:
      type: bearer
      config:
        token: "my-token"

Cómo funciona

  • Usted especifica el tipo de autenticación y los parámetros en la configuración
  • swag2mcp los aplica automáticamente a cada solicitud cuando llama a invoke
  • No necesita solicitar un token antes de llamar a una API — ocurre automáticamente
  • Si un token expira (OAuth2, Script), swag2mcp lo renueva por su cuenta

Variables de entorno

Los datos sensibles (tokens, contraseñas, claves) pueden almacenarse en variables de entorno usando la sintaxis $(VAR_NAME):

yaml
auth:
  type: bearer
  config:
    token: "$(MY_API_TOKEN)"

swag2mcp sustituye el valor de MY_API_TOKEN al iniciar.

Herramienta MCP auth

El agente LLM puede recuperar un token o encabezados a través de la herramienta MCP auth — por ejemplo, para construir un comando curl o mostrarlo al usuario.

En producción, esta herramienta debe deshabilitarse con --disable-llm-auth (habilitado por defecto) para que el LLM nunca tenga acceso a los tokens.

Métodos

MétodoDescripciónMejor para
noneSin autenticaciónAPIs públicas
basicHTTP Basic (usuario + contraseña)APIs heredadas, autenticación simple
bearerToken Bearer (JWT, token)APIs REST modernas
api-keyClave de API en encabezado o parámetro de consultaServicios con claves de API
digestHTTP Digest (usuario + contraseña)APIs heredadas, más seguro que Basic
hmacFirma HMAC-SHA256 (estilo Binance)Exchanges de criptomonedas
oauth2-ccCredenciales de Cliente OAuth2Servidor a servidor, microservicios
oauth2-pwdConcesión de Contraseña OAuth2Aplicaciones con inicio de sesión de usuario
scriptScript externo para obtener un tokenCualquier esquema de autenticación personalizado