3.0 KiB
3.0 KiB
Basecamp MCP Integration
This project provides a MCP (Model Context Protocol) integration for Basecamp 3, allowing Cursor to interact with Basecamp directly through the MCP protocol.
Quick Setup for Cursor
Prerequisites
- Python 3.7+
- A Basecamp 3 account
- A Basecamp OAuth application (create one at https://launchpad.37signals.com/integrations)
Step-by-Step Instructions
-
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
.envfile 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 (your@email.com)" 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 in your browser
- Click "Log in with Basecamp" and complete the OAuth flow
- Keep the OAuth app running in the background
-
Generate Cursor configuration:
python generate_cursor_config.pyThis will automatically create the Cursor MCP configuration file in the correct location.
-
Restart Cursor to load the new MCP configuration.
-
Test the integration by using the Basecamp MCP tools in Cursor!
Available MCP Tools
Once configured, you can use these tools in Cursor:
- Get Projects: List all your Basecamp projects
- Get Project: Get details for a specific project
- Get Todo Lists: Get todo lists for a project
- Get Todos: Get todos from a todo list
- Search Basecamp: Search across projects, todos, and messages
- Get Comments: Get comments for any Basecamp item
- Get Campfire Lines: Get recent messages from project chat rooms
Troubleshooting
Authentication Issues
- Make sure the OAuth app is running:
python oauth_app.py - Visit http://localhost:8000 and re-authenticate if needed
- Check that your
.envfile has the correct credentials
Cursor Connection Issues
- Restart Cursor after running
generate_cursor_config.py - Check that the generated configuration includes your
BASECAMP_ACCOUNT_ID - Make sure your virtual environment is activated when running the OAuth app
Finding Your Account ID
If you don't know your Basecamp account ID:
- Log into Basecamp in your browser
- Look at the URL - it will be like
https://3.basecamp.com/4389629/projects - The number (4389629 in this example) is your account ID
Security Notes
- Keep your
.envfile secure and never commit it to version control - The OAuth tokens are stored locally in
oauth_tokens.json - This setup is designed for local development use
License
This project is licensed under the MIT License.