---
title: "List MCP server tools"
method: GET
path: "/mcp/servers/{server_id}/tools"
tags: ["MCP"]
---

# List MCP server tools

`GET /mcp/servers/{server_id}/tools`

Return the tools exposed by an MCP server. When the server is not in `connected` state, `tools` is empty and `gumloop_auth_url` is returned so the caller can prompt the user to authenticate.

## Path parameters

- `server_id` string, required

## Query parameters

- `team_id` string

## Response `200`

Tools available on the server, plus the server's connection state.

- object
  - `tools` object[]
    - `tool_call_id` string, required — Composite identifier used to route tool calls — `"{server_id}__{tool_name}"`. Pass `server_id` and `tool_name` separately to `POST /mcp/tools/call`.
    - `name` string, required
    - `description` string, nullable
    - `input_schema` object — JSON Schema describing the tool's arguments. Defaults to `{}` when the upstream server does not advertise a schema.
    - `server_id` string, nullable
    - `server_type` string, nullable
    - `server` object — Server metadata snapshot. Defaults to `{}`.
  - `server_id` string, nullable
  - `status` string, nullable
  - `gumloop_auth_url` string, nullable

## Other responses

- `401` — Unauthorized — missing or invalid API key.
- `403` — Forbidden — the caller does not have agent access on the requested team.
- `404` — MCP server not found.
- `500` — Internal server error.

---

[API](https://skmtc.dev/gumloop/apis/public-api.md) · [All operations](https://skmtc.dev/gumloop/apis/public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gumloop/public-api/revisions/115f2d6ce387/schema)
