This project provides a MCP (Magic Copy Paste) integration for Basecamp 3, allowing Cursor to interact with Basecamp directly through the MCP protocol.
## Architecture
The project consists of the following components:
1.**OAuth App** (`oauth_app.py`) - A Flask application that handles the OAuth 2.0 flow with Basecamp.
2.**Token Storage** (`token_storage.py`) - A module for securely storing OAuth tokens.
3.**MCP Server** (`mcp_server.py`) - A Flask server that implements the MCP protocol for Basecamp.
4.**Basecamp Client** (`basecamp_client.py`) - A client library for interacting with the Basecamp API.
5.**Basecamp OAuth** (`basecamp_oauth.py`) - A utility for handling OAuth authentication with Basecamp.
6.**Search Utilities** (`search_utils.py`) - Utilities for searching Basecamp resources.
## Setup
### Prerequisites
- Python 3.7+
- A Basecamp 3 account
- A Basecamp OAuth application (create one at https://launchpad.37signals.com/integrations)
### Installation
1. Clone this repository:
```
git clone <repository-url>
cd basecamp-mcp
```
2. Create and activate a virtual environment:
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```
pip install -r requirements.txt
```
4. Create a `.env` file with the following variables: