92 lines
3.0 KiB
Markdown
92 lines
3.0 KiB
Markdown
# 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
|
|
|
|
1. **Clone and setup the project:**
|
|
```bash
|
|
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
|
|
```
|
|
|
|
2. **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 (your@email.com)"
|
|
FLASK_SECRET_KEY=any_random_string_here
|
|
MCP_API_KEY=any_random_string_here
|
|
```
|
|
|
|
3. **Authenticate with Basecamp:**
|
|
```bash
|
|
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
|
|
|
|
4. **Generate Cursor configuration:**
|
|
```bash
|
|
python generate_cursor_config.py
|
|
```
|
|
This will automatically create the Cursor MCP configuration file in the correct location.
|
|
|
|
5. **Restart Cursor** to load the new MCP configuration.
|
|
|
|
6. **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 `.env` file 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:
|
|
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
|
|
|
|
## Security Notes
|
|
|
|
- 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
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License. |