basecamp-mcp
v1.0.2
Published
Model Context Protocol (MCP) server for Basecamp integration. Enables LLMs to interact with Basecamp projects, messages, todos, comments, people, and kanban boards.
Downloads
16
Maintainers
Readme
Basecamp MCP Server
Model Context Protocol (MCP) server for Basecamp integration. Enables LLMs to interact with Basecamp projects, messages, todos, comments, people, and kanban boards.
Getting Started
The Basecamp MCP server requires Node.js 18+ and works with various MCP clients including Claude Code CLI, Claude Desktop, Cursor, VS Code, and others.
Standard Configuration
The baseline setup applies across most tools:
{
"mcpServers": {
"basecamp": {
"command": "npx",
"args": ["-y", "basecamp-mcp@latest"],
"env": {
"BASECAMP_CLIENT_ID": "your_client_id",
"BASECAMP_CLIENT_SECRET": "your_client_secret",
"BASECAMP_REFRESH_TOKEN": "your_refresh_token",
"BASECAMP_USER_AGENT": "YourApp ([email protected])",
"BASECAMP_ACCOUNT_ID": "account_id"
}
}
}
}Installation by Client
Claude Code CLI:
claude mcp add basecamp npx basecamp-mcp@latest \
-e BASECAMP_CLIENT_ID=your_client_id \
-e BASECAMP_CLIENT_SECRET=your_client_secret \
-e BASECAMP_REFRESH_TOKEN=your_refresh_token \
-e BASECAMP_USER_AGENT="YourApp ([email protected])" \
-e BASECAMP_ACCOUNT_ID=account_idClaude Desktop: Follow the MCP install guide using the standard config above.
Cursor: One-click installation available, or manually add configuration through Settings → Tools & Integrations → New MCP Server.
VS Code: One-click installation provided, or use the CLI:
code --add-mcp '{"name":"basecamp","command":"npx","args":["-y", "basecamp-mcp@latest"]}'Gemini CLI & Windsurf: Refer to their respective documentation; use the standard config template.
Configuration
The server requires the following environment variables:
BASECAMP_CLIENT_ID— Your Basecamp OAuth client IDBASECAMP_CLIENT_SECRET— Your Basecamp OAuth client secretBASECAMP_REFRESH_TOKEN— Your Basecamp refresh token for authenticationBASECAMP_USER_AGENT— Your application identifier (format: YourApp ([email protected]))BASECAMP_ACCOUNT_ID— Your Basecamp account ID
Complete Configuration Example
{
"mcpServers": {
"basecamp": {
"command": "npx",
"args": ["-y", "basecamp-mcp@latest"],
"env": {
"BASECAMP_CLIENT_ID": "your_client_id",
"BASECAMP_CLIENT_SECRET": "your_client_secret",
"BASECAMP_REFRESH_TOKEN": "your_refresh_token",
"BASECAMP_USER_AGENT": "YourApp ([email protected])",
"BASECAMP_ACCOUNT_ID": "account_id"
}
}
}
}Usage
Running the Server
npm startOr for development with auto-reload:
npm run devAvailable Tools
Projects
basecamp_list_projects- List all accessible projects with optional filteringbasecamp_get_project- Get detailed project information including dock configuration
Messages
basecamp_list_messages- List messages in a message board with optional filteringbasecamp_list_message_types- List available message types/categories for a projectbasecamp_get_message- Get single message detailsbasecamp_create_message- Create new message with optional category and draft statusbasecamp_update_message- Update message with advanced content editing (supports full replacement, append, prepend, search/replace)
TODOs
basecamp_get_todoset- Get todo set container with all todo listsbasecamp_list_todos- List todos in a list with status filtering (active/archived)basecamp_create_todo- Create new todo with optional descriptionbasecamp_complete_todo- Mark todo as completebasecamp_uncomplete_todo- Mark todo as incomplete
Comments
basecamp_list_comments- List comments on any resource (works universally on all recording types)basecamp_create_comment- Add comment to any resourcebasecamp_update_comment- Update comment with advanced content editing (supports full replacement, append, prepend, search/replace)
People
basecamp_get_me- Get personal information for the authenticated userbasecamp_list_people- List all people with optional filtering by name, email, or titlebasecamp_get_person- Get person details
Kanban
basecamp_list_kanban_columns- List all columns in a kanban boardbasecamp_list_kanban_cards- List cards in a column with steps and assigneesbasecamp_get_kanban_card- Get complete details of a specific cardbasecamp_create_kanban_card- Create new card with title and optional contentbasecamp_update_kanban_card- Update card with advanced content editing (supports full replacement, append, prepend, search/replace, plus title, due date, assignees, notifications)basecamp_move_kanban_card- Move a card to a different column and/or positionbasecamp_create_kanban_step- Add checklist step to a card
Development
# Install dependencies
npm install
# Run type checking
npx tsc --noEmit
# Build
npm run build
# Clean build artifacts
npm run cleanLicense
MIT
