SoftProbe MCP Server

Un servidor MCP para gestionar datos y recursos de pruebas de API.

Documentación

SoftProbe MCP Server

Una implementación de servidor de Model Context Protocol (MCP) para gestionar datos de prueba de API y recursos.

Descripción general

Este servidor implementa el protocolo MCP para proporcionar una forma estructurada de acceder y gestionar datos de prueba de API. Utiliza un modelo de organización jerárquica donde los recursos están delimitados bajo organizaciones y aplicaciones.

Implementación actual

Este servidor implementa actualmente MCP utilizando Herramientas (ya que Recursos y Raíces aún no son compatibles con Cursor). El servidor proporciona las siguientes herramientas:

  1. list-APIs: Lista todas las APIs registradas disponibles en Softprobe
  2. list-api-record-ids: Lista todos los registros de API grabados para una operación específica
  3. getApiSamples: Recupera muestras de interacciones de API grabadas en formato JSON

Configuración

El servidor se puede configurar mediante variables de entorno o a través del archivo de configuración mcp.json:

{
    "mcpServers": {
        "mcp-server-softprobe": {
            "command": "npx",
            "args": [
              "-y",
              "@softprobe/mcp-server"
            ],
            "env": {
                "SOFTPROBE_API_URL": "https://api-onpremise-gcp.softprobe.ai",
                "SOFTPROBE_ACCESS_TOKEN": "<your-access-token>"
            }
        }
    }
}

Variables de entorno requeridas:

  • SOFTPROBE_API_URL: URL base para la API de Softprobe
  • SOFTPROBE_ACCESS_TOKEN: Token de autenticación para el acceso a la API

Arquitectura futura

Jerarquía de raíces

softprobe://orgs/{orgId}
└── softprobe://orgs/{orgId}/apps/{appId}
    └── API Samples (resources)
  • Raíz de organización: Representa una organización de nivel superior
  • Raíz de aplicación: Representa una aplicación dentro de una organización
  • Muestras de API: Recursos de datos de prueba delimitados a aplicaciones específicas

Tipos de recursos

  1. Recursos del sistema

    • resources/list: Lista los recursos disponibles
    • resources/read: Lee un recurso específico
    • resources/subscribe: Se suscribe a cambios de recursos
    • roots/list: Lista las plantillas de raíz disponibles
    • roots/resolve: Resuelve una raíz específica
  2. Recursos de muestras de API

    • softprobe://apiSamples/{orgId}/{appId}/{apiPath}: Accede a muestras de prueba de API

Flujo de trabajo

1. Descubrimiento de raíces

// Client calls roots/list
// Server returns:
{
  roots: [
    { uri: 'softprobe://orgs/{orgId}', name: 'Organization Root' },
    { uri: 'softprobe://orgs/{orgId}/apps/{appId}', name: 'Application Root' }
  ]
}

2. Resolución de raíces

// Client calls roots/resolve with:
// uri: softprobe://orgs/123
// Server returns:
{
  root: {
    uri: 'softprobe://orgs/123',
    name: 'Organization Root'
  }
}

3. Acceso a recursos

// Client calls resources/list
// Server returns resources under org/123

// Client calls softprobe/apiSamples/123/456/users
// Server returns API samples for the users endpoint

4. Acceso a aplicaciones

// Client calls roots/resolve with:
// uri: softprobe://orgs/123/apps/456
// Server returns:
{
  root: {
    uri: 'softprobe://orgs/123/apps/456',
    name: 'Application Root'
  }
}

// Now all resource access is scoped to app/456

Estructura de muestras de API

{
  samples: [
    {
      name: "test_case_name",
      request: {
        method: "POST",
        body: { /* request body */ }
      },
      response: {
        status: 200,
        body: { /* response body */ }
      }
    }
  ]
}

Integración con el IDE de Cursor

El servidor MCP permite al IDE de Cursor:

  1. Organizar datos de prueba

    • Mantener los datos de prueba separados de producción
    • Organizar pruebas por aplicación/funcionalidad
    • Mantener el versionado de datos de prueba
  2. Gestión de casos de prueba

    • Acceder a casos de prueba a través del sistema de recursos
    • Suscribirse a cambios de casos de prueba
    • Monitorear actualizaciones de datos de prueba
  3. Ejecución de pruebas

    • Recuperar casos de prueba para validación
    • Comparar respuestas reales con las esperadas
    • Generar informes de prueba
  4. Gestión de entornos

    • Usar diferentes raíces para diferentes entornos
    • Mantener datos de prueba específicos del entorno
    • Pruebas seguras sin afectar producción

Desarrollo

Requisitos previos

  • Node.js v16 o superior
  • TypeScript

Configuración

npm install
npm run dev

Compilación

npm run build

Ejecución

npm start

Licencia

MIT