complete_card
Mark a card as complete in Basecamp 3 by specifying the project ID and card ID. Streamline task management and track progress effectively using this API tool.
Instructions
Mark a card as complete
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| card_id | Yes | The card ID | |
| project_id | Yes | The project ID |
Implementation Reference
- src/index.ts:697-707 (handler)MCP tool handler/dispatch for 'complete_card': calls client.completeCard and returns success response.case 'complete_card': { await client.completeCard(typedArgs.project_id, typedArgs.card_id); return { content: [{ type: 'text', text: JSON.stringify({ status: 'success', message: 'Card marked as complete' }, null, 2) }] };
- src/index.ts:326-337 (schema)Tool schema definition including inputSchema for 'complete_card' provided in listTools response (tool registration).{ name: 'complete_card', description: 'Mark a card as complete', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The project ID' }, card_id: { type: 'string', description: 'The card ID' }, }, required: ['project_id', 'card_id'], }, },
- src/lib/basecamp-client.ts:251-254 (helper)Core implementation of completeCard: POST to Basecamp API endpoint to mark card as complete.async completeCard(projectId: string, cardId: string): Promise<any> { const response = await this.client.post(`/buckets/${projectId}/todos/${cardId}/completion.json`); return response.data; }