Basecamp Automation via Rube MCP
Automate Basecamp operations including project management, to-do list creation, task management, message board posting, people management, and to-do group organization through Composio's Basecamp toolkit.
Toolkit docs: composio.dev/toolkits/basecamp
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Basecamp connection via
RUBE_MANAGE_CONNECTIONSwith toolkitbasecamp - •Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- •Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitbasecamp - •If connection is not ACTIVE, follow the returned auth link to complete Basecamp OAuth
- •Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage To-Do Lists and Tasks
When to use: User wants to create to-do lists, add tasks, or organize work within a Basecamp project
Tool sequence:
- •
BASECAMP_GET_PROJECTS- List projects to find the target bucket_id [Prerequisite] - •
BASECAMP_GET_BUCKETS_TODOSETS- Get the to-do set within a project [Prerequisite] - •
BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS- List existing to-do lists to avoid duplicates [Optional] - •
BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS- Create a new to-do list in a to-do set [Required for list creation] - •
BASECAMP_GET_BUCKETS_TODOLISTS- Get details of a specific to-do list [Optional] - •
BASECAMP_POST_BUCKETS_TODOLISTS_TODOS- Create a to-do item in a to-do list [Required for task creation] - •
BASECAMP_CREATE_TODO- Alternative tool for creating individual to-dos [Alternative] - •
BASECAMP_GET_BUCKETS_TODOLISTS_TODOS- List to-dos within a to-do list [Optional]
Key parameters for creating to-do lists:
- •
bucket_id: Integer project/bucket ID (from GET_PROJECTS) - •
todoset_id: Integer to-do set ID (from GET_BUCKETS_TODOSETS) - •
name: Title of the to-do list (required) - •
description: HTML-formatted description (supports Rich text)
Key parameters for creating to-dos:
- •
bucket_id: Integer project/bucket ID - •
todolist_id: Integer to-do list ID - •
content: What the to-do is for (required) - •
description: HTML details about the to-do - •
assignee_ids: Array of integer person IDs - •
due_on: Due date inYYYY-MM-DDformat - •
starts_on: Start date inYYYY-MM-DDformat - •
notify: Boolean to notify assignees (defaults to false) - •
completion_subscriber_ids: Person IDs notified upon completion
Pitfalls:
- •A project (bucket) can contain multiple to-do sets; selecting the wrong
todoset_idcreates lists in the wrong section - •Always check existing to-do lists before creating to avoid near-duplicate names
- •Success payloads include user-facing URLs (
app_url,app_todos_url); prefer returning these over raw IDs - •All IDs (
bucket_id,todoset_id,todolist_id) are integers, not strings - •Descriptions support HTML formatting only, not Markdown
2. Post and Manage Messages
When to use: User wants to post messages to a project message board or update existing messages
Tool sequence:
- •
BASECAMP_GET_PROJECTS- Find the target project and bucket_id [Prerequisite] - •
BASECAMP_GET_MESSAGE_BOARD- Get the message board ID for the project [Prerequisite] - •
BASECAMP_CREATE_MESSAGE- Create a new message on the board [Required] - •
BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES- Alternative message creation tool [Fallback] - •
BASECAMP_GET_MESSAGE- Read a specific message by ID [Optional] - •
BASECAMP_PUT_BUCKETS_MESSAGES- Update an existing message [Optional]
Key parameters:
- •
bucket_id: Integer project/bucket ID - •
message_board_id: Integer message board ID (from GET_MESSAGE_BOARD) - •
subject: Message title (required) - •
content: HTML body of the message - •
status: Set to"active"to publish immediately - •
category_id: Message type classification (optional) - •
subscriptions: Array of person IDs to notify; omit to notify all project members
Pitfalls:
- •
status="draft"can produce HTTP 400; usestatus="active"as the reliable option - •
bucket_idandmessage_board_idmust belong to the same project; mismatches fail or misroute - •Message content supports HTML tags only; not Markdown
- •Updates via
PUT_BUCKETS_MESSAGESreplace the entire body -- include the full corrected content, not just a diff - •Prefer
app_urlfrom the response for user-facing confirmation links - •Both
CREATE_MESSAGEandPOST_BUCKETS_MESSAGE_BOARDS_MESSAGESdo the same thing; use CREATE_MESSAGE first and fall back to POST if it fails
3. Manage People and Access
When to use: User wants to list people, manage project access, or add new users
Tool sequence:
- •
BASECAMP_GET_PEOPLE- List