---
title: "List MCP servers"
method: GET
path: "/mcp/servers"
tags: ["MCP"]
---

# List MCP servers

`GET /mcp/servers`

Return the catalog of MCP servers visible to the caller — Gumloop-hosted (`gumcp_server`), user-deployed Gumstack (`gumstack_server`), and custom (`mcp_server`) — along with each server's connection state.

## Query parameters

- `team_id` string

## Response `200`

MCP servers visible to the caller.

- object
  - `servers` object[]
    - `server_id` string, required — Stable identifier for the server.
    - `name` string, nullable
    - `type` string, required — One of `gumcp_server`, `gumstack_server`, or `mcp_server`.
    - `status` string, required — Connection state. `connected` means the server is ready to accept tool calls; other values (for example `unauthenticated`, `blocked`) indicate the user must complete OAuth or the server is otherwise unavailable.
    - `icon_url` string, nullable
    - `description` string, nullable
    - `gumloop_auth_url` string, required — URL the user should visit to connect or reauthorize this server.
    - `mcp_url` string, nullable — For `mcp_server` (custom) and `gumstack_server` entries, the upstream MCP URL. `null` for Gumloop-hosted servers.
    - `tool_count` integer, nullable
    - `allowed_tool_call_ids` string[], nullable — Populated only by the retrieve endpoint. Always `null` here.

## Other responses

- `401` — Unauthorized — missing or invalid API key.
- `403` — Forbidden — the caller does not have agent access on the requested team.
- `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)
