2025-03-09 16:42:28 +00:00
# Basecamp MCP Integration
2025-06-02 17:19:35 +01:00
This project provides a MCP (Model Context Protocol) integration for Basecamp 3, allowing Cursor to interact with Basecamp directly through the MCP protocol.
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
## Quick Setup for Cursor
2025-03-09 16:42:28 +00:00
### Prerequisites
- Python 3.7+
2025-06-02 17:19:35 +01:00
- A Basecamp 3 account
2025-03-09 16:42:28 +00:00
- A Basecamp OAuth application (create one at https://launchpad.37signals.com/integrations)
2025-06-02 17:19:35 +01:00
### Step-by-Step Instructions
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
1. **Clone and setup the project: **
```bash
2025-03-09 16:42:28 +00:00
git clone <repository-url>
cd basecamp-mcp
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
2025-06-02 17:19:35 +01:00
pip install --upgrade pip
2025-03-09 16:42:28 +00:00
pip install -r requirements.txt
```
2025-06-02 17:19:35 +01:00
2. **Create your `.env` file with your Basecamp OAuth credentials: **
2025-03-09 16:42:28 +00:00
```
2025-06-02 17:19:35 +01:00
BASECAMP_CLIENT_ID=your_client_id_here
BASECAMP_CLIENT_SECRET=your_client_secret_here
2025-03-09 16:42:28 +00:00
BASECAMP_REDIRECT_URI=http://localhost:8000/auth/callback
2025-06-02 17:19:35 +01:00
BASECAMP_ACCOUNT_ID=your_account_id_here
2025-03-09 16:42:28 +00:00
USER_AGENT="Your App Name (your@email .com)"
2025-06-02 17:19:35 +01:00
FLASK_SECRET_KEY=any_random_string_here
MCP_API_KEY=any_random_string_here
2025-03-09 16:42:28 +00:00
```
2025-06-02 17:19:35 +01:00
3. **Authenticate with Basecamp: **
```bash
2025-03-09 16:42:28 +00:00
python oauth_app.py
```
2025-06-02 17:19:35 +01:00
- 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
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
4. **Generate Cursor configuration: **
```bash
python generate_cursor_config.py
2025-03-09 16:42:28 +00:00
```
2025-06-02 17:19:35 +01:00
This will automatically create the Cursor MCP configuration file in the correct location.
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
5. **Restart Cursor ** to load the new MCP configuration.
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
6. **Test the integration ** by using the Basecamp MCP tools in Cursor!
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
## Available MCP Tools
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
Once configured, you can use these tools in Cursor:
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
- **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
2025-03-09 16:42:28 +00:00
## Troubleshooting
2025-06-02 17:19:35 +01:00
### 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 `.env` file has the correct credentials
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
### 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
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
### Finding Your Account ID
If you don't know your Basecamp account ID:
1. Log into Basecamp in your browser
2. Look at the URL - it will be like `https://3.basecamp.com/4389629/projects`
3. The number (4389629 in this example) is your account ID
2025-03-09 16:42:28 +00:00
2025-06-02 17:19:35 +01:00
## Security Notes
2025-03-09 17:29:28 +00:00
2025-06-02 17:19:35 +01:00
- Keep your `.env` file 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
2025-03-09 17:29:28 +00:00
2025-06-02 17:19:35 +01:00
## License
2025-03-09 17:29:28 +00:00
2025-06-02 17:19:35 +01:00
This project is licensed under the MIT License.