update_card
Modify card details in Basecamp projects, including title, content, due date, and assignees, by providing project and card IDs via the Basecamp MCP Server.
Instructions
Update a card
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| assignee_ids | No | Array of person IDs to assign to the card | |
| card_id | Yes | The card ID | |
| content | No | The new card content/description | |
| due_on | No | Due date (ISO 8601 format) | |
| project_id | Yes | The project ID | |
| title | No | The new card title |
Implementation Reference
- src/lib/basecamp-client.ts:227-243 (handler)The core handler function that executes the tool logic by making a PUT request to the Basecamp API to update a card's title, content, due date, or assignees.async updateCard( projectId: string, cardId: string, title?: string, content?: string, dueOn?: string, assigneeIds?: string[] ): Promise<Card> { const data: any = {}; if (title) data.title = title; if (content) data.content = content; if (dueOn) data.due_on = dueOn; if (assigneeIds) data.assignee_ids = assigneeIds; const response = await this.client.put(`/buckets/${projectId}/card_tables/cards/${cardId}.json`, data); return response.data; }
- src/index.ts:297-311 (schema)The input schema definition and description for the 'update_card' tool, registered in the ListTools response.{ name: 'update_card', description: 'Update a card', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The project ID' }, card_id: { type: 'string', description: 'The card ID' }, title: { type: 'string', description: 'The new card title' }, content: { type: 'string', description: 'The new card content/description' }, due_on: { type: 'string', description: 'Due date (ISO 8601 format)' }, assignee_ids: { type: 'array', items: { type: 'string' }, description: 'Array of person IDs to assign to the card' }, }, required: ['project_id', 'card_id'], },