# List MCP servers

List external MCP servers that Brigg connects to for tools and data. These are outbound connections, separate from agents connecting to Brigg’s own MCP server. Configure or reconnect servers in Brigg; credentials are never returned.

POST https://api.brigg.app/v1/operations/integrations.ListMcpServers

## Access & visibility

Allow `integrations.ListMcpServers` on your API key.

**Workspace access by default.** Private member data requires [approved member delegation](https://developer.brigg.app/authentication#member-delegation) through `Brigg-Act-As`; the key supplies permissions while private ownership and project boundaries remain enforced.

[Set up authentication](https://developer.brigg.app/authentication) · [Choose permissions](https://developer.brigg.app/permissions)

## Request

No parameters. Send an empty JSON object (`{}`).

## What this list tells you

These are external MCP servers that Brigg calls. To connect your own agent to Brigg, use the [MCP connection guide](https://developer.brigg.app/mcp). A stored connection status is not a live connectivity check.

## Response

Returns **200 OK** with a JSON body.

This operation has no continuation cursor. An empty `items` array means no matching visible results were returned.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of [MCP server connection](#mcp-server-connection-response-items) | Yes | External MCP servers configured for Brigg to connect to, including disabled connections. These are distinct from clients connecting to Brigg's MCP server. This operation has no cursor pagination. |

### MCP server connection · response.items[]

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `server_id` | string | Yes | Identifier of this outbound MCP connection. Pass it to [Delete MCP server](https://developer.brigg.app/reference/integrations/DeleteMcpServer). |
| `name` | string | Yes | Display name of the external MCP server. |
| `description` | string or null | Yes | Description configured for this server, or null when none was supplied. |
| `enabled` | boolean | Yes | Whether Brigg may connect to this server. This setting alone does not establish that authentication or connectivity works. |
| `status` | string | Yes | Most recently recorded connection status; this list does not probe the server live. |
| `last_connected_at` | number or null | Yes | Last successful connection time in Unix milliseconds; null if no successful connection has been recorded. |

## Errors & retries

This operation reads data. It needs no idempotency key and can be retried after a transient failure.

For rate limits, follow the server’s retry guidance and back off. See [HTTP errors](https://developer.brigg.app/http#errors) and [safe retries and limits](https://developer.brigg.app/reliability).

| HTTP status | Code | What to do |
| --- | --- | --- |
| 400 | `invalid_json` | Send a JSON object with Content-Type: application/json. |
| 400 | `invalid_input` | Check the request fields and types. |
| 401 | `invalid_key` | The workspace API key is missing, invalid or revoked. |
| 403 | `forbidden` | Check the key’s operation and resource grants. If Brigg-Act-As is supplied, the key must be authorized to delegate to that member. |
| 404 | `not_found` | The requested operation or resource is not available to this credential. |
| 429 | `rate_limited` | Wait for Retry-After before retrying. |

## Next steps

[Download OpenAPI](https://developer.brigg.app/openapi.json) · [Versioning & retirement](https://developer.brigg.app/versioning)

## Examples

### Example request

Fictional values. Replace IDs and business details with values from your workspace.
#### cURL


```sh
curl 'https://api.brigg.app/v1/operations/integrations.ListMcpServers' \
  -H "Authorization: Bearer $BRIGG_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{}'
```

#### TypeScript


```typescript
const response = await fetch("https://api.brigg.app/v1/operations/integrations.ListMcpServers", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BRIGG_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
});
const result = await response.json();
if (!response.ok) throw new Error(`${response.status}: ${result.error} — ${result.message}`);
console.log(result);
```

#### Python


```python
import json
import os
from urllib.request import Request, urlopen
from urllib.error import HTTPError

payload = {}
request = Request(
    "https://api.brigg.app/v1/operations/integrations.ListMcpServers",
    data=json.dumps(payload).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {os.environ['BRIGG_API_KEY']}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urlopen(request) as response:
        print(json.load(response))
except HTTPError as error:
    print(error.code, json.load(error))
    raise
```

#### Response example


```json
{
  "items": [
    {
      "server_id": "project-tools",
      "name": "Project tools",
      "description": "Search project documentation and tasks.",
      "enabled": true,
      "status": "ok",
      "last_connected_at": 1794301200000
    }
  ]
}
```

## JSON schemas


```json-schema-request
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "examples": [
    {}
  ]
}
```


```json-schema-response
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "server_id": {
            "type": "string",
            "description": "Identifier of this outbound MCP connection. Pass it to [Delete MCP server](https://developer.brigg.app/reference/integrations/DeleteMcpServer)."
          },
          "name": {
            "type": "string",
            "description": "Display name of the external MCP server."
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Description configured for this server, or null when none was supplied."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether Brigg may connect to this server. This setting alone does not establish that authentication or connectivity works."
          },
          "status": {
            "type": "string",
            "description": "Most recently recorded connection status; this list does not probe the server live."
          },
          "last_connected_at": {
            "type": [
              "number",
              "null"
            ],
            "description": "Last successful connection time in Unix milliseconds; null if no successful connection has been recorded."
          }
        },
        "required": [
          "server_id",
          "name",
          "description",
          "enabled",
          "status",
          "last_connected_at"
        ],
        "additionalProperties": false,
        "title": "MCP server connection"
      },
      "description": "External MCP servers configured for Brigg to connect to, including disabled connections. These are distinct from clients connecting to Brigg's MCP server. This operation has no cursor pagination."
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "items": [
        {
          "server_id": "project-tools",
          "name": "Project tools",
          "description": "Search project documentation and tasks.",
          "enabled": true,
          "status": "ok",
          "last_connected_at": 1794301200000
        }
      ]
    }
  ]
}
```

