tools/integrations/composio.md
Managed OAuth and pre-built tool connectors for 500+ apps via a single MCP server. Provides agent-native access to marketing tools that lack native MCP support.
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | REST API for managing connections and triggering actions |
| MCP | ✓ | Single MCP server exposes all connected tools |
| CLI | ✓ | npx composio for managing apps, connections, and actions |
| SDK | ✓ | TypeScript and Python SDKs |
npx @composio/mcp@latest setup to install, then authenticate each tool via Connect Link in browserCOMPOSIO_API_KEY env var for advanced/team usageComposio handles OAuth token management, refresh, and storage for all connected tools. Individual tool auth types are listed in the Marketing Tools table below.
Composio is an alternative integration method, not a replacement. Use this decision guide:
| Scenario | Use |
|---|---|
| Tool has native MCP server (GA4, Stripe, Mailchimp) | Native MCP server |
| Tool has CLI but no MCP (Meta Ads, LinkedIn Ads, HubSpot) | Composio for MCP access |
| OAuth-heavy tool with no CLI (Google Sheets, Slack, Notion) | Composio |
| Need deep, customized integration | Native API + CLI |
| Need quick read/write access across many tools | Composio |
| Tool not covered by Composio | Native API guide |
npx @composio/mcp@latest setup
This adds the Composio MCP server to your Claude Code configuration.
In Claude Code, run /mcp to confirm composio appears in your MCP server list.
When you first use a Composio-backed tool, you'll receive a Connect Link. Open it in your browser to complete OAuth. The connection persists across sessions.
# Example: connect HubSpot
> "Pull my top 10 HubSpot contacts"
# Agent will prompt: "Please authenticate HubSpot: [Connect Link]"
# Click link → authorize → done
For advanced usage or team setups, set your Composio API key:
export COMPOSIO_API_KEY=your_key_here
These tools have API guides in this repo but no native MCP server. Composio adds MCP access:
| Tool | Composio Toolkit | Auth Type | Coverage Depth |
|---|---|---|---|
| HubSpot | HUBSPOT | OAuth 2.0 | Deep (contacts, deals, companies, lists, email) |
| Salesforce | SALESFORCE | OAuth 2.0 | Deep (SOQL, objects, leads, opportunities) |
| Meta Ads | FACEBOOKADS | OAuth 2.0 | Medium (campaigns, ad sets, insights) |
| LinkedIn Ads | LINKEDIN | OAuth 2.0 | Medium (campaigns, analytics, company pages) |
| Google Sheets | GOOGLESHEETS | OAuth 2.0 | Deep (read, write, create, format) |
| Slack | SLACK | OAuth 2.0 | Deep (messages, channels, files) |
| Notion | NOTION | OAuth 2.0 | Deep (pages, databases, blocks) |
| Airtable | AIRTABLE | OAuth 2.0 | Deep (records, tables, views) |
| ActiveCampaign | ACTIVECAMPAIGN | API Key | Medium (contacts, lists, automations) |
| Klaviyo | KLAVIYO | API Key | Medium (profiles, lists, campaigns) |
| Shopify | SHOPIFY | OAuth 2.0 | Deep (products, orders, customers) |
| Gmail | GMAIL | OAuth 2.0 | Deep (read, send, labels, search) |
These tools already have native MCP or CLI in this repo. Composio provides an alternative path:
| Tool | Native Integration | Composio Toolkit | When to Use Composio |
|---|---|---|---|
| Mailchimp | MCP ✓, CLI ✓ | MAILCHIMP | If native MCP setup fails |
| Google Ads | MCP ✓, CLI ✓ | GOOGLEADS | If OAuth is simpler via Composio |
| Stripe | MCP ✓, CLI ✓ | STRIPE | Prefer native (deeper coverage) |
| GA4 | MCP ✓, CLI ✓ | GOOGLEANALYTICS | Prefer native (deeper coverage) |
# Via Composio CLI
npx composio apps list
npx composio connections list
POST https://backend.composio.dev/api/v1/actions/{action_id}/execute
{
"connectedAccountId": "account_xxx",
"input": {
"query": "contact email = [email protected]"
}
}
npx composio connections remove {connection_id}
> "Get my top 20 HubSpot contacts by last activity and add them to a Google Sheet"
Agent uses Composio's HUBSPOT to fetch contacts and GOOGLESHEETS to write rows.
> "Compare my Meta Ads and LinkedIn Ads spend this month"
Agent uses FACEBOOKADS and LINKEDIN toolkits to pull campaign data.
> "Get my Salesforce leads from today and post a summary in Slack #sales"
Agent uses SALESFORCE to read leads and SLACK to post messages.
| Plan | Monthly Price | API Calls | Notes |
|---|---|---|---|
| Free | $0 | 20,000 | Good for exploration and personal use |
| Growth | $29 | 200,000 | For regular use across multiple tools |
| Business | $229 | 2,000,000 | For teams and heavy automation |