Apidog tests MCP

Añade la posibilidad de trabajar con la gestión de pruebas a través de MCP

Documentación

apidog-tests-mcp

Servidor MCP (Model Context Protocol) para gestionar casos de prueba, escenarios, suites y datos de prueba de Apidog. Brinda a los asistentes de IA acceso completo de lectura/escritura a las funciones de gestión de pruebas de Apidog.

Este proyecto no es una integración oficial de Apidog.

Características

  • Casos de prueba -- Crear, leer, actualizar, eliminar y crear en lote casos de prueba para endpoints de API
  • Escenarios de prueba -- Construir flujos de prueba de varios pasos que encadenan múltiples llamadas a la API
  • Suites de prueba -- Organizar pruebas en suites ejecutables para CI/CD
  • Datos de prueba -- Gestionar iteraciones de pruebas basadas en datos con datos en formato CSV
  • Carpetas -- Organizar escenarios y suites en estructuras de carpetas anidadas
  • Herramientas de solo lectura -- Listar entornos, endpoints, categorías, etiquetas, ejecutores y estadísticas de cobertura

Documentación

  • docs/PRACTICAL-USAGE.md -- patrones probados para crear casos de prueba/escenarios/suites estables
  • SECURITY.md -- reporte de vulnerabilidades y pautas de uso seguro
  • CONTRIBUTING.md -- flujo de trabajo de contribución
  • CHANGELOG.md -- notas de versión

Instalación

npm install -g @acabala/apidog-tests-mcp

O úsalo directamente con npx:

npx @acabala/apidog-tests-mcp

Configuración

El servidor requiere estas variables de entorno:

VariableRequeridaDescripción
APIDOG_ACCESS_TOKENSíTu token de acceso de Apidog
APIDOG_PROJECT_IDSíEl ID del proyecto de Apidog
APIDOG_BRANCH_IDSíEl ID de la rama con la que trabajar
APIDOG_BASE_URLNoSobrescribir la URL base de la API (predeterminado: https://api.apidog.com/api/v1)

Configuración del Cliente MCP

Agrégalo a tu configuración del cliente MCP (por ejemplo, Claude Desktop claude_desktop_config.json):

{
	"mcpServers": {
		"apidog-tests": {
			"command": "npx",
			"args": ["@acabala/apidog-tests-mcp"],
			"env": {
				"APIDOG_ACCESS_TOKEN": "your-token",
				"APIDOG_PROJECT_ID": "your-project-id",
				"APIDOG_BRANCH_ID": "your-branch-id"
			}
		}
	}
}

Prácticas Recomendadas para Tokens

  • Usa un token dedicado para automatización.
  • Limita el acceso a los proyectos de Apidog mínimos requeridos.
  • Rota los tokens regularmente.
  • Mantén los archivos de configuración del cliente MCP locales/privados.

Herramientas Disponibles

Solo lectura

HerramientaDescripción
list_environmentsListar todos los entornos con URLs base
list_api_endpointsListar el árbol de endpoints de la API (filtrable por módulo y nombre)
list_test_case_categoriesListar categorías de casos de prueba
list_test_case_tagsListar etiquetas disponibles
list_runnersListar ejecutores de pruebas autoalojados
get_endpoint_statisticsObtener estadísticas de cobertura de pruebas

Casos de Prueba

HerramientaDescripción
list_test_casesListar todos los casos de prueba (filtrable por endpoint)
get_test_caseObtener detalles completos del caso de prueba
create_test_caseCrear un caso de prueba para un endpoint
create_test_cases_bulkCrear múltiples casos de prueba a la vez
update_test_caseActualizar un caso de prueba (GET-luego-fusionar)
delete_test_caseEliminar un caso de prueba

Escenarios de Prueba

HerramientaDescripción
list_test_scenariosListar escenarios con estructura de carpetas
get_test_scenario_stepsObtener pasos de un escenario
create_test_scenarioCrear un escenario de prueba de varios pasos
update_test_scenario_stepsEstablecer/reemplazar pasos del escenario
delete_test_scenarioEliminar un escenario

Suites de Prueba

HerramientaDescripción
list_test_suitesListar suites con estructura de carpetas
get_test_suiteObtener detalles completos de la suite
create_test_suiteCrear una suite de prueba
update_test_suite_itemsEstablecer elementos de la suite (grupos estáticos/dinámicos)
delete_test_suiteEliminar una suite

Datos de Prueba

HerramientaDescripción
list_test_dataListar registros de datos de prueba para un caso de prueba
get_test_dataObtener datos de prueba con filas y columnas CSV
create_test_dataCrear datos de prueba para un caso de prueba
update_test_dataActualizar datos de prueba (GET-luego-fusionar)
delete_test_dataEliminar un registro de datos de prueba

Carpetas

HerramientaDescripción
create_scenario_folderCrear una carpeta de escenarios
delete_scenario_folderEliminar una carpeta de escenarios
create_suite_folderCrear una carpeta de suites

Desarrollo

# Install dependencies
npm install

# Run in development mode
npm run start:dev

# Type check
npm run typecheck

# Format
npm run format

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Build for production
npm run build

Seguridad

  • Usa un token de automatización dedicado con los permisos mínimos requeridos.
  • Nunca confirmes APIDOG_ACCESS_TOKEN ni IDs específicos del entorno.
  • Mantén los archivos de configuración locales del cliente MCP privados.
  • Consulta SECURITY.md para la política de reporte y respuesta.

Publicación y Versionado

Este repositorio usa Changesets y un flujo de trabajo de publicación con GitHub Actions:

  • Agrega un changeset para cambios visibles al usuario: npm run changeset
  • La automatización de publicación crea/actualiza un PR de versión en main
  • El PR de publicación fusionado publica en npm con procedencia

Pautas de Código Abierto

  • Guía de contribución: CONTRIBUTING.md
  • Código de conducta: CODE_OF_CONDUCT.md
  • Registro de cambios: CHANGELOG.md

Consejos Prácticos

  • Siempre incluye path y parameters.path al crear casos de prueba con parámetros de ruta.
  • Para operaciones de actualización, prefiere las herramientas de estilo fusión de este servidor sobre cargas útiles de reemplazo completo.
  • Usa post-procesadores customScript para aserciones y evitar problemas del ejecutor con aserciones declarativas.
  • Consulta docs/PRACTICAL-USAGE.md para ejemplos completos.

Estructura del Proyecto

src/
  index.ts          Entry point, registers tools and starts MCP server
  client.ts         ApidogClient HTTP wrapper with auth headers
  types.ts          Shared TypeScript interfaces and MCP result helpers
  errors.ts         Custom error classes (ApidogApiError, ApidogConfigError)
  schemas.ts        Shared Zod schemas for request parameters
  tools/
    read.ts         Read-only tools (environments, endpoints, categories, etc.)
    test-cases.ts   Test case CRUD tools
    test-scenarios.ts  Test scenario CRUD tools
    test-suites.ts  Test suite CRUD tools
    test-data.ts    Test data CRUD tools
    folders.ts      Folder management tools

Licencia

Licencia MIT