Composio exposes tool sessions as Model Context Protocol (MCP) servers. This means any MCP-compatible client — Claude Desktop, Cursor, Windsurf, custom MCP clients, or any agent framework with MCP support — can connect directly to a Composio session and call tools without writing additional integration code. There are two ways to use MCP in Composio:Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ComposioHQ/composio/llms.txt
Use this file to discover all available pages before exploring further.
- Session MCP (
session.mcp): The MCP endpoint for a specific tool router session, scoped to one user. Created bycomposio.create(). - Persistent MCP servers (
composio.mcp): Named, shareable MCP server configurations that can generate per-user URLs. Managed viacomposio.mcp.create(),composio.mcp.list(), etc.
Session MCP
EverySession object returned by composio.create() includes a mcp property with the server details.
session.mcp
Connection type.
'http' for Streamable HTTP (recommended), 'sse' for Server-Sent Events.The MCP server URL for this session. Pass this to any MCP client to connect.
Authentication headers to include with every MCP request. Pass these alongside
url to your MCP client.composio.mcp.create()
Create a persistent, named MCP server configuration that generates per-user URLs.Unique name for this MCP server configuration.
Toolkits to expose via this MCP server. Pass toolkit slugs as strings, or objects with
toolkit and/or authConfigId for more control.Restrict the server to specific tool slugs. If omitted, all tools from the configured toolkits are available.
When
false (default), Composio injects account management tools into the MCP server so agents can request and authenticate user accounts during a session. When true, you must manage connections manually before users connect.MCPConfigCreateResponse
Unique identifier for the MCP server configuration.
Server name.
Tools available on this server.
Auth config IDs associated with this server.
Ready-to-paste client setup commands.
Base MCP server URL (without user scoping).
(userId: string) => Promise<MCPServerInstance> — generate a per-user URL for this server.composio.mcp.generate()
Generate a per-user URL for an existing MCP server configuration.External user identifier. The generated URL is scoped to this user.
MCP server configuration ID from
composio.mcp.create().Override the server-level connection management setting for this URL.
MCPServerInstance
MCP server configuration ID.
Server name.
Connection type.
Per-user MCP server URL. Pass this URL to an MCP client.
The user this URL is scoped to.
Tools available via this URL.
Auth config IDs backing this server instance.
composio.mcp.list()
List MCP server configurations with optional filtering.Page number (1-based). Defaults to
1.Items per page. Defaults to
10.Filter by toolkit slugs.
Filter by auth config IDs.
Filter by server name (partial match).
composio.mcp.get()
Retrieve a specific MCP server configuration by ID.composio.mcp.update()
Update an existing MCP server configuration.New server name.
Updated toolkit configuration. Replaces the entire toolkit list.
Updated tool allowlist.
Updated connection management setting.
composio.mcp.delete()
Delete an MCP server configuration permanently.Examples
- Session MCP with Claude Desktop
- Persistent MCP server
- MCP client in TypeScript
- List and manage servers