| name | basecamp-cli |
| description | CLI and MCP server for Basecamp 4. Use when you need to interact with Basecamp projects, todos, messages, schedules, kanban cards, documents, or campfires. Provides 76 MCP tools for AI-driven project management workflows. |
| mcp | true |
| metadata | {"openclaw":{"emoji":"🏕️","homepage":"https://github.com/drkraft/basecamp-cli","primaryEnv":"BASECAMP_CLIENT_SECRET","requires":{"bins":["basecamp-mcp"],"env":["BASECAMP_CLIENT_ID","BASECAMP_CLIENT_SECRET"]},"install":[{"id":"npm","kind":"node","package":"@drkraft/basecamp-cli","bins":["basecamp","basecamp-mcp"],"label":"Install @drkraft/basecamp-cli (npm)","global":true}]}} |
Basecamp CLI
Full-featured CLI and MCP server for Basecamp 4 API.
Features
- 21 CLI command groups covering all Basecamp 4 domains
- 76 MCP tools for AI assistant integration
- Automatic pagination and retry with exponential backoff
- OAuth 2.0 authentication with PKCE
Installation
npm install -g @drkraft/basecamp-cli
Requirements
Authentication Setup
- Create an OAuth app at https://launchpad.37signals.com/integrations
- Set redirect URI to
http://localhost:9292/callback
- Configure credentials:
basecamp auth configure --client-id <your-client-id>
export BASECAMP_CLIENT_SECRET="<your-client-secret>"
export BASECAMP_CLIENT_ID="<your-client-id>"
- Login:
basecamp auth login
MCP Server Configuration
Add to your MCP config (e.g., ~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"basecamp": {
"command": "basecamp-mcp",
"env": {
"BASECAMP_CLIENT_ID": "<your-client-id>",
"BASECAMP_CLIENT_SECRET": "<your-client-secret>"
}
}
}
}
Available MCP Tools (76)
| Category | Tools |
|---|
| Projects | basecamp_list_projects, basecamp_get_project, basecamp_create_project, basecamp_archive_project |
| Todo Lists | basecamp_list_todolists, basecamp_get_todolist, basecamp_create_todolist, basecamp_delete_todolist |
| Todo Groups | basecamp_list_todolist_groups, basecamp_create_todolist_group |
| Todos | basecamp_list_todos, basecamp_get_todo, basecamp_create_todo, basecamp_update_todo, basecamp_complete_todo, basecamp_uncomplete_todo, basecamp_delete_todo, basecamp_move_todo |
| Messages | basecamp_list_messages, basecamp_get_message, basecamp_create_message |
| People | basecamp_list_people, basecamp_get_person, basecamp_get_me |
| Comments | basecamp_list_comments, basecamp_get_comment, basecamp_create_comment, basecamp_update_comment, basecamp_delete_comment |
| Vaults | basecamp_list_vaults, basecamp_get_vault, basecamp_create_vault, basecamp_update_vault |
| Documents | basecamp_list_documents, basecamp_get_document, basecamp_create_document, basecamp_update_document |
| Uploads | basecamp_list_uploads, basecamp_get_upload, basecamp_create_upload, basecamp_update_upload |
| Schedules | basecamp_get_schedule, , , , , |
CLI Quick Reference
basecamp projects list
basecamp projects get <id>
basecamp todolists list --project <id>
basecamp todos list --project <id> --list <list-id>
basecamp todos create --project <id> --list <list-id> --content "Task"
basecamp todos complete <id> --project <id>
basecamp todos delete <id> --project <id>
basecamp todos move <id> --project <id> --list <target-list-id>
basecamp messages list --project <id>
basecamp messages create --project <id> --subject "Title" --content "<p>Body</p>"
basecamp cardtables get --project <id>
basecamp cardtables cards --project <id> --column <col-id>
basecamp cardtables create-card --project <id> --column <col-id> --title "Card"
basecamp search "keyword"
basecamp search "keyword" --type Todo --project <id>
All commands support --format json for JSON output.
Links