back to home

ComposioHQ / composio

Composio powers 1000+ toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.

27,111 stars
4,445 forks
45 issues
TypeScriptPythonShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing ComposioHQ/composio in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/ComposioHQ/composio)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<div align="center"> <img src="https://raw.githubusercontent.com/ComposioHQ/composio/next/public/cover.png" alt="Composio Logo" width="auto" height="auto" style="margin-bottom: 20px;"/>

Composio SDK

Skills that evolve for your Agents

🌐 Website β€’ πŸ“š Documentation

GitHub Stars PyPI Downloads NPM Downloads Discord

</div>

This repository contains the official Software Development Kits (SDKs) for Composio, providing seamless integration capabilities for Python and Typescript Agentic Frameworks and Libraries.

Getting Started

TypeScript SDK Installation

# Using npm
npm install @composio/core

# Using yarn
yarn add @composio/core

# Using pnpm
pnpm add @composio/core

Quick start:

import { Composio } from '@composio/core';
// Initialize the SDK
const composio = new Composio({
  // apiKey: 'your-api-key',
});

Simple Agent with OpenAI Agents

npm install @composio/openai-agents @openai/agents
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 userId = 'user@acme.org';

const tools = await composio.tools.get(userId, {
  toolkits: ['HACKERNEWS'],
});

const agent = new Agent({
  name: 'Hackernews assistant',
  tools: tools,
});

const result = await run(agent, 'What is the latest hackernews post about?');

console.log(JSON.stringify(result.finalOutput, null, 2));
// will return the response from the agent with data from HACKERNEWS API.

Python SDK Installation

# Using pip
pip install composio

# Using poetry
poetry add composio

Quick start:

from composio import Composio

composio = Composio(
  # api_key="your-api-key",
)

Simple Agent with OpenAI Agents

pip install composio_openai_agents openai-agents
import asyncio
from agents import Agent, Runner
from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider

# Initialize Composio client with OpenAI Agents Provider
composio = Composio(provider=OpenAIAgentsProvider())

user_id = "user@acme.org"
tools = composio.tools.get(user_id=user_id, toolkits=["HACKERNEWS"])

# Create an agent with the tools
agent = Agent(
    name="Hackernews Agent",
    instructions="You are a helpful assistant.",
    tools=tools,
)

# Run the agent
async def main():
    result = await Runner.run(
        starting_agent=agent,
        input="What's the latest Hackernews post about?",
    )
    print(result.final_output)

asyncio.run(main())
# will return the response from the agent with data from HACKERNEWS API.

For more detailed usage instructions and examples, please refer to each SDK's specific documentation.

Open API Specification

To update the OpenAPI specifications used for generating SDK documentation:

# Pull the latest API specifications from the backend
pnpm api:pull

This command pulls the OpenAPI specification from https://backend.composio.dev/api/v3/openapi.json and updates the local API documentation files.

This is pulled automatically with build step.

Available SDKs

TypeScript SDK (/ts)

The TypeScript SDK provides a modern, type-safe way to interact with Composio's services. It's designed for both Node.js and browser environments, offering full TypeScript support with comprehensive type definitions.

For detailed information about the TypeScript SDK, please refer to the TypeScript SDK Documentation.

Python SDK (/python)

The Python SDK offers a Pythonic interface to Composio's services, making it easy to integrate Composio into your Python applications. It supports Python 3.10+ and follows modern Python development practices.

For detailed information about the Python SDK, please refer to the Python SDK Documentation.

Provider Support

The following table shows which AI frameworks and platforms are supported in each SDK:

ProviderTypeScriptPython
OpenAIβœ…βœ…
OpenAI Agentsβœ…βœ…
Anthropicβœ…βœ…
LangChainβœ…βœ…
LangGraphβœ…*βœ…
LlamaIndexβœ…βœ…
Vercel AI SDKβœ…βŒ
Google Geminiβœ…βœ…
Google ADKβŒβœ…
Mastraβœ…βŒ
Cloudflare Workers AIβœ…βŒ
CrewAIβŒβœ…
AutoGenβŒβœ…

* LangGraph in TypeScript is supported via the @composio/langchain package.

Don't see your provider? Learn how to build a custom provider to integrate with any AI framework.

Packages

Core Packages

PackageVersion
TypeScript
@composio/corenpm version
Python
composioPyPI version

Provider Packages

PackageVersion
TypeScript
@composio/openainpm version
@composio/openai-agentsnpm version
@composio/anthropicnpm version
@composio/langchainnpm version
@composio/llamaindexnpm version
@composio/vercelnpm version
@composio/googlenpm version
@composio/mastranpm version
@composio/cloudflarenpm version
Python
composio-openaiPyPI version
composio-openai-agentsPyPI version
composio-anthropicPyPI version
composio-langchainPyPI version
composio-langgraphPyPI version
composio-llamaindexPyPI version
composio-crewaiPyPI version
composio-autogenPyPI version
composio-geminiPyPI version
composio-googlePyPI version
composio-google-adkPyPI version

Utility Packages

PackageVersion
@composio/json-schema-to-zodnpm version
@composio/ts-buildersnpm version

if you are looking for the older sdk, you can find them here

Rube

Rube is a Model Context Protocol (MCP) server built with Composio. It connects your AI tools to 500+ apps like Gmail, Slack, GitHub, and Notion. Simply install it in your AI client, authenticate once with your apps, and start asking your AI to perform real actions like "Send an email" or "Create a task."

It integrates with major AI clients like Cursor, Claude Desktop, VS Code, Claude Code and any custom MCP‑compatible client. You can switch between these clients and your integrations follow you.

Contributing

We welcome contributions to both SDKs! Please read our contribution guidelines before submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions about the SDKs: