Composio

Platforms & APIs 💻 TypeScript ⚖️ MIT 🟢 Actively maintained
30.1k stars

Composio is a platform that provides AI agents with over 1000 pre-authenticated toolkits, per-user sessions, authentication, triggers, and a sandbox. It solves the problem of integrating agents with external apps by offering SDKs and provider adapters for popular frameworks. It is for developers building AI agents that need to take actions across various services.

✨ Key features

  • 1000+ pre-authenticated toolkits for AI agents
  • Per-user sessions with authentication and triggers
  • Sandbox environment for agent actions
  • Provider adapters for OpenAI, Anthropic, LangChain, and more
  • CLI for searching, executing, and scripting tools
  • Hosted MCP endpoint for each session

🎯 Use cases

  • Build a personal assistant that summarizes emails
  • Create agents that manage calendars or send messages
  • Automate workflows across multiple apps
  • Integrate AI agents with custom tools via MCP

📦 Installation

🧰 Requirements: Requires a COMPOSIO_API_KEY from the dashboard. TypeScript SDK tested on Node 22+, Python SDK supports Python 3.10+.

TypeScript

npm install @composio/core @composio/openai-agents @openai/agents

Python

pip install composio composio-openai-agents openai-agents

CLI

curl -fsSL https://composio.dev/install | sh

🚀 Usage

TypeScript

import { Composio } from "@composio/core";
import { OpenAIAgentsProvider } from "@composio/openai-agents";
import { Agent, run } from "@openai/agents";

const composio = new Composio({ provider: new OpenAIAgentsProvider() });

const session = await composio.create("user_123");
const tools = await session.tools();

const agent = new Agent({
  name: "Personal Assistant",
  instructions: "You are a helpful assistant. Use Composio tools to take action.",
  tools,
});

const result = await run(agent, "Summarize my emails from today");
console.log(result.finalOutput);

Python

from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider
from agents import Agent, Runner

composio = Composio(provider=OpenAIAgentsProvider())

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

agent = Agent(
    name="Personal Assistant",
    instructions="You are a helpful assistant. Use Composio tools to take action.",
    tools=tools,
)

result = Runner.run_sync(starting_agent=agent, input="Summarize my emails from today")
print(result.final_output)

⚠️ Good to know

The Pi provider is experimental and ships from @composio/experimental. The TypeScript SDK is tested against Node 22+; the Python SDK supports Python 3.10+.

❓ FAQ

How do I get an API key?

You can grab a COMPOSIO_API_KEY from the dashboard at https://dashboard.composio.dev/settings.

Can I use Composio with MCP?

Yes, every session exposes a hosted MCP endpoint. Pass mcp: true to composio.create() and point any MCP client at session.mcp.url.

What is the difference between @composio/core and @composio/slim?

@composio/core packages its TypeScript source and SDK docs for inspectability, while @composio/slim has the same API but a smaller install without the source and docs.

How do I reuse a session across turns?

Store the session.session_id and reuse it with composio.use() to continue the same session.

📊 Repository

Stars★ 30,065
Forks🍴 4,766
Open issues🐛 86
Last commit🕒 Sep 4, 2026
Created📅 Feb 2024
Language💻 TypeScript
License⚖️ MIT

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.