Basecamp MCP Server
README.md
# Basecamp MCP Server
An MCP (Model Context Protocol) server that enables Claude to interact with the Basecamp API. Built with Bun and TypeScript.
## Features
- OAuth 2.0 authentication with automatic token refresh
- Full CRUD operations for Projects and To-dos
- Rate limiting (50 requests per 10 seconds)
- Automatic pagination handling
## Available Tools
| Tool | Description |
|------|-------------|
| `basecamp_auth` | Initiate OAuth authentication |
| `basecamp_list_projects` | List all projects |
| `basecamp_get_project` | Get project details |
| `basecamp_create_project` | Create a new project |
| `basecamp_update_project` | Update a project |
| `basecamp_trash_project` | Move project to trash |
| `basecamp_list_todolists` | List to-do lists in a project |
| `basecamp_get_todolist` | Get to-do list details |
| `basecamp_create_todolist` | Create a new to-do list |
| `basecamp_list_todos` | List to-dos in a list |
| `basecamp_get_todo` | Get to-do details |
| `basecamp_create_todo` | Create a new to-do |
| `basecamp_update_todo` | Update a to-do |
| `basecamp_complete_todo` | Mark to-do as complete |
| `basecamp_uncomplete_todo` | Mark to-do as incomplete |
## Setup
### 1. Register a Basecamp OAuth Application
1. Go to [https://launchpad.37signals.com/integrations](https://launchpad.37signals.com/integrations)
2. Create a new integration
3. Set the redirect URI to `http://localhost:8788/callback`
4. Note your Client ID and Client Secret
### 2. Install Dependencies
```bash
bun install
```
### 3. Configure Claude Code
Add the server to your Claude Code MCP configuration:
```json
{
"mcpServers": {
"basecamp": {
"command": "bun",
"args": ["run", "/path/to/basecamp-mcp/src/index.ts"],
"env": {
"BASECAMP_CLIENT_ID": "your-client-id",
"BASECAMP_CLIENT_SECRET": "your-client-secret"
}
}
}
}
```
### 4. Authenticate
Once configured, ask Claude to authenticate with Basecamp:
```
Authenticate with Basecamp
```
This will open a browser window for OAuth authorization. After authorizing, tokens are stored locally in `~/.basecamp-mcp/tokens.json`.
## Development
```bash
# Run type checking
bun run typecheck
# Run the server directly
bun run start
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues