Basecamp MCP Server
Provides tools for managing Basecamp 3 projects, todos, card tables, messages, comments, campfire, documents, inbox, uploads, search, check-ins, events, webhooks, and more.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Basecamp MCP Serverlist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Basecamp MCP Server
The first open-source MCP server for Basecamp 3 with multi-user and enterprise hosting support. Gives AI clients (Claude Desktop, Cursor, Codex, etc.) direct access to Basecamp via 148+ tools.
Why this project?
Every existing Basecamp MCP integration was single-user only — you had to run a local process per user with your own credentials. That doesn't work for teams or enterprise deployments.
This project solves that with a streamable-http mode: one server, one port, multiple users — each authenticating with their own Basecamp account via OAuth. Deploy it once for your entire organization.
Related MCP server: Fizzy Do MCP
Modes
Mode | Use case |
stdio | Single-user, local process. Standard MCP transport. |
streamable-http | Multi-tenant HTTP server. One deployment for your whole org. |
Quick Start
Prerequisites
Python 3.10+
A Basecamp 3 account
A Basecamp OAuth app — register at launchpad.37signals.com/integrations
Install
git clone https://github.com/Attri-Inc/basecamp-mcp-server.git
cd Basecamp-MCP-Server
# Using uv (recommended)
uv venv --python 3.12 venv && source venv/bin/activate
uv pip install -r requirements.txt && uv pip install mcp
# Or using pip
python setup.pyConfigure
Copy .env.example to .env and fill in your credentials:
cp .env.example .envYour Basecamp account ID is in the URL: https://3.basecamp.com/{account_id}/projects
Mode 1: stdio (Single-user)
Step 1 — Authenticate with Basecamp (one-time):
MCP_TRANSPORT=streamable-http ./venv/bin/python basecamp_fastmcp.pyVisit http://localhost:8001, click Connect Basecamp, complete OAuth. Tokens are saved to oauth_tokens.json. Stop the server.
Step 2 — Add to your MCP client config:
{
"mcpServers": {
"basecamp": {
"command": "/full/path/to/venv/bin/python",
"args": ["/full/path/to/basecamp_fastmcp.py"],
"env": {
"PYTHONPATH": "/full/path/to/project",
"BASECAMP_ACCOUNT_ID": "your_account_id"
}
}
}
}Claude Desktop — auto-generate config:
python generate_claude_desktop_config.pyThen restart Claude Desktop completely.
Mode 2: streamable-http (Multi-tenant)
This is the core feature that makes this project different. A single server instance handles any number of users, each connected to their own Basecamp account. No per-user processes, no shared credentials.
How it works
User A ──► POST /mcp (Bearer api_key_A) ──► validates key ──► uses User A's Basecamp tokens
User B ──► POST /mcp (Bearer api_key_B) ──► validates key ──► uses User B's Basecamp tokens
User C ──► POST /mcp (Bearer api_key_C) ──► validates key ──► uses User C's Basecamp tokensEach user authenticates once via OAuth and receives a unique API key. From that point on, every MCP request they make is scoped to their own Basecamp account. Tokens are stored in PostgreSQL and auto-refreshed transparently.
Setup
Requires PostgreSQL. Add to .env:
MCP_TRANSPORT=streamable-http
DATABASE_URL=postgresql://user:pass@localhost:5432/basecamp_mcp
MCP_SERVER_URL=http://your-server:8001
MCP_HOST=0.0.0.0
MCP_PORT=8001Start the server:
MCP_TRANSPORT=streamable-http ./venv/bin/python basecamp_fastmcp.pyUser onboarding (per user, one-time)
User visits
http://your-server:8001/Clicks Connect Basecamp → redirected to 37signals OAuth
Authorizes the app → redirected back to your server
Server stores their Basecamp tokens in PostgreSQL and generates a unique API key
User copies their API key and adds it to their MCP client config:
{
"mcpServers": {
"basecamp": {
"url": "http://your-server:8001/mcp",
"headers": { "Authorization": "Bearer <their_api_key>" }
}
}
}After this, the user's AI client has full access to their own Basecamp — and only their Basecamp. No other user's data is accessible.
Available Tools (148 total)
Category | Tools |
Projects |
|
Todos |
|
Todo Groups |
|
Card Tables |
|
Card Steps |
|
Messages |
|
Comments |
|
Campfire |
|
Documents |
|
Inbox |
|
Uploads |
|
Search |
|
Check-ins |
|
Events & Webhooks |
|
Architecture
File | Purpose |
| Main MCP server — stdio and streamable-http transport |
| Basecamp 3 API client |
| OAuth 2.0 for 37signals Launchpad |
| Cross-project search |
| Auto token refresh (stdio) |
| OAuth token persistence (stdio) |
| PostgreSQL per-user credential store (HTTP) |
| API key validation (HTTP) |
| Per-user token refresh (HTTP) |
| OAuth portal routes (HTTP) |
Troubleshooting
Problem | Fix |
Tools not appearing | Restart MCP client completely |
| Run |
Token expired (stdio) | Re-run HTTP server, visit auth portal, stop server |
Basecamp not linked (HTTP) | Visit |
Logs:
tail -f basecamp_fastmcp.log
tail -f ~/Library/Logs/Claude/mcp-server-basecamp.log # Claude Desktop (macOS)Contributing
See CONTRIBUTING.md.
License
MIT — see LICENSE.
Created and open-sourced by Attri
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA professional MCP server providing complete programmatic access to Basecamp 4 API for AI agents, workflow automation, and custom integrations.5MIT
- AlicenseNot gradedqualityCmaintenanceOpen-source MCP server that connects AI assistants to Fizzy (Basecamp's task management) with 70+ tools for boards, cards, workflows, and AI-powered project management.10 npm3MIT
- FlicenseCqualityBmaintenanceEnables AI assistants to automate Basecamp operations including project management, cards, todos, comments, and people via MCP tools.92-
- AlicenseNot gradedqualityDmaintenanceMCP server exposing Basecamp CLI commands as tools for project management, todos, messages, and more.MIT