Skip to content

Feature request: Add meta-tool to list connected toolkits in MCP server #3118

@agamm

Description

@agamm

Problem

When building integrations that use Composio's MCP server, there's no reliable way to dynamically discover which toolkits the user has actually connected (authenticated).

Current workarounds are all unreliable or slow:

  • COMPOSIO_SEARCH_TOOLS requires queries and only returns toolkit_connection_statuses for toolkits matching the query — not all connected ones. Connection statuses are also inconsistent between the MCP session and direct HTTP calls.
  • COMPOSIO_MANAGE_CONNECTIONS requires toolkit names upfront — can't list all
  • The session API endpoint /api/v3/tool_router/session/{id}/toolkits lists enabled toolkits (project-level), not connected ones — connected_account is always null
  • Searching each enabled toolkit individually works but takes ~25-45 seconds for ~18 toolkits

Proposed Solution

Add a COMPOSIO_LIST_CONNECTED_TOOLKITS meta-tool that returns all toolkits with active connections for the current session. No input required.

Expected response:

{
  "connected_toolkits": [
    { "toolkit": "telegram", "status": "ACTIVE" },
    { "toolkit": "gmail", "status": "ACTIVE" }
  ]
}

Alternatively, fix the /toolkits session endpoint to populate the connected_account field accurately.

Use Case

Building a CLI tool that auto-discovers Composio tools at connect time. Need to know which toolkits are connected to generate typed wrappers only for services the user has authenticated with.

Additional Context

  • The MCP OAuth session and the user's dashboard session return different connection statuses for the same toolkits
  • COMPOSIO_SEARCH_TOOLS via raw HTTP with the OAuth token returns accurate statuses, but via the MCP connection returns everything as disconnected

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions