Skip to content

Herramientas MCP

Descripción General

swag2mcp proporciona 19 herramientas MCP que dan a un agente LLM acceso completo a sus APIs a través del Protocolo de Contexto de Modelo. Estas herramientas cubren el flujo de trabajo completo: descubrir qué APIs están disponibles, navegar por la jerarquía de especificaciones, buscar e inspeccionar endpoints, ejecutar llamadas a la API y trabajar con respuestas grandes.

Qué resuelven las herramientas

  • Descubrimiento — el LLM puede encontrar especificaciones, colecciones y etiquetas sin conocer los IDs de antemano
  • Navegación — profundizar desde especificación → colección → etiqueta → endpoint en una jerarquía estructurada
  • Búsqueda — búsqueda de texto completo en todos los endpoints cuando no tiene un ID
  • Inspección — obtener el objeto de operación OpenAPI completo antes de hacer una llamada
  • Ejecución — invocar llamadas reales a la API con autenticación automática
  • Manejo de respuestas grandes — esquematizar, comprimir y segmentar respuestas demasiado grandes que no caben en línea

Solo lectura vs Mutables

TipoCantidadHerramientas
Solo lectura17Todas las herramientas de descubrimiento, endpoints, búsqueda, inspección, información y respuesta
Mutables2invoke (realiza llamadas HTTP reales), auth (recupera tokens)

Las herramientas de solo lectura están marcadas con ReadOnlyHint=true y IdempotentHint=true en el protocolo MCP, indicando al LLM que son seguras de llamar sin efectos secundarios.

Manejo de errores

Todas las herramientas devuelven errores como objetos LLMError estructurados con un código legible por máquina y un mensaje legible por humanos que explica qué salió mal y qué hacer a continuación:

Código de errorSignificado
validation_failedEntrada inválida (formato de ID incorrecto, campos requeridos faltantes)
not_foundEntidad no encontrada en el índice o espacio de trabajo
rate_limitSegunda llamada invoke dentro de 10 segundos en el mismo endpoint
invoke_errorFallo de llamada HTTP, fallo de descarga
auth_errorFallo de recuperación de token de autenticación
config_errorFallo de carga o guardado del archivo de configuración
parse_errorFallo de análisis del archivo de especificación

Categorías

CategoríaHerramientasDescripción
Descubrimientospec_list, spec_by_id, collection_by_spec, collection_by_id, tag_by_spec, tag_by_collection, tag_by_idNavegar por la jerarquía de especificaciones: encontrar especificaciones, colecciones y etiquetas
Endpointsendpoint_by_spec, endpoint_by_collection, endpoint_by_tag, endpoint_by_idVer endpoints en diferentes niveles de la jerarquía
Ejecuciónsearch, inspect, invokeBuscar, inspeccionar el contrato completo y llamar APIs
Utilidadesauth, info, response_outline, response_compress, response_sliceTokens de autenticación, información de ejecución y manejo de respuestas grandes
HabilidadesGuía de formatoPersonalizar cómo se muestran las respuestas de las herramientas

Lista Completa

HerramientaDescripción
spec_listListar todas las especificaciones de API en el espacio de trabajo
spec_by_idObtener información detallada de la especificación con colecciones
collection_by_specListar colecciones dentro de una especificación
collection_by_idObtener detalles de la colección con etiquetas
tag_by_specListar todas las etiquetas en una especificación
tag_by_collectionListar etiquetas dentro de una colección
tag_by_idObtener detalles de la etiqueta (ID, título, recuento de métodos)
endpoint_by_specListar todos los endpoints en una especificación
endpoint_by_collectionListar endpoints en una colección
endpoint_by_tagListar endpoints en una etiqueta
endpoint_by_idResumen rápido del endpoint (método, ruta, resumen)
searchBúsqueda de texto completo en todos los endpoints
inspectDetalles completos de la operación OpenAPI (parámetros, esquemas)
invokeEjecutar una llamada real a la API
authObtener token o encabezados de autenticación para una especificación
infoInformación de ejecución (versión, especificaciones, configuración)
response_outlineResumen estructural de un archivo de respuesta grande
response_compressComprimir una respuesta grande para que quepa en línea
response_sliceExtraer un fragmento de una respuesta grande

Jerarquía de Navegación

spec_list
  └── spec_by_id(id)
        └── collection_by_spec(specId)
              └── collection_by_id(id)
                    └── tag_by_collection(collectionId)
                          └── tag_by_id(id)
                                └── endpoint_by_tag(tagId)
                                      └── endpoint_by_id(id)
                                            └── inspect(endpointId)
                                                  └── invoke(endpointId)

Cuando no tiene un ID, use search para encontrar endpoints por consulta. Cuando invoke devuelve un fileRef (respuesta demasiado grande), use response_outlineresponse_compress o response_slice para explorar los datos.