Content
<div align="center">
<img src="https://raw.githubusercontent.com/warpdot-dev/composio/next/public/cover.png" alt="Composio · AI agent tools and integrations" width="auto" height="auto" style="margin-bottom: 20px;"/>
# Composio SDK · TypeScript & Python
**Composable tools, integrations, and skills for AI agents** — connect LLM apps to third-party APIs, SaaS products, triggers, and **Model Context Protocol (MCP)** workflows with typed SDKs for **Node.js**, **Python**, **Vercel AI SDK**, **LangChain**, **LangGraph**, **LlamaIndex**, **OpenAI Agents**, **Anthropic**, **Google Gemini**, and more.
[Website](https://composio.dev) · [Documentation](https://docs.composio.dev)
**GitHub (this copy):** [github.com/warpdot-dev/composio](https://github.com/warpdot-dev/composio) • **Upstream mirror reference:** [ComposioHQ/composio](https://github.com/ComposioHQ/composio)
[](https://github.com/warpdot-dev/composio/stargazers)
[](https://pypi.org/project/composio/)
[](https://www.npmjs.com/package/@composio/core)
[](https://discord.gg/composio)
</div>
## What this repository is
This monorepo contains the **Composio SDKs** for building **agentic AI** applications (org-hosted copy: **[warpdot-dev/composio](https://github.com/warpdot-dev/composio)**): fetching **toolkits**, managing **authentication** and **connected accounts**, orchestrating **actions** across apps (email, calendars, ticketing, CRM, dev tools, etc.), and shipping production-ready integrations without hand-writing every REST client.
Use it when you are building **AI agents**, **chatbots**, **automation workflows**, **RAG pipelines**, or **MCP servers** that need reliable, documented access to external systems.
---
## Table of contents
- [Installation (TypeScript)](#typescript-sdk-installation)
- [Installation (Python)](#python-sdk-installation)
- [Quick examples](#quick-examples-openai-agents)
- [OpenAPI specification updates](#openapi-specification)
- [SDK layouts](#available-sdks)
- [Supported AI frameworks & providers](#provider-support-matrix)
- [Published packages](#packages)
- [Rube MCP server](#rube-model-context-protocol)
- [Contributing](#contributing)
- [License & support](#license)
---
## TypeScript SDK installation
```bash
npm install @composio/core
# or: yarn add @composio/core
# or: pnpm add @composio/core
```
Initialize the client (optionally pass `apiKey` from your Composio dashboard):
```typescript
import { Composio } from '@composio/core';
const composio = new Composio({
// apiKey: process.env.COMPOSIO_API_KEY,
});
```
---
## Python SDK installation
Requires **Python 3.10+**.
```bash
pip install composio
# or: poetry add composio
```
```python
from composio import Composio
composio = Composio(
# api_key=os.environ["COMPOSIO_API_KEY"],
)
```
---
## Quick examples (OpenAI Agents)
Minimal **TypeScript / Node**:
```bash
npm install @composio/openai-agents @openai/agents
```
```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 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));
```
Minimal **Python**:
```bash
pip install composio_openai_agents openai-agents
```
```python
import asyncio
from agents import Agent, Runner
from composio import Composio
from composio_openai_agents import OpenAIAgentsProvider
composio = Composio(provider=OpenAIAgentsProvider())
user_id = "user@acme.org"
tools = composio.tools.get(user_id=user_id, toolkits=["HACKERNEWS"])
agent = Agent(
name="Hackernews Agent",
instructions="You are a helpful assistant.",
tools=tools,
)
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())
```
Each language workspace has deeper guides and runnable samples under [`ts/`](./ts) and [`python/`](./python).
---
## OpenAPI specification
Regenerate SDK-facing API specs from Composio’s backend:
```bash
pnpm api:pull
```
This pulls `https://backend.composio.dev/api/v3/openapi.json` and refreshes local OpenAPI-derived docs. Builds typically run this step automatically.
---
## Available SDKs
| SDK | Folder | Highlights |
|-----|--------|------------|
| **TypeScript / JavaScript** | [`ts/`](./ts/README.md) | Type-safe client, browsers and Node.js, modular **provider** packages |
| **Python** | [`python/`](./python/README.md) | Async-friendly APIs, aligns with modern Python tooling |
Links: [TypeScript SDK README](./ts/README.md) · [Python SDK README](./python/README.md)
---
## Provider support matrix
First-class adapters ship for major **LLM providers** and **agent frameworks**:
| Provider / Framework | TypeScript | Python |
|----------------------|:----------:|:------:|
| OpenAI | ✅ | ✅ |
| OpenAI Agents | ✅ | ✅ |
| Anthropic Claude | ✅ | ✅ |
| LangChain | ✅ | ✅ |
| LangGraph | ✅¹ | ✅ |
| LlamaIndex | ✅ | ✅ |
| Vercel AI SDK | ✅ | ❌ |
| Google Gemini | ✅ | ✅ |
| Google ADK | ❌ | ✅ |
| Mastra | ✅ | ❌ |
| Cloudflare Workers AI | ✅ | ❌ |
| CrewAI | ❌ | ✅ |
| AutoGen | ❌ | ✅ |
¹ **LangGraph** on TypeScript is supported via **`@composio/langchain`**.
Missing a stack? Follow the **[custom provider guide](https://docs.composio.dev/sdk/typescript/custom-providers)** to integrate any framework.
---
## Packages
### Core
| Artifact | Registry |
|---------|----------|
| `@composio/core` | [](https://www.npmjs.com/package/@composio/core) |
| `composio` | [](https://pypi.org/project/composio/) |
### Provider packages
| NPM | PyPI equivalents |
|-----|------------------|
| [`@composio/openai`](https://www.npmjs.com/package/@composio/openai) | [`composio-openai`](https://pypi.org/project/composio-openai/) |
| [`@composio/openai-agents`](https://www.npmjs.com/package/@composio/openai-agents) | [`composio-openai-agents`](https://pypi.org/project/composio-openai-agents/) |
| [`@composio/anthropic`](https://www.npmjs.com/package/@composio/anthropic) | [`composio-anthropic`](https://pypi.org/project/composio-anthropic/) |
| [`@composio/langchain`](https://www.npmjs.com/package/@composio/langchain) | [`composio-langchain`](https://pypi.org/project/composio-langchain/) |
| — | [`composio-langgraph`](https://pypi.org/project/composio-langgraph/) |
| [`@composio/llamaindex`](https://www.npmjs.com/package/@composio/llamaindex) | [`composio-llamaindex`](https://pypi.org/project/composio-llamaindex/) |
| [`@composio/vercel`](https://www.npmjs.com/package/@composio/vercel) | — |
| [`@composio/google`](https://www.npmjs.com/package/@composio/google) | [`composio-google`](https://pypi.org/project/composio-google/), [`composio-gemini`](https://pypi.org/project/composio-gemini/), [`composio-google-adk`](https://pypi.org/project/composio-google-adk/) |
| [`@composio/mastra`](https://www.npmjs.com/package/@composio/mastra) | — |
| [`@composio/cloudflare`](https://www.npmjs.com/package/@composio/cloudflare) | — |
| — | [`composio-crewai`](https://pypi.org/project/composio-crewai/), [`composio-autogen`](https://pypi.org/project/composio-autogen/) |
### Utilities (TypeScript)
| Package |
|---------|
| [`@composio/json-schema-to-zod`](https://www.npmjs.com/package/@composio/json-schema-to-zod) |
| [`@composio/ts-builders`](https://www.npmjs.com/package/@composio/ts-builders) |
Looking for legacy SDK revisions? Browse the **`master`** lineage [on GitHub](https://github.com/warpdot-dev/composio/tree/master) (upstream: [ComposioHQ/composio `master`](https://github.com/ComposioHQ/composio/tree/master)).
---
## Rube (Model Context Protocol)
**[Rube](https://rube.app)** is an **MCP server** built with Composio. It exposes hundreds of integrations (email, messaging, calendars, repositories, docs) to **Cursor**, **VS Code**, **Claude Desktop**, **Claude Code**, and other **MCP-compatible** clients — authenticate once, then let your assistant take real actions in connected apps.
---
## Contributing
Contributions are welcome. Please read [CONTRIBUTING.md](https://github.com/ComposioHQ/composio/blob/next/CONTRIBUTING.md) before opening a PR.
---
## License
Distributed under the **MIT License** — see [`LICENSE`](./LICENSE).
### Support & search-friendly keywords for discoverability
- **Topics:** AI agents, autonomous agents, LLM tools, agent toolkits, Composio SDK, MCP, LangChain integrations, LlamaIndex tools, Anthropic Claude tools, OpenAI function calling, SaaS integrations, OAuth for agents, webhook triggers
- **GitHub mirrors:** [`warpdot-dev/composio`](https://github.com/warpdot-dev/composio) ↔ [`ComposioHQ/composio`](https://github.com/ComposioHQ/composio)
- **Issues or questions:** open a GitHub issue, email [`support@composio.dev`](mailto:support@composio.dev), or browse [docs.composio.dev](https://docs.composio.dev/)
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.