
Basecamp
STDIOMCP integration for Basecamp 3, enabling Cursor to interact with Basecamp directly.
MCP integration for Basecamp 3, enabling Cursor to interact with Basecamp directly.
This project provides a MCP (Model Context Protocol) integration for Basecamp 3, allowing Cursor to interact with Basecamp directly through the MCP protocol.
Clone and setup the project:
git clone <repository-url> cd basecamp-mcp python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install --upgrade pip pip install -r requirements.txt
Create your .env
file with your Basecamp OAuth credentials:
BASECAMP_CLIENT_ID=your_client_id_here
BASECAMP_CLIENT_SECRET=your_client_secret_here
BASECAMP_REDIRECT_URI=http://localhost:8000/auth/callback
BASECAMP_ACCOUNT_ID=your_account_id_here
USER_AGENT="Your App Name ([email protected])"
FLASK_SECRET_KEY=any_random_string_here
MCP_API_KEY=any_random_string_here
Authenticate with Basecamp:
python oauth_app.py
Visit http://localhost:8000 and complete the OAuth flow.
Generate and install Cursor configuration:
python generate_cursor_config.py
This script will:
Restart Cursor completely (quit and reopen, not just reload)
Verify in Cursor:
# Quick test the MCP server echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | python mcp_server_cli.py # Run automated tests python -m pytest tests/ -v
Once configured, you can use these tools in Cursor:
get_projects
- Get all Basecamp projectsget_project
- Get details for a specific projectget_todolists
- Get todo lists for a projectget_todos
- Get todos from a todo listsearch_basecamp
- Search across projects, todos, and messagesget_comments
- Get comments for a Basecamp itemAsk Cursor things like:
The project consists of:
oauth_app.py
) - Handles OAuth 2.0 flow with Basecampmcp_server_cli.py
) - Implements MCP protocol for Cursortoken_storage.py
) - Securely stores OAuth tokensbasecamp_client.py
) - Basecamp API client librarysearch_utils.py
) - Search across Basecamp resourcesmcp_cli_server.log
.env
fileIf automatic configuration doesn't work, manually edit your Cursor MCP configuration:
On macOS/Linux: ~/.cursor/mcp.json
On Windows: %APPDATA%\Cursor\mcp.json
{ "mcpServers": { "basecamp": { "command": "/full/path/to/your/project/venv/bin/python", "args": ["/full/path/to/your/project/mcp_server_cli.py"], "cwd": "/full/path/to/your/project", "env": { "PYTHONPATH": "/full/path/to/your/project", "VIRTUAL_ENV": "/full/path/to/your/project/venv", "BASECAMP_ACCOUNT_ID": "your_account_id" } } } }
Based on Cursor community forums, the following are essential:
If you don't know your Basecamp account ID:
https://3.basecamp.com/4389629/projects
.env
file secure and never commit it to version controloauth_tokens.json
This project is licensed under the MIT License.