---
title: "List MCP servers connected to the org (resolver helper)"
method: GET
path: "/workflows/mcp-servers"
tags: ["Workflows"]
---

# List MCP servers connected to the org (resolver helper)

`GET /workflows/mcp-servers`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/workflows/mcp-servers`
- Auth: HTTP bearer

Return MCP servers (with their tool lists) for ``tool.mcp_server_id`` resolution.

``org_id`` is REQUIRED by voice (``voice/graph8_livekit/routers/mcp_servers.py``
declares ``list_mcp_servers(org_id: str)`` with no default), so omitting it makes
voice answer 422, not an empty list. This route previously sat below the
``/{action_id}`` catch-all and was unreachable, which hid the missing parameter -
un-shadowing it turned a 404 into a 422 until this was fixed.

The org is pinned from the authenticated caller and is never read from the request,
so a client cannot enumerate another tenant's MCP servers.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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