mcpField
C
connect

connect

github.com/composiohqProductivity78.2k4.4k installsUpdated 14w ago
Repository

About connect

connect is a Claude skill that lets developers and other Claude users carry out actions in connected apps instead of only drafting instructions. It uses Composio Tool Router to find app tools and handle authorization across integrations such as email, chat, issue tracking, and documents.

Key features

  1. 01Actions across 1000+ app integrations
  2. 02Automatic OAuth authorization
  3. 03Chained actions across apps
  4. 04Python and TypeScript setup
  5. 05Support for any MCP client

Use cases

  1. 01Send email or post a chat message
  2. 02Create issues in GitHub or Jira
  3. 03Update records in connected apps
  4. 04Find issues and share a Slack summary

MCP support

The skill supports any MCP client through `session.mcp.url`, allowing clients to use the Composio session endpoint.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill connect

After installing, type/connectin Claude Code to confirm it loaded.

Details

From the project README

Connect

Connect Claude to any app. Stop generating text about what you could do - actually do it.

When to Use This Skill

Use this skill when you need Claude to:

  • Send that email instead of drafting it
  • Create that issue instead of describing it
  • Post that message instead of suggesting it
  • Update that database instead of explaining how

What Changes

Without ConnectWith Connect
"Here's a draft email..."Sends the email
"You should create an issue..."Creates the issue
"Post this to Slack..."Posts it
"Add this to Notion..."Adds it

Supported Apps

1000+ integrations including:

  • Email: Gmail, Outlook, SendGrid
  • Chat: Slack, Discord, Teams, Telegram
  • Dev: GitHub, GitLab, Jira, Linear
  • Docs: Notion, Google Docs, Confluence
  • Data: Sheets, Airtable, PostgreSQL
  • CRM: HubSpot, Salesforce, Pipedrive
  • Storage: Drive, Dropbox, S3
  • Social: Twitter, LinkedIn, Reddit

Setup

1. Get API Key

Get your free key at platform.composio.dev

2. Set Environment Variable
export COMPOSIO_API_KEY="your-key"
3. Install
pip install composio          # Python
npm install @composio/core    # TypeScript

Done. Claude can now connect to any app.

Examples

Send Email
Email [email protected] - Subject: "Shipped!" Body: "v2.0 is live, let me know if issues"
Create GitHub Issue
Create issue in my-org/repo: "Mobile timeout bug" with label:bug
Post to Slack
Post to #engineering: "Deploy complete - v2.4.0 live"
Chain Actions
Find GitHub issues labeled "bug" from this week, summarize, post to #bugs on Slack

How It Works

Uses Composio Tool Router:

  1. You ask Claude to do something
  2. Tool Router finds the right tool (1000+ options)
  3. OAuth handled automatically
  4. Action executes and returns result
Code
from composio import Composio
from claude_agent_sdk.client import ClaudeSDKClient
from claude_agent_sdk.types import ClaudeAgentOptions
import os

composio = Composio(api_key=os.environ["COMPOSIO_API_KEY"])
session = composio.create(user_id="user_123")

options = ClaudeAgentOptions(
    system_prompt="You can take actions in external apps.",
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": {"x-api-key": os.environ["COMPOSIO_API_KEY"]},
        }
    },
)

async with ClaudeSDKClient(options) as client:
    await client.query("Send Slack message to #general: Hello!")

Auth Flow

First time using an app:

To send emails, I need Gmail access.
Authorize here: https://...
Say "connected" when done.

Connection persists after that.

Framework Support

FrameworkInstall
Claude Agent SDKpip install composio claude-agent-sdk
OpenAI Agentspip install composio openai-agents
Vercel AInpm install @composio/core @composio/vercel
LangChainpip install composio-langchain
Any MCP ClientUse session.mcp.url

Troubleshooting

  • Auth required → Click link, authorize, say "connected"
  • Action failed → Check permissions in target app
  • Tool not found → Be specific: "Slack #general" not "send message"

Join 20,000+ developers building agents that ship

Get Started

Comments

Markdown supported