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
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_TOOLSrequires queries and only returnstoolkit_connection_statusesfor toolkits matching the query — not all connected ones. Connection statuses are also inconsistent between the MCP session and direct HTTP calls.COMPOSIO_MANAGE_CONNECTIONSrequires toolkit names upfront — can't list all/api/v3/tool_router/session/{id}/toolkitslists enabled toolkits (project-level), not connected ones —connected_accountis always nullProposed Solution
Add a
COMPOSIO_LIST_CONNECTED_TOOLKITSmeta-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
/toolkitssession endpoint to populate theconnected_accountfield 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
COMPOSIO_SEARCH_TOOLSvia raw HTTP with the OAuth token returns accurate statuses, but via the MCP connection returns everything as disconnected