Composio

Connect AI applications to authenticated tools, user sessions, and runtime tool discovery.

Stars
★ 31k
Last updated
today
License
MIT
Primary language
TypeScript

At a glance

How it runs
Library / SDKCLIMCP server
Works with
Universal · cross-platformClaude Code · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
COMPOSIO_API_KEYNode.js 22+ for the TypeScript SDKPython 3.10+ for the Python SDKShell / CLINetwork accessMCP Server
Typical use
A TypeScript team building an email assistant can create a separate session per end user and provide session.tools() to an OpenAI Agents Agent.
Not a fit if
  • Teams unwilling to sign up for Composio and obtain a COMPOSIO_API_KEY
  • Teams still on runtimes below Node 22 or Python 3.10

What does this agent do, and when should you use it?

Composio is an SDK monorepo containing TypeScript and Python SDKs, a command-line interface, and adapters for several agent frameworks. An application creates a Composio session for each user and passes that session’s tools to its agent. By default, sessions expose meta tools that discover, authenticate, and execute app tools at runtime instead of loading many tool definitions into context. A session can also expose a hosted MCP endpoint for MCP clients. The repository delivers client SDKs and a shell interface; cross-app actions are initiated through Composio sessions configured with a COMPOSIO_API_KEY.

An application initializes new Composio({ provider: new OpenAIAgentsProvider() }), or Python’s Composio(provider=OpenAIAgentsProvider()), then creates a user-scoped session with composio.create("user_123") or composio.create(user_id="user_123"). It calls session.tools() and passes the returned native tools into an agent. The default meta tools discover, authenticate, and execute app tools at runtime. Callers can retain session.session_id and reuse the session across turns with composio.use(). With mcp: true, the session exposes the hosted MCP URL at session.mcp.url. The CLI supplies composio search, composio execute, composio link, and composio run for finding tools, running them, connecting accounts, and scripting TypeScript workflows.

  1. A TypeScript team building an email assistant can create a separate session per end user and provide session.tools() to an OpenAI Agents Agent.
  2. A Python developer building an automation assistant can use composio-openai-agents to give session tools to agents.Agent and execute requests with Runner.run_sync.
  3. An engineer using Claude Code from a local shell can install the CLI, connect accounts with composio link, then search for and execute tools.
  4. A team using an MCP client can enable mcp: true when creating a session and configure session.mcp.url in Claude, Cursor, or another MCP client.
  5. An agent developer trying to limit tool-schema context can use the default meta tools to discover and execute tools at runtime rather than preload a large tool set.

How do you install or deploy this agent?

For TypeScript, first obtain a COMPOSIO_API_KEY from the Composio dashboard, then run npm install @composio/core @composio/openai-agents @openai/agents. For Python, run pip install composio composio-openai-agents openai-agents. For the CLI, run curl -fsSL https://composio.dev/install | bash, followed by composio login. The TypeScript SDK is tested against Node 22+; the Python SDK supports Python 3.10+.

How do you use this agent?

The minimum TypeScript flow is to create const composio = new Composio({ provider: new OpenAIAgentsProvider() }), then const session = await composio.create("user_123") and const tools = await session.tools(). Pass tools to new Agent({ name, instructions, tools }), then invoke it with run(agent, "Summarize my emails from today"). In Python, create Composio, call composio.create(user_id="user_123") and session.tools(), pass the tools to Agent, and run it with Runner.run_sync. For MCP, pass mcp: true to composio.create() and use session.mcp.url.

What are this agent's strengths and limitations?

Pros
  • Offers TypeScript, Python, MCP, and CLI entry points for embedded applications, MCP clients, and shell-based workflows.
  • Its user-scoped sessions and reusable session.session_id are explicit primitives for multi-user agent applications.
  • Default meta tools handle runtime discovery, authentication, and execution, reducing the need to preload many tool definitions.
  • The repository lists adapters for multiple frameworks, including OpenAI, Anthropic, Claude Agent SDK, LangChain, and Vercel AI SDK.
Limitations
  • Adoption requires a COMPOSIO_API_KEY and relies on Composio sessions to obtain tools and hosted MCP endpoints.
  • Each framework requires its matching provider package, and not every provider is available in both TypeScript and Python.
  • The TypeScript SDK is tested on Node 22+ and the Python SDK requires Python 3.10+, which may require runtime upgrades.
  • The supplied material does not document pricing, fine-grained account-authorization controls, or failure and retry behavior.

How does this agent compare with similar options?

For projects already using OpenAI Agents, Anthropic, Claude Agent SDK, Vercel AI SDK, LangChain, LangGraph, or LlamaIndex, the corresponding Composio provider adapts the same session tools to that framework’s native tool format. Projects that do not want a provider adapter can use the documented MCP path instead.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Composio This agent 51 · Major gaps Library / SDKFree + model costs ★ 31k today TypeScript Claude Code · OpenAI API · Claude API
OpenAI Agents SDK 64 · Some gaps Library / SDKFree + model costs ★ 31k today Python OpenAI API
Mirascope 55 · Major gaps Library / SDKFree + model costs ★ 1.5k 1d ago Python Claude API
Honcho Memory Infrastructure 44 · Major gaps Library / SDKFreemium ★ 8k 1d ago Python Claude Code · OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
51/ 100 5-point scale 2.6 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 23 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 11/29
Reliability 8/14
Adaptability 10/18
Convention 12/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust11 / 29 · 1.9/5

Evidence shows explicit least privilege in workflows (contents: read) with release job opting up, which is good practice. But user confirmation mechanism is not clearly implemented, data flow transparency is only partially described (e.g., sessions, auth), sensitive data handling is not detailed, dependency security has lockfiles but no vulnerability scanning mentioned, external effects (like install script) are described but not deeply, rollback mechanism is not explicit, source attribution has copyright notice but publisher unverified.

Reliability8 / 14 · 2.9/5

Self-consistency is good, README, package.json, pyproject.toml corroborate each other, dependency availability has lockfiles and version management, but failure messages are not evident in source, only mentioned in docs.

Adaptability10 / 18 · 2.8/5

Audience is clear (developers), scenarios diverse (multiple frameworks), capability boundaries are described (toolkits, sessions), trigger precision is not explicit, environment fit has Node/Python version requirements.

Convention12 / 18 · 3.3/5

Information architecture is clear (monorepo layout), install notes are detailed, naming is stable (consistent package names), examples are abundant, known limitations are not explicitly listed, license is MIT, versioning has changesets, maintenance responsibility has contribution guidelines.

Effectiveness7 / 13 · 2.7/5

Output usability is high (multiple language SDKs), marginal value is obvious (1000+ tools), cost-benefit is not explicitly stated (e.g., pricing).

Verifiability3 / 8 · 1.9/5

Claim traceability is moderate, some claims are supported by docs, cross-source corroboration is limited, fact-inference separation is not clear.

Risks and how to mitigate them
  • Publisher identity is unverified, be cautious about supply chain risks.
  • No explicit user confirmation mechanism found, tool execution may lack human approval.
  • Sensitive data handling details are insufficient, review authentication and key storage.
  • Dependency security does not mention vulnerability scanning, check dependency versions.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 13cba53b1d1d New commits since this review; the score may not cover them
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/composio.svg)](https://followagents.com/en/agents/composio)
<a href="https://followagents.com/en/agents/composio"><img src="https://followagents.com/badge/composio.svg" alt="FARS review"></a>

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. @composio/[email protected] CLI Beta @composio/[email protected] Pre-release
    Release notes excerpt
    What's Changed * feat(core): rename custom tools options to localTools and localToolkits by @composio-zen[bot] in https://github.com/ComposioHQ/composio/pull/5215 * feat(python): rename custom tools options to local_tools and local_toolkits by @composio-zen[bot] in https://github.com/ComposioHQ/composio/pull/5216 * docs: private custom toolkits need a Pro plan (PLEN-4830) by @singhbharath03 in https://github.com/ComposioHQ/composio/pull/5231 * docs: add French to the Connect Link locale values by @akram-composio in https://github.com/ComposioHQ/composio/pull/4912 …
    View on GitHub ↗

FAQ

What credential is required?
The quickstart requires a COMPOSIO_API_KEY obtained from the Composio dashboard.
Can it avoid putting a large set of tool schemas into context?
Yes. The README states that default sessions use meta tools to discover, authenticate, and execute app tools at runtime.
Can I use it through an MCP client?
Yes. Create the session with mcp: true and use session.mcp.url; the README names Claude, Cursor, and other MCP clients.
Is it limited to OpenAI?
No. The repository lists providers for OpenAI, Anthropic, Claude Agent SDK, Google, LangChain, LlamaIndex, and others, with language availability varying by provider.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents