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

Like mcpgate_tool_metadata, this tool is an MCPGate extension that appears alongside connector tools in tools/list. It takes no arguments.

Calling the tool#

tools/call request
json
{
  "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:

FieldTypeDescription
idstringConnector identifier (e.g. gmail, slack)
namestringDisplay name (e.g. Gmail, Slack)
iconstringURL to the connector logo (SVG or PNG, hosted by MCPGate)
categorystringService category: email, calendar, messaging, code, etc.
toolCountnumberTotal number of tools this connector provides
connectedbooleanWhether the user has at least one active account for this connector
accountCountnumberNumber of connected accounts (0 if not connected)
accountsarrayList of connected account objects (see below). Empty if not connected.

Each item in the accounts array has:

FieldTypeDescription
idstringUnique account identifier (opaque)
labelstringHuman-readable account label (e.g. email address or workspace name)
isDefaultbooleanWhether this is the user's default account for this connector

Example response#

mcpgate_list_connectors response
json
{
  "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

Call 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.