Basecamp MCP Tools Reference
Complete reference for all 46 available Basecamp MCP tools.
Projects
| Tool |
Parameters |
Returns |
get_projects |
none |
List of all projects with id, name, description |
get_project |
project_id |
Project details including dock (todosets, card tables, etc.) |
Todo Lists
| Tool |
Parameters |
Returns |
get_todolists |
project_id |
All todo lists in project |
Todos
| Tool |
Parameters |
Returns |
get_todos |
project_id, todolist_id |
All todos (pagination handled) |
create_todo |
project_id, todolist_id, content, due_on?, assignee_ids?, notify? |
Created todo |
update_todo |
project_id, todo_id, content?, due_on?, assignee_ids? |
Updated todo |
delete_todo |
project_id, todo_id |
Success confirmation |
complete_todo |
project_id, todo_id |
Completed todo |
uncomplete_todo |
project_id, todo_id |
Reopened todo |
Todo Parameters
content: String - The todo text
due_on: String - Date in YYYY-MM-DD format
assignee_ids: Array of integers - Person IDs to assign
notify: Boolean - Whether to notify assignees
Card Tables
| Tool |
Parameters |
Returns |
get_card_tables |
project_id |
All card tables in project |
get_card_table |
project_id |
Primary card table details |
Columns
| Tool |
Parameters |
Returns |
get_columns |
project_id, card_table_id |
All columns in card table |
get_column |
project_id, column_id |
Column details |
create_column |
project_id, card_table_id, title |
New column |
update_column |
project_id, column_id, title |
Updated column |
move_column |
project_id, card_table_id, column_id, position |
Moved column |
update_column_color |
project_id, column_id, color |
Updated color |
put_column_on_hold |
project_id, column_id |
Column frozen |
remove_column_hold |
project_id, column_id |
Column unfrozen |
watch_column |
project_id, column_id |
Subscribed to notifications |
unwatch_column |
project_id, column_id |
Unsubscribed |
Column Colors
Available colors for update_column_color:
- white, grey, pink, red, orange, yellow, green, teal, blue, purple
Cards
| Tool |
Parameters |
Returns |
get_cards |
project_id, column_id |
All cards in column |
get_card |
project_id, card_id |
Card details |
create_card |
project_id, column_id, title, content?, due_on?, notify? |
New card |
update_card |
project_id, card_id, title?, content?, due_on?, assignee_ids? |
Updated card |
move_card |
project_id, card_id, column_id |
Card moved to column |
complete_card |
project_id, card_id |
Card marked complete |
uncomplete_card |
project_id, card_id |
Card reopened |
Card Parameters
title: String - Card title
content: String - Card description/body (supports HTML)
due_on: String - Date in YYYY-MM-DD format
assignee_ids: Array of integers - Person IDs
notify: Boolean - Notify assignees on creation
Card Steps (Subtasks)
| Tool |
Parameters |
Returns |
get_card_steps |
project_id, card_id |
All steps on card |
create_card_step |
project_id, card_id, title, due_on?, assignee_ids? |
New step |
get_card_step |
project_id, step_id |
Step details |
update_card_step |
project_id, step_id, title?, due_on?, assignee_ids? |
Updated step |
delete_card_step |
project_id, step_id |
Step deleted |
complete_card_step |
project_id, step_id |
Step completed |
uncomplete_card_step |
project_id, step_id |
Step reopened |
Search
| Tool |
Parameters |
Returns |
search_basecamp |
query, project_id? |
Matching todos, messages, etc. |
- Omit
project_id for global search across all projects
- Include
project_id to scope search to specific project
Communication
| Tool |
Parameters |
Returns |
get_campfire_lines |
project_id, campfire_id |
Recent chat messages |
get_comments |
project_id, recording_id |
Comments on any item |
create_comment |
project_id, recording_id, content |
New comment |
recording_id: The ID of the item (todo, card, document, etc.)
content: String - Comment text (supports HTML)
Daily Check-ins
| Tool |
Parameters |
Returns |
get_daily_check_ins |
project_id, page? |
Check-in questions |
get_question_answers |
project_id, question_id, page? |
Answers to question |
Documents
| Tool |
Parameters |
Returns |
get_documents |
project_id, vault_id |
Documents in vault |
get_document |
project_id, document_id |
Document content |
create_document |
project_id, vault_id, title, content, status? |
New document |
update_document |
project_id, document_id, title?, content? |
Updated document |
trash_document |
project_id, document_id |
Document trashed |
Document Parameters
vault_id: Found in project dock as the docs/files container
content: String - Document body (supports HTML)
status: "active" or "archived"
Attachments
| Tool |
Parameters |
Returns |
create_attachment |
file_path, name, content_type? |
Uploaded attachment |
Events
| Tool |
Parameters |
Returns |
get_events |
project_id, recording_id |
Activity events on item |
Webhooks
| Tool |
Parameters |
Returns |
get_webhooks |
project_id |
Project webhooks |
create_webhook |
project_id, payload_url, types? |
New webhook |
delete_webhook |
project_id, webhook_id |
Webhook deleted |
Webhook Types
Available types for create_webhook:
- Comment, Document, GoogleDocument, Message, Question::Answer
- Schedule::Entry, Todo, Todolist, Upload, Vault, Card, CardTable::Column
Common Patterns
Find project by name
Find todoset ID for a project
Find card table ID
Get all todos across all lists