---
title: "List the signed-in user's saved MCP servers with live connection status, pending OAuth authUrls (Kody consent pages t..."
method: GET
path: "/v1/mcp-servers"
tags: ["mcp-servers"]
---

# List the signed-in user's saved MCP servers with live connection status, pending OAuth authUrls (Kody consent pages t...

`GET /v1/mcp-servers`

## Request

- Base URL: `https://api.kody.codes`
- URL: `https://api.kody.codes/v1/mcp-servers`
- Auth: HTTP bearer

List the signed-in user's saved MCP servers with live connection status, pending OAuth authUrls (Kody consent pages the user opens to approve access), whether stored tokens include a refresh token, discovered tool names, durable lastError when post-IdP settle or token refresh did not reach ready, and package usage (any context vs locked to listed packages).

Org permission: `integration:read`.

## Response `200`

Success.

- object
  - `oauthClientOrigin` string, required
  - `oauthCallbackUrl` string, required
  - `oauthClientMetadataUrl` string, nullable, required
  - `servers` object[], required
    - `id` string, required
    - `name` string, required
    - `url` string, required
    - `enabled` boolean, required
    - `state` string, required
    - `connected` boolean, required
    - `toolCount` integer, required
    - `authUrl` string, nullable, required
    - `error` string, nullable, required
    - `hasRefreshToken` boolean, required
    - `tools` string[], required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `usageMode` 'any' | 'packages', required
    - `allowedPackageIds` string[], required

## Other responses

- `400`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `401`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `403`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `404`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `409`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `413`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `429`: Too many requests (edge IP/token limit) or an entitlement / plan-cap limit. Wait at least `Retry-After` seconds before retrying.
- `500`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `503`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `default`: Error envelope `{ "error": { "code", "message", "details"? } }`.

---

[API](https://skmtc.dev/kody/apis/kody-api.md) · [All operations](https://skmtc.dev/kody/apis/kody-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kody/apis/kody-api/revisions/a020ecedb82b?raw)
