← All articles

Rube MCP Server: Complete Setup Guide & 500+ App Integrations

July 6, 2026·22 min read·MCPForge

What Rube Actually Is (And Why It Matters)

Rube is a managed MCP server built by Composio that gives any MCP-compatible AI client — Claude Desktop, Claude Code, Cursor, ChatGPT, or your own agent - instant access to 500+ external applications through a single, standardized endpoint. You get GitHub, Slack, Gmail, Notion, Salesforce, Jira, Linear, HubSpot, and hundreds more without writing a single line of integration code.

The core insight is simple: building individual MCP servers for each app you want to connect is enormously tedious. OAuth flows, credential storage, API versioning, rate limit handling, schema normalization — it adds up fast. Rube abstracts all of that into a single MCP endpoint you configure once.

This guide covers everything from initial setup to production deployment, including authentication, tool scoping, multi-client configuration, and the honest trade-offs between using Rube versus building your own MCP server.

What this also means in practice is that when Composio updates an integration — say, GitHub releases a new API version, or Slack changes its OAuth scope requirements - Rube handles it without you touching your configuration. Your MCP client keeps working while the underlying integration layer updates silently beneath it. For teams running multiple AI clients across different environments, that kind of maintenance-free reliability compounds quickly. Instead of owning five broken integrations, you own one endpoint that stays current.


How Rube Works Under the Hood

Rube is built on top of Composio's integration platform, which has been normalizing third-party API interactions for AI agents since before MCP existed. Composio's layer handles authentication, translates your tool calls into the correct vendor API format, manages retries and error normalization, and returns a clean, structured response that the AI can act on. The MCP protocol is essentially the outer shell — Composio's integration engine is what does the heavy lifting underneath. When you point an MCP client at Rube's endpoint, here's what happens:

┌─────────────────────────────────────────────────────────────┐
│                     Your AI Client                          │
│         (Claude Desktop / Cursor / Claude Code)             │
└──────────────────────┬──────────────────────────────────────┘
                       │  MCP Protocol (JSON-RPC 2.0)
                       │  Transport: stdio or SSE
                       ▼
┌─────────────────────────────────────────────────────────────┐
│                   Rube MCP Server                           │
│              (Composio-managed endpoint)                    │
│                                                             │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────┐  │
│  │ Tool Registry│  │ Auth Manager │  │ Schema Normalizer │  │
│  │ (500+ tools) │  │ (OAuth/API   │  │ (unified tool     │  │
│  │              │  │  keys/JWT)   │  │  definitions)     │  │
│  └──────────────┘  └──────────────┘  └──────────────────┘  │
└──────────────────────┬──────────────────────────────────────┘
                       │  Authenticated REST/GraphQL calls
                       ▼
┌─────────────┐  ┌───────────┐  ┌──────────┐  ┌───────────┐
│   GitHub    │  │   Slack   │  │  Notion  │  │  500+ more│
│    API      │  │    API    │  │   API    │  │   APIs    │
└─────────────┘  └───────────┘  └──────────┘  └───────────┘

When your AI client calls a tool like GITHUB_CREATE_ISSUE, Rube:

  1. Validates the tool call schema against its registry
  2. Retrieves the stored OAuth token for your connected GitHub account
  3. Translates the MCP tool arguments into the correct GitHub REST API payload
  4. Executes the API call and normalizes the response
  5. Returns the result as a standard MCP tool response

The transport layer depends on your client. Claude Desktop uses stdio via npx, while Claude Code and most programmatic clients use SSE over HTTPS.


Prerequisites

Before you start, you need:

  • Node.js 18+ (for npx-based stdio transport)
  • A Composio account — sign up free at composio.dev
  • Your Composio API keyfound in the dashboard under Settings → API Keys
  • The AI client(s) you want to configure — Claude Desktop, Cursor, or Claude Code

That's genuinely it. No Docker, no local servers to run, no persistent process to manage for most use cases.


Getting Your Composio API Key and Connecting Apps

Step 1: Create Your Composio Account

Go to app.composio.dev and sign up. The free tier gives you enough to evaluate Rube thoroughly.

Step 2: Get Your API Key

Navigate to Settings → API Keys in the Composio dashboard. Copy your key — you'll use it in every MCP configuration.

Step 3: Connect Your First App

This is the critical step most guides skim over. Before Rube can do anything useful, you need to authorize the apps you want to use.

In the Composio dashboard, go to Apps and search for the app you want to connect — say, GitHub. Click Connect and complete the OAuth flow. Composio will store the tokens and associate them with your account.

You can also connect apps via CLI:

bash
npx @composio-dev/mcp connect github

This opens a browser window for the OAuth flow and stores credentials automatically.

Do this for every app before expecting Rube to work with it. A common mistake is configuring the MCP endpoint and then wondering why GitHub tools aren't working — the connection just hasn't been authorized yet.


Claude Desktop Integration

Claude Desktop uses the stdio transport, meaning it spawns a child process and communicates over stdin/stdout. Rube works here via npx.

Configuration

Open your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the Rube server:

json
{
  "mcpServers": {
    "rube": {
      "command": "npx",
      "args": [
        "-y",
        "@composio-dev/mcp@latest",
        "start",
        "--client=claude"
      ],
      "env": {
        "COMPOSIO_API_KEY": "your_composio_api_key_here"
      }
    }
  }
}

Restart Claude Desktop. Open a new conversation and you should see the Rube tools available in the tools panel.

Scoping Tools by App

By default, Rube exposes tools for all your connected apps. This can overwhelm the context window with tool definitions. Scope it to specific apps:

json
{
  "mcpServers": {
    "rube": {
      "command": "npx",
      "args": [
        "-y",
        "@composio-dev/mcp@latest",
        "start",
        "--client=claude",
        "--apps=github,slack,notion"
      ],
      "env": {
        "COMPOSIO_API_KEY": "your_composio_api_key_here"
      }
    }
  }
}

This is not just a performance optimization — it's a security practice. If Claude only needs GitHub and Slack for a workflow, don't expose your Salesforce or HubSpot tools unnecessarily.

Multiple Rube Configurations

You can run multiple Rube instances with different scopes:

json
{
  "mcpServers": {
    "rube-dev": {
      "command": "npx",
      "args": ["-y", "@composio-dev/mcp@latest", "start", "--client=claude", "--apps=github,linear,jira"],
      "env": { "COMPOSIO_API_KEY": "your_key" }
    },
    "rube-comms": {
      "command": "npx",
      "args": ["-y", "@composio-dev/mcp@latest", "start", "--client=claude", "--apps=slack,gmail,notion"],
      "env": { "COMPOSIO_API_KEY": "your_key" }
    }
  }
}

This keeps tool namespaces clean and makes it easier to reason about what capabilities are available in different contexts.


Cursor Integration

Cursor supports MCP servers through its settings. As of recent Cursor versions, you configure MCP under Settings → Features → MCP Servers.

Method 1: Project-level Configuration

Create a .cursor/mcp.json file at your project root:

json
{
  "mcpServers": {
    "rube": {
      "command": "npx",
      "args": [
        "-y",
        "@composio-dev/mcp@latest",
        "start",
        "--client=cursor"
      ],
      "env": {
        "COMPOSIO_API_KEY": "your_composio_api_key_here"
      }
    }
  }
}

Commit this file if your whole team uses Rube. Use environment variable substitution instead of hardcoding keys — Cursor reads from your shell environment, so COMPOSIO_API_KEY can live in your .env or shell profile.

Method 2: Global Configuration

For a global setup that applies across all projects:

json
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "rube": {
      "command": "npx",
      "args": ["-y", "@composio-dev/mcp@latest", "start", "--client=cursor"],
      "env": {
        "COMPOSIO_API_KEY": "your_composio_api_key_here"
      }
    }
  }
}

Cursor-Specific Behavior

Cursor uses Rube for agentic coding workflows. Practical examples include:

  • Automatically creating GitHub issues from inline comments
  • Searching Linear for existing tickets before implementing a feature
  • Posting Slack messages with implementation summaries
  • Reading Notion docs to understand project context before generating code

The Cursor composer agent will call these tools automatically when it determines they're relevant. You can also invoke them explicitly: "Create a Linear ticket for the bug we just fixed in the authentication module."


Claude Code Integration

Claude Code (Anthropic's CLI agent) supports MCP servers via the claude mcp add command.

Adding Rube to Claude Code

bash
claude mcp add rube \
  --transport stdio \
  -- npx -y @composio-dev/mcp@latest start --client=claude-code

Or set it in your Claude Code config directly:

bash
claude mcp add rube \
  --env COMPOSIO_API_KEY=your_key \
  -- npx -y @composio-dev/mcp@latest start --client=claude-code --apps=github,linear

Verify it registered correctly:

bash
claude mcp list

Using Rube in Claude Code Sessions

Once connected, Claude Code can use Rube tools mid-session:

bash
claude
> Look at the open GitHub issues in my repo and create a Linear ticket for any issue 
  tagged 'bug' that doesn't already have one

Claude Code will orchestrate the GITHUB_LIST_ISSUES and LINEAR_CREATE_ISSUE tool calls automatically.


ChatGPT Integration (via GPT Actions or Custom Agents)

ChatGPT doesn't natively support the MCP protocol, but Composio provides an OpenAPI spec for Rube that you can import as a Custom GPT Action or use with the Assistants API.

For MCP-native ChatGPT integration, OpenAI is actively working on MCP support. As of early 2025, the most reliable path is using Composio's REST API directly in GPT Actions:

yaml
# In your Custom GPT Action configuration
openapi: 3.0.0
info:
  title: Composio Rube Actions
  version: 1.0.0
servers:
  - url: https://backend.composio.dev/api/v1
paths:
  /actions/execute:
    post:
      operationId: executeAction
      summary: Execute a Composio action
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actionName:
                  type: string
                input:
                  type: object
      security:
        - apiKey: []

When native MCP support lands in ChatGPT, the SSE-based Rube endpoint will work directly.


Authentication Deep Dive

Understanding how Rube handles auth is critical for production use.

OAuth Apps (GitHub, Slack, Notion, etc.)

When you connect an OAuth app through Composio:

  1. Composio initiates the standard OAuth 2.0 authorization code flow
  2. After you authorize, Composio receives and encrypts the access + refresh tokens
  3. Tokens are stored in Composio's vault, associated with your API key
  4. On every tool call, Rube retrieves the token, checks expiry, refreshes if needed, and injects it into the API request
  5. You never see the underlying token

This means token rotation is fully managed. You won't hit expired token errors at 3am because your refresh logic had a bug.

API Key Apps (many others)

For apps that use API keys rather than OAuth:

bash
# Connect via CLI with an API key
npx @composio-dev/mcp connect serpapi --api-key your_serpapi_key

Or through the dashboard under the app's connection settings.

Per-User Authentication (Multi-Tenant Scenarios)

If you're building a product where multiple end users each have their own connected apps, Composio supports entity_id to namespace connections per user:

bash
npx @composio-dev/mcp start --entity-id=user_12345

This tells Rube to use the connections associated with user_12345 rather than your default account. This is how you'd build a product where each customer connects their own GitHub account, for example.

Environment Variable Best Practices

Never hardcode your Composio API key in config files that get committed to version control:

bash
# .env (add to .gitignore)
COMPOSIO_API_KEY=sk_composio_xxxxxxxxxxxx
json
// claude_desktop_config.json — reads from env
{
  "mcpServers": {
    "rube": {
      "command": "npx",
      "args": ["-y", "@composio-dev/mcp@latest", "start"],
      "env": {
        "COMPOSIO_API_KEY": "${COMPOSIO_API_KEY}"
      }
    }
  }
}

Note: Claude Desktop's variable interpolation support varies by version. When in doubt, set the key directly in the config and ensure the file has restricted permissions (chmod 600).


Supported Applications: What You're Actually Getting

Here's a representative sample of what 500+ integrations looks like in practice, organized by category:

CategoryApps Available
Developer ToolsGitHub, GitLab, Bitbucket, Linear, Jira, Asana, Sentry, PagerDuty, Vercel, Heroku
CommunicationSlack, Gmail, Outlook, Discord, Zoom, Teams, Telegram
ProductivityNotion, Confluence, Google Docs, Google Sheets, Airtable, Coda
CRM / SalesSalesforce, HubSpot, Pipedrive, Zoho CRM
Data / AnalyticsBigQuery, Snowflake, Google Analytics, Mixpanel
File StorageGoogle Drive, Dropbox, OneDrive, Box, S3
E-commerceShopify, WooCommerce, Stripe
MarketingMailchimp, SendGrid, Intercom, Zendesk
HR / FinanceGusto, QuickBooks, Xero, BambooHR
Search / AISerpAPI, Perplexity, Tavily, Wikipedia

The full list is at composio.dev/toolkits. Not all tools within each app are implemented equally — some integrations are comprehensive (GitHub has 50+ actions) while others are more limited. Check the specific action list for any app before committing to it for a critical workflow.


AI Agent Workflows: Real Examples

Workflow 1: Automated Engineering Standup

Prompt: "Review my GitHub PRs opened in the last 24 hours, check their Linear tickets for context, 
and post a standup summary to the #engineering Slack channel."

Rube tools called:
1. GITHUB_LIST_PULL_REQUESTS (filter: created last 24h, author: me)
2. LINEAR_GET_ISSUE (for each PR's linked ticket)
3. SLACK_SEND_MESSAGE (channel: #engineering, formatted summary)

Workflow 2: Customer Feedback Triage

Prompt: "Check Intercom for new conversations tagged 'bug', create a GitHub issue for each 
one that doesn't have one yet, and notify the team in Slack."

Rube tools called:
1. INTERCOM_LIST_CONVERSATIONS (filter: tag=bug, status=open)
2. GITHUB_SEARCH_ISSUES (deduplicate against existing)
3. GITHUB_CREATE_ISSUE (for new bugs)
4. SLACK_SEND_MESSAGE (summary with links)

Workflow 3: Sales Intelligence Enrichment

Prompt: "For the new HubSpot contacts added today, find their LinkedIn company info, 
check if their company is in our Notion CRM notes, and update the HubSpot record 
with a lead score."

Rube tools called:
1. HUBSPOT_LIST_CONTACTS (filter: created today)
2. SERP_SEARCH (LinkedIn company lookups)
3. NOTION_SEARCH (check existing notes)
4. HUBSPOT_UPDATE_CONTACT (add lead score property)

Workflow 4: Automated Incident Response

Prompt: "A PagerDuty alert just fired for high error rate. Acknowledge the alert, 
create a Jira incident ticket, pull the last 50 Sentry errors for context, 
and post an incident thread in Slack."

Rube tools called:
1. PAGERDUTY_ACKNOWLEDGE_ALERT
2. JIRA_CREATE_ISSUE (type: incident)
3. SENTRY_LIST_ISSUES (filter: last hour)
4. SLACK_CREATE_CHANNEL / SLACK_SEND_MESSAGE (incident thread)

These aren't hypothetical — these are patterns teams are running with Rube today. The value compounds as you connect more apps.


Rube vs. Custom MCP Servers: When to Use Each

This is the question developers ask most often. The answer depends on what you're building.

FactorRube (Composio)Custom MCP Server
Setup timeMinutesDays to weeks
Maintenance burdenNear zeroYou own it
App coverage500+ out of the boxOnly what you build
Auth managementFully managedYou implement
Proprietary dataNot supportedFull support
Custom business logicLimitedUnlimited
Data residencyComposio's infraYour infra
LatencyExtra network hopDepends on impl
Cost at scaleComposio pricingInfrastructure cost
Protocol complianceComposio-managedYou control
Tool customizationLimitedComplete

Use Rube when:

  • You need standard integrations with well-known SaaS apps
  • Your team doesn't have bandwidth to build and maintain MCP servers
  • You're prototyping agent workflows and need to move fast
  • The apps you need are in Composio's catalog
  • Authentication complexity (OAuth, token refresh) would slow you down

Build a Custom MCP Server when:

  • You need to expose proprietary internal APIs or databases
  • You have strict data residency requirements
  • You need deeply custom tool definitions with complex business logic
  • Rube doesn't support the specific app or the specific actions within an app you need
  • You need sub-100ms tool response times and can't afford the Composio network hop
  • You're building a product where you control the MCP server as part of your offering

The Hybrid Approach (Common in Production)

Many production deployments use both:

json
{
  "mcpServers": {
    "rube": {
      "command": "npx",
      "args": ["-y", "@composio-dev/mcp@latest", "start", "--apps=github,slack,notion"],
      "env": { "COMPOSIO_API_KEY": "your_key" }
    },
    "internal-api": {
      "command": "node",
      "args": ["/path/to/your/custom-mcp-server/index.js"],
      "env": { "DB_URL": "postgres://...", "INTERNAL_API_KEY": "..." }
    }
  }
}

Rube handles everything in its catalog. Your custom server handles internal APIs, proprietary databases, and custom workflows. This is arguably the most pragmatic production architecture.


Security Considerations

Before deploying Rube in any team or production context, work through these:

1. Principle of Least Privilege for Tools

Don't connect every app by default. Only connect apps your agent workflow actually uses. The --apps flag exists for this reason. If your Claude Desktop session is for code review workflows, it doesn't need Salesforce access.

2. API Key Scope in Composio

Composio API keys are account-level by default. If you're building a team setup, consider whether everyone should use a shared key or individual keys. Individual keys give you better audit trails.

3. What Composio Sees

All tool call payloads route through Composio's infrastructure. This means:

  • The content of your Slack messages goes through Composio when Rube posts them
  • GitHub issue bodies, Notion page content, email content — all of it
  • Review Composio's privacy policy and data processing agreements before using it with sensitive business data

4. OAuth Token Security

Composio encrypts stored tokens at rest, but the security of your Composio account becomes the security of all your connected app accounts. Enable 2FA on your Composio account. Treat your Composio API key with the same care as any other master credential.

5. Tool Call Confirmation

For destructive operations (deleting records, sending emails, posting messages), consider using Claude's built-in confirmation flows or designing prompts that ask Claude to confirm before executing irreversible actions.

6. Rate Limits on Both Sides

Rube has its own rate limits. The third-party APIs have their own rate limits. An aggressive agent loop can exhaust either. Build retry logic and delays into any automated agent workflow, and test at realistic volumes before deploying.


Common Mistakes and How to Fix Them

Mistake 1: Apps Not Connected Before Configuring MCP

Symptom: Rube starts but GITHUB_* tools return authentication errors or don't appear.

Cause: You configured the MCP client before completing the OAuth flow in the Composio dashboard.

Fix: Go to app.composio.dev, navigate to Apps, and complete the connection for each app. Restart your MCP client.

Mistake 2: API Key in Version-Controlled Config Files

Symptom: Composio API key committed to GitHub, unexpected usage charges or security alerts.

Cause: Hardcoding COMPOSIO_API_KEY directly in .cursor/mcp.json or claude_desktop_config.json files that are tracked by git.

Fix: Use environment variable references, .env files excluded from git, or a secrets manager. Rotate the exposed key immediately.

Mistake 3: Too Many Tools in Context

Symptom: Claude Desktop slows down, responses are slower, tool selection becomes unreliable.

Cause: Loading all 500+ tools into the context simultaneously. Each tool definition consumes tokens.

Fix: Use --apps=app1,app2,app3 to scope to only the apps needed. Or run multiple focused Rube instances.

Mistake 4: npx Version Caching

Symptom: Using @composio-dev/mcp@latest but not getting recent updates.

Cause: npx caches packages locally and may not fetch the latest version on every run.

Fix: Periodically clear the npx cache: npx clear-npx-cache or pin to a specific version and update intentionally: @composio-dev/mcp@0.3.x.

Mistake 5: Assuming All Actions Work Equally Well

Symptom: Some Rube tool calls return incomplete data or errors.

Cause: Not all 500+ app integrations are equally mature. Some have full action coverage, others have limited or incomplete implementations.

Fix: Test every action your workflow depends on before going live. Check the Composio dashboard for action-level documentation and known issues.

Mistake 6: Not Handling Tool Errors in Agent Prompts

Symptom: Agent fails silently or loops when a Rube tool call fails.

Cause: Prompts don't instruct the model on how to handle tool failures.

Fix: Include error handling instructions in your system prompt:

If a tool call fails, report the error clearly and ask the user how to proceed 
rather than retrying automatically.

Troubleshooting

Rube Doesn't Appear in Claude Desktop

  1. Check claude_desktop_config.json for JSON syntax errors — a single misplaced comma breaks the entire config
  2. Verify Node.js is installed and accessible: node --version
  3. Run the command manually to see errors: npx -y @composio-dev/mcp@latest start --client=claude
  4. Check Claude Desktop logs: macOS at ~/Library/Logs/Claude/

Tool Calls Return 401 Unauthorized

  1. Verify COMPOSIO_API_KEY is set correctly in the env block
  2. Confirm the app is connected in the Composio dashboard
  3. Check if the OAuth token expired — reconnect the app in the dashboard
  4. Verify you're not hitting Composio free tier limits

npx Fails to Install the Package

bash
# Test manually
npx -y @composio-dev/mcp@latest --help

# Check npm registry access
npm ping

# Try with explicit node path if PATH issues
/usr/local/bin/npx -y @composio-dev/mcp@latest start

Slow Tool Responses

Rube adds latency: your MCP client → Composio servers → third-party API → back. Typical overhead is 200ms–1s depending on the third-party API. If you're seeing 5+ second responses:

  1. Check the third-party API status page
  2. Check Composio status at status.composio.dev
  3. Check if you're hitting rate limits (look for 429 responses in logs)

Cursor Doesn't Pick Up New Apps

Cursor sometimes caches MCP tool lists. After connecting a new app in Composio:

  1. Close and reopen Cursor
  2. Or reload the MCP connection: Cursor → Settings → MCP Servers → Reconnect

Performance Optimization

Tool Scoping Is the Biggest Win

Every tool definition exposed by Rube consumes tokens in the AI's context window. Fewer tools = more context for your actual content = better model performance = lower cost.

Benchmark roughly: each tool definition costs ~100–300 tokens. 500 tools = 50,000–150,000 tokens consumed before you've said a word to the model. Scope aggressively.

Pin Package Versions

Using @latest means every npx invocation might download a new version. Pin to a specific version for consistency:

json
"args": ["-y", "@composio-dev/mcp@0.3.4", "start", "--client=claude"]

Update versions deliberately after testing.

Pre-install the Package

For faster startup, pre-install globally rather than relying on npx:

bash
npm install -g @composio-dev/mcp

Then reference it directly:

json
{
  "command": "mcp",
  "args": ["start", "--client=claude", "--apps=github,slack"]
}

Caching for Repeated Workflows

For agent workflows that repeatedly query the same data (e.g., listing GitHub repos at the start of every session), consider whether you can fetch this data once and inject it into the system prompt rather than calling the tool on every session.


Production Deployment

Running Rube for personal productivity is different from running it as part of a production AI agent system. Here's what changes:

Use a Stable API Key

Create a dedicated API key for production in the Composio dashboard. Don't use your personal/dev key in production. This allows you to rotate keys independently and track usage separately.

Monitor Tool Call Success Rates

Instrument your agent framework to log Rube tool call outcomes. Track:

  • Success rate per tool
  • Response time per tool
  • Error types (401, 429, 500, etc.)

Set alerts for sustained error rates above 5%.

Handle Composio Outages Gracefully

Composio's infrastructure can have downtime. Design your agent workflows to degrade gracefully:

  • Surface errors to users rather than silently failing
  • Consider fallback behavior for critical paths
  • Subscribe to Composio's status page for incident notifications

Rate Limit Strategy

For high-volume production systems:

  1. Understand Composio's rate limits for your plan
  2. Understand the underlying third-party API rate limits (GitHub: 5,000 req/hr, Slack: varies by endpoint)
  3. Implement exponential backoff in your agent orchestration layer
  4. Consider queuing tool calls for non-urgent workflows

Entity IDs for Multi-Tenant Systems

If you're building a product where multiple users each have their own connected apps:

python
# In your agent orchestration layer
composio_client.set_entity_id(f"user_{current_user.id}")

This ensures each user's OAuth connections are isolated. Don't share connections across users.

For more on running MCP servers reliably in production environments, see the MCPForge production deployment guide.


Verifying Rube's MCP Compliance

Before deploying Rube in a production agent stack, it's worth verifying its MCP protocol compliance independently. The MCP spec has evolved, and client compatibility matters.

The MCPForge Verify tool lets you point it at any MCP server endpoint and validate that it correctly implements the protocol — including tool discovery, schema validation, error handling, and transport behavior. This is especially useful if you're building automation on top of Rube and need to confirm the tool schemas match what you expect.

You can also browse MCPForge's verified MCP server directory for alternative or complementary MCP servers — useful when you've hit the limits of what Rube covers and are evaluating custom server options.


Productivity and Business Automation Patterns

Pattern 1: The Daily Briefing Agent

A scheduled Claude invocation every morning:

System: You are a personal assistant. Retrieve and summarize:
- GitHub: any PRs awaiting my review
- Linear: my assigned tickets updated in the last 24h
- Gmail: unread emails marked important
- Slack: any messages mentioning me in #engineering since yesterday

Format as a concise morning briefing.

Configure this with a cron job using claude --mcp-server rube (Claude Code CLI) or any agent framework that supports MCP.

Pattern 2: The Code-to-Ticket Pipeline

When Claude Code is fixing a bug:

After implementing any bug fix, automatically:
1. Create a GitHub commit with a descriptive message
2. Create a Linear ticket documenting what was fixed and why
3. Link the commit to the Linear ticket

Pattern 3: The Customer Success Loop

Daily: Query Intercom for conversations > 24h with no response.
For each: Check if the customer is in HubSpot and their account tier.
If enterprise: Create a Jira ticket and ping the CS manager on Slack.
If standard: Draft a reply and queue it in Intercom.

Pattern 4: Documentation Sync

Whenever a GitHub PR is merged to main:
Search Notion for documentation pages related to the changed files.
Summarize what changed and what docs might be outdated.
Create a Notion task for the docs team.

These patterns aren't demos — they're running in production at engineering teams today. The key is designing the orchestration logic around Rube's tool availability and the rate limits of the underlying APIs.


Current Status of Rube

Rube has been discontinued as a standalone product.

However, its functionality continues through Composio's MCP platform and related tools. If you're starting a new project today, consider the current Composio offering while understanding how Rube influenced the MCP ecosystem.


Recent Ecosystem Developments

A few developments worth knowing about as of early 2025:

Composio's MCP support has matured significantly. Earlier versions had inconsistent tool schemas and unreliable SSE connections. Recent releases have improved schema stability and added better error messages when tools fail, making debugging agent workflows substantially easier.

The --apps scoping flag was added relatively recently. Older guides that don't mention it are likely outdated — load all tools was the only option before, which caused real context window problems.

Entity-level connections (the --entity-id flag) are now stable for multi-tenant use cases, enabling Rube to be used as the integration layer in SaaS products rather than just personal tooling.

OpenAI's MCP support is in active development. When it ships, Rube's SSE endpoint should work with ChatGPT natively without the GPT Actions workaround described earlier.


Want to analyze your API security?

Import your OpenAPI spec and generate a Security Report automatically.

Key Takeaways

  • Rube = Composio's managed MCP server. 500+ apps, zero auth code, five-minute setup for standard workflows.
  • Always connect apps in the Composio dashboard first before expecting tools to work.
  • Scope tools aggressively using --apps= to protect context window and reduce attack surface.
  • Never commit API keys — use environment variables and restricted file permissions.
  • The hybrid approach wins in production: Rube for standard SaaS integrations + a custom MCP server for proprietary internal APIs.
  • Rube is not free at scale — understand pricing before building critical workflows on top of it.
  • Data flows through Composio's infrastructure — evaluate this against your data governance requirements before using it with sensitive information.
  • Test every integration action you depend on before going to production — coverage quality varies across apps.

Rube removes the most tedious part of building AI agents that interact with the real world. For the 80% of integrations that are standard SaaS APIs, it's genuinely the right tool. For the 20% that require custom logic, proprietary data, or strict infrastructure control, you still need to build it yourself. Knowing which is which is what separates production deployments from demos.

Frequently Asked Questions

What is the Rube MCP Server?

Rube is a managed MCP server by Composio that gives AI clients like Claude, Cursor, and ChatGPT access to 500+ external apps — including GitHub, Slack, Notion, Salesforce, and Gmail — without requiring you to write or maintain custom integrations. It handles OAuth, authentication, tool discovery, and API normalization for you.

Is Rube free to use?

Composio offers a free tier for Rube with limited tool calls per month. Paid plans unlock higher usage limits, more concurrent connections, and enterprise features like SSO and audit logs. Check composio.dev for current pricing, as it changes regularly.

Does Rube work with Claude Desktop and Claude Code?

Yes. Rube exposes a standard MCP endpoint that works with any MCP-compatible client. Claude Desktop uses the stdio transport via npx, while Claude Code and Cursor both support SSE-based MCP connections. Configuration examples for each are covered in this guide.

How does Rube handle OAuth for third-party apps?

Rube uses Composio's managed OAuth infrastructure. When you connect an app like GitHub or Slack, Rube initiates an OAuth flow through Composio's servers, stores the tokens securely, and injects them into API calls transparently. You never handle refresh tokens or credential rotation yourself.

What is the difference between Rube and building a custom MCP server?

Rube gives you 500+ integrations instantly with zero maintenance overhead, which is ideal for productivity workflows and standard API interactions. A custom MCP server gives you full control over business logic, proprietary data sources, and custom tool definitions - essential when you need something Rube cannot provide.

Can I use Rube in production AI agent workflows?

Yes, but with caveats. Rube is well-suited for internal tooling and agentic workflows where latency tolerance is moderate. For high-throughput production systems with strict SLA requirements, evaluate the additional network hop introduced by Composio's infrastructure and consider rate limits on both the Rube and third-party API sides.

How do I add a new app to Rube after initial setup?

You connect new apps through the Composio dashboard at app.composio.dev. After authorizing the app, the new tools automatically appear in your Rube MCP endpoint without any configuration file changes. Your AI client will discover them the next time it reconnects.

Does Rube support filtering which tools are exposed to the AI?

Yes. You can scope which apps and tools are available through URL query parameters on the Rube endpoint or through the Composio dashboard. This is important for security — only expose the tools your agent actually needs.

What happens if a third-party API Rube that connects to it goes down?

Rube will return an error from the tool call, which the AI client will see as a failed tool invocation. Well-designed agent prompts should instruct the model to handle tool failures gracefully. Composio's status page at status.composio.dev shows the health of individual integrations.

Is my data passed through Composio's servers when using Rube?

Yes — all tool call payloads and API responses route through Composio's infrastructure. For sensitive enterprise data, review Composio's data processing agreements and privacy policy before use. If data residency is a hard requirement, a self-hosted custom MCP server may be more appropriate.

Check your MCP security posture

Generate a Security Score, detect risky tools, and review permissions before exposing APIs to AI agents.