Listar Ferramentas do Servidor MCP

Conectar a um servidor MCP registrado e retornar as ferramentas que ele expõe. Esta leitura tem efeitos colaterais: ela abre uma conexão ativa com o servidor de terceiros e grava connectionStatus, toolCount, lastError e lastToolsRefresh. Um HEAD pula o efeito, mas é autorizado exatamente como o GET, então responde 400, 401, 403 ou 404 sempre que o GET responderia, e um 200 vazio nos demais casos. Pular o efeito significa pular a leitura que produz o payload, então esse 200 não traz nenhum dos headers de resposta documentados abaixo — ele responde se o GET seria permitido, não o que o GET retornaria. A descoberta é limitada a 1.000 ferramentas e 5 MB de payload de ferramentas por servidor. O conjunto limitado é retornado em uma única página; nextCursor é sempre null. Um servidor inacessível, lento ou em período de espera é um 503; uma concessão OAuth armazenada que não funciona mais é um 409 com error.details.code MCP_SERVER_REAUTHORIZATION_REQUIRED, que só pode ser resolvido por uma pessoa reautorizando no Studio. Uma API key de workspace é rejeitada com 403; use uma API key pessoal.

GET/api/v2/mcp-servers/{mcpServerId}/tools
X-API-Key<token>

Sua API key do Studio, pessoal ou com escopo de workspace. Gere uma em Settings e depois API Keys. As operações que rejeitam API keys de workspace dizem isso na própria descrição.

Em: header

Parâmetros de path

mcpServerId*string

Identificador único do servidor MCP.

Tamanho1 <= length

Parâmetros de query

workspaceId*string

Workspace dono do servidor MCP.

Tamanho1 <= length <= 128
refresh?boolean

Refresh tools using your credentials. Otherwise results may reuse another workspace member's recent discovery and omit newly added tools.

Corpo da resposta

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://agent-studio.seeyu.ai/api/v2/mcp-servers/string/tools?workspaceId=string" \  -H "X-API-Key: YOUR_API_KEY"
{
  "data": [
    {
      "name": "search_docs",
      "description": "Buscar na documentação interna",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Termos de busca"
          }
        },
        "required": [
          "query"
        ]
      },
      "serverId": "mcp-3f7a9c21",
      "serverName": "Docs server"
    }
  ],
  "nextCursor": null
}
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "Invalid request"
  }
}
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication required"
  }
}
{
  "error": {
    "code": "FORBIDDEN",
    "message": "Insufficient workspace permissions",
    "details": {
      "code": "INSUFFICIENT_WORKSPACE_ROLE"
    }
  }
}
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Not found"
  }
}
{
  "error": {
    "code": "CONFLICT",
    "message": "The request conflicts with the current state of the resource"
  }
}
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "API rate limit exceeded",
    "details": {
      "retryAfter": "2026-01-01T00:00:30.000Z"
    }
  }
}
{
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal server error"
  }
}
{
  "error": {
    "code": "SERVICE_UNAVAILABLE",
    "message": "Service temporarily unavailable"
  }
}