Connector Discovery
The mcpgate_list_connectors tool returns live status for every connector MCPGate supports — whether or not the user has connected it. Use this to render empty states, group tools by service, show account pickers, and guide users through onboarding.
MCPGate extension
mcpgate_tool_metadata, this tool is an MCPGate extension that appears alongside connector tools in tools/list. It takes no arguments.Calling the tool#
{
"name": "mcpgate_list_connectors",
"arguments": {}
}Response schema#
The tool returns a JSON object with a connectors array. Each entry represents one service MCPGate knows about:
| Field | Type | Description |
|---|---|---|
id | string | Connector identifier (e.g. gmail, slack) |
name | string | Display name (e.g. Gmail, Slack) |
icon | string | URL to the connector logo (SVG or PNG, hosted by MCPGate) |
category | string | Service category: email, calendar, messaging, code, etc. |
toolCount | number | Total number of tools this connector provides |
connected | boolean | Whether the user has at least one active account for this connector |
accountCount | number | Number of connected accounts (0 if not connected) |
accounts | array | List of connected account objects (see below). Empty if not connected. |
Each item in the accounts array has:
| Field | Type | Description |
|---|---|---|
id | string | Unique account identifier (opaque) |
label | string | Human-readable account label (e.g. email address or workspace name) |
isDefault | boolean | Whether this is the user's default account for this connector |
Example response#
{
"connectors": [
{
"id": "gmail",
"name": "Gmail",
"icon": "https://mcpgate.io/icons/gmail.svg",
"category": "email",
"toolCount": 7,
"connected": true,
"accountCount": 2,
"accounts": [
{
"id": "acct_01jq2x",
"label": "[email protected]",
"isDefault": true
},
{
"id": "acct_01jq2y",
"label": "[email protected]",
"isDefault": false
}
]
},
{
"id": "slack",
"name": "Slack",
"icon": "https://mcpgate.io/icons/slack.svg",
"category": "messaging",
"toolCount": 8,
"connected": false,
"accountCount": 0,
"accounts": []
},
{
"id": "github",
"name": "GitHub",
"icon": "https://mcpgate.io/icons/github.svg",
"category": "code",
"toolCount": 22,
"connected": true,
"accountCount": 1,
"accounts": [
{
"id": "acct_01jq2z",
"label": "alice-gh",
"isDefault": true
}
]
}
]
}Use cases#
Empty state UI#
Filter connectors where connected === false to show a list of services the user can still connect. Deep-link to the MCPGate dashboard to complete OAuth.
Tool grouping#
Join the connector list against mcpgate_tool_metadata on connectorId to group tools by service in your tool picker UI. Use icon and name directly from the connector entry.
Account selection#
When a connector has accountCount > 1, present the accountsarray in a picker before invoking a tool. Pass the selected account id in the tool's account parameter to target the correct credential set.
Refresh after OAuth
mcpgate_list_connectors again after the user completes an OAuth flow in the MCPGate dashboard to get updated connected and accountCount values without requiring a full reconnect.