get_comments
Retrieve comments for a specific Basecamp item using the item ID and project ID to manage discussions and feedback efficiently within Basecamp 3.
Instructions
Get comments for a Basecamp item
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project ID | |
| recording_id | Yes | The item ID |
Implementation Reference
- src/lib/basecamp-client.ts:321-324 (handler)Core handler function that executes the tool logic: fetches comments via Basecamp API for the given project and recording.async getComments(projectId: string, recordingId: string): Promise<Comment[]> { const response = await this.client.get(`/buckets/${projectId}/recordings/${recordingId}/comments.json`); return response.data; }
- src/index.ts:771-783 (handler)MCP CallToolRequestHandler case for 'get_comments': extracts arguments, calls BasecampClient.getComments, formats JSON response.case 'get_comments': { const comments = await client.getComments(typedArgs.project_id, typedArgs.recording_id); return { content: [{ type: 'text', text: JSON.stringify({ status: 'success', comments, count: comments.length }, null, 2) }] }; }
- src/index.ts:393-404 (registration)Registration of the 'get_comments' tool in ListToolsResponse, including description and input schema.{ name: 'get_comments', description: 'Get comments for a Basecamp item', inputSchema: { type: 'object', properties: { recording_id: { type: 'string', description: 'The item ID' }, project_id: { type: 'string', description: 'The project ID' }, }, required: ['recording_id', 'project_id'], }, },
- src/types/basecamp.ts:139-145 (schema)TypeScript interface defining the structure of a Comment object returned by the tool.export interface Comment { id: string; content: string; created_at: string; updated_at: string; creator: Person; }