Browsing Toolkits

Markdown

Fetching for a session

When using sessions, fetch tools through the session object.

List enabled toolkits

session.toolkits() returns toolkits enabled for your session, sorted by popularity. By default, it returns the top 20. Each toolkit includes its slug, name, logo, and connection status.

session = composio.create(user_id="user_123")

result = session.toolkits()

for toolkit in result.items:
    print(f"{toolkit.name}: connected={toolkit.connection.is_active if toolkit.connection else 'n/a'}")
const session = await composio.create("user_123");

const result = await session.toolkits();

for (const toolkit of result.items) {
  console.log(`${toolkit.name}: connected=${toolkit.connection?.isActive ?? 'n/a'}`);
}

You can filter to only show connected toolkits:

connected = session.toolkits(is_connected=True)  # Only connected
const connected = await session.toolkits({ isConnected: true });  // Only connected

To fetch all toolkits, paginate through the results:

all_toolkits = []
cursor = None

while True:
    result = session.toolkits(limit=20, next_cursor=cursor)
    all_toolkits.extend(result.items)
    cursor = result.next_cursor
    if not cursor:
        break
const allToolkits: any[] = [];
let cursor: string | undefined;

do {
  const { items, cursor: nextCursor } = await session.toolkits({ limit: 20, cursor });
  allToolkits.push(...items);
  cursor = nextCursor;
} while (cursor);

Get meta tools

session.tools() returns the meta tools formatted for your configured provider (OpenAI, Anthropic, etc.):

# Get all meta tools
tools = session.tools()
// Get all meta tools
const tools = await session.tools();

To restrict which toolkits or tools are discoverable by the meta tools, configure them when creating the session.

Browsing the catalog

Before configuring a session, you may want to explore what toolkits and tools are available. Browse visually at platform.composio.dev or in the toolkit catalog.

For code, keep the session-native flow:

  1. Use session.toolkits() to see which toolkits are available and connected for this session.
  2. Use session.tools() to give your agent meta tools.
  3. Let the agent call COMPOSIO_SEARCH_TOOLS and COMPOSIO_GET_TOOL_SCHEMAS when it needs specific tool schemas.
  4. Restrict the session with toolkits or tools when you already know the allowed surface area.

Low-level catalog and direct tool APIs are legacy for new agent builds. Prefer sessions unless you are maintaining an older direct-execution integration.

Get a tool's schema

When your agent needs a schema, it should call COMPOSIO_GET_TOOL_SCHEMAS from the session tools after discovering relevant tool slugs with COMPOSIO_SEARCH_TOOLS. This keeps schema lookup in the same session context as execution and authentication.