Manage projects, to-dos, messages, schedules, and campfire chats in Basecamp — AI-native project management.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"basecamp": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-basecamp",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the _ping tool to verify basecamp credentials by fetching account authorization. used internally by aerostack to validate credentials”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
Manage projects, to-dos, messages, schedules, and campfire chats in Basecamp.
Basecamp is the all-in-one project management and team communication platform. This MCP server gives your AI agents the ability to list and inspect projects, create and complete to-dos, post messages to message boards, and read schedule entries — making Basecamp a first-class integration for automated project management workflows.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-basecamp
Basecamp 4 uses OAuth 2 for authentication. You need a valid access token:
Important: Basecamp requires a
User-Agentheader on all API requests. This MCP server sendsAerostackMCP (hello@aerostack.dev)automatically.
Your Basecamp account ID is the number in your Basecamp URL:
https://3.basecamp.com/YOUR_ACCOUNT_ID/projects
For example, if your URL is https://3.basecamp.com/4567890/projects, your account ID is 4567890.
BASECAMP_ACCESS_TOKEN when promptedBASECAMP_ACCOUNT_ID when prompted| Tool | Description |
|---|---|
list_projects | List all active (or archived/trashed) projects in the account |
get_project | Get project details including its dock (message board ID, to-do set ID, schedule ID) |
list_todolists | List all to-do lists in a project's to-do set |
get_todolist | Get a to-do list with its items |
create_todo | Create a new to-do with optional assignees and due date |
complete_todo | Mark a to-do item as completed |
list_messages | List messages on a project's message board |
create_message | Post a new message to a project's message board |
list_schedule_entries | List schedule entries (events) for a project |
Basecamp's API is hierarchical. To create a to-do, you need the to-do set ID from the project dock:
list_projects to get the project IDget_project with the project ID — the dock array contains entries like { name: "todoset", id: 12345 }todoset ID as todoset_id in list_todoliststodolist_id in create_todoThe same pattern applies for message boards (message_board in dock) and schedules (schedule in dock).
| Variable | Required | Description |
|---|---|---|
BASECAMP_ACCESS_TOKEN | Yes | Basecamp OAuth 2 access token |
BASECAMP_ACCOUNT_ID | Yes | Your Basecamp account ID (number from URL) |
| Error | Cause | Fix |
|---|---|---|
HTTP 401 | Access token is expired or invalid | Re-authenticate via OAuth 2 and update the token |
HTTP 403 | Token doesn't have access to this project | Verify the token's account has access to the project |
HTTP 404 | Wrong account ID, project ID, or resource ID | Double-check all IDs — use list_projects and get_project to discover correct IDs |
HTTP 429 | Rate limited (50 requests per 10 seconds) | Wait and retry — Basecamp enforces strict rate limits |
"List all my Basecamp projects and show me the to-do lists in the Marketing project"
"Create a to-do in the Q2 Launch list: Review landing page copy, due next Friday"
"Mark the 'Update DNS records' to-do as complete"
"Post a message to the Engineering message board with this week's deploy summary"
"Show me all schedule entries for the Product Roadmap project"
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-basecamp \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-BASECAMP-ACCESS-TOKEN: your-oauth-token' \
-H 'X-Mcp-Secret-BASECAMP-ACCOUNT-ID: 4567890' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_projects","arguments":{}}}'
MIT
Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-basecamp
Sub-50ms globally · Zero cold start
@aerostack
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
by @aerostack
Discover and invoke any MCP, Function, or Skill published to the Aerostack marketplace — the universal AI capability hub.
by @aerostack
Search indexes, manage records, browse data, and configure ranking in Algolia — AI-native instant search access.
by @aerostack
Query documents, run AQL, traverse graphs, and manage collections in your ArangoDB database — AI-native multi-model database access.
by @aerostack
Post, schedule, and analyze social media across 13 platforms — Facebook, Instagram, X, LinkedIn, TikTok, Bluesky, Threads, Reddit, Pinterest, YouTube, Telegram, Snapchat, Google Business.
by @aerostack
Run SQL queries, list datasets and tables, inspect schemas, and export results from Google BigQuery — AI-native data warehouse access.
by @aerostack
Book meetings, check availability, and manage your entire scheduling workflow programmatically via Cal.com.
Yes. The Basecamp MCP includes a create_todo tool that lets Claude create todos in your Basecamp account from a plain-English prompt. You can also update and delete todos — no Basecamp UI needed.
Yes. The Basecamp MCP includes tools to list and retrieve projects from your Basecamp account. Claude can filter, sort, and summarize projects based on your instructions.
Yes. The Basecamp MCP uses the open Model Context Protocol standard, so it works in Claude, Cursor, Windsurf, and any other MCP-compatible AI tool. All 9 Basecamp tools are available everywhere you connect it — install once on Aerostack.
Yes. Aerostack hosts the Basecamp MCP with encrypted credential storage and per-account authentication. Your Basecamp credentials are never shared with Claude's conversation — they're used server-side only.