SoftProbe MCP Server

Um servidor MCP para gerenciar dados e recursos de teste de API.

Documentação

SoftProbe MCP Server

Uma implementação de servidor Model Context Protocol (MCP) para gerenciar dados e recursos de teste de API.

Visão Geral

Este servidor implementa o protocolo MCP para fornecer uma forma estruturada de acessar e gerenciar dados de teste de API. Ele utiliza um modelo de organização hierárquica onde os recursos são delimitados por organizações e aplicações.

Implementação Atual

Este servidor atualmente implementa MCP usando Tools (já que Resources e Roots ainda não são suportados pelo Cursor). O servidor fornece as seguintes ferramentas:

  1. list-APIs: Lista todas as APIs registradas disponíveis no Softprobe
  2. list-api-record-ids: Lista todos os registros de API gravados para uma operação específica
  3. getApiSamples: Recupera amostras de interações de API registradas em formato JSON

Configuração

O servidor pode ser configurado usando variáveis de ambiente ou através do arquivo de configuração 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>"
            }
        }
    }
}

Variáveis de ambiente obrigatórias:

  • SOFTPROBE_API_URL: URL base para a API do Softprobe
  • SOFTPROBE_ACCESS_TOKEN: Token de autenticação para acesso à API

Arquitetura Futura

Hierarquia de Raízes

softprobe://orgs/{orgId}
└── softprobe://orgs/{orgId}/apps/{appId}
    └── API Samples (resources)
  • Raiz da Organização: Representa uma organização de nível superior
  • Raiz da Aplicação: Representa uma aplicação dentro de uma organização
  • Amostras de API: Recursos de dados de teste delimitados a aplicações específicas

Tipos de Recursos

  1. Recursos do Sistema

    • resources/list: Lista os recursos disponíveis
    • resources/read: Lê um recurso específico
    • resources/subscribe: Assina mudanças em recursos
    • roots/list: Lista os modelos de raiz disponíveis
    • roots/resolve: Resolve uma raiz específica
  2. Recursos de Amostras de API

    • softprobe://apiSamples/{orgId}/{appId}/{apiPath}: Acessa amostras de teste de API

Fluxo de Trabalho

1. Descoberta de Raízes

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

2. Resolução de Raízes

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

3. Acesso 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. Acesso a Aplicações

// 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

Estrutura de Amostras de API

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

Integração com o Cursor IDE

O servidor MCP permite que o Cursor IDE:

  1. Organize Dados de Teste

    • Mantenha dados de teste separados da produção
    • Organize testes por aplicação/recurso
    • Mantenha versionamento de dados de teste
  2. Gerenciamento de Casos de Teste

    • Acesse casos de teste através do sistema de recursos
    • Assine mudanças em casos de teste
    • Monitore atualizações de dados de teste
  3. Execução de Testes

    • Recupere casos de teste para validação
    • Compare respostas reais com as esperadas
    • Gere relatórios de teste
  4. Gerenciamento de Ambientes

    • Use raízes diferentes para ambientes diferentes
    • Mantenha dados de teste específicos por ambiente
    • Teste com segurança sem afetar a produção

Desenvolvimento

Pré-requisitos

  • Node.js v16 ou superior
  • TypeScript

Configuração

npm install
npm run dev

Compilação

npm run build

Execução

npm start

Licença

MIT