get_campfire_lines
Retrieve recent messages from a Basecamp campfire chat room by specifying the project ID and campfire ID to stay updated on team discussions and collaboration.
Instructions
Get recent messages from a Basecamp campfire (chat room)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| campfire_id | Yes | The campfire/chat room ID | |
| project_id | Yes | The project ID |
Implementation Reference
- src/index.ts:757-769 (handler)MCP tool handler for 'get_campfire_lines' that calls BasecampClient.getCampfireLines and returns JSON-formatted response.case 'get_campfire_lines': { const lines = await client.getCampfireLines(typedArgs.project_id, typedArgs.campfire_id); return { content: [{ type: 'text', text: JSON.stringify({ status: 'success', campfire_lines: lines, count: lines.length }, null, 2) }] }; }
- src/index.ts:381-392 (registration)Tool registration in ListTools response, including name, description, and input schema.{ name: 'get_campfire_lines', description: 'Get recent messages from a Basecamp campfire (chat room)', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The project ID' }, campfire_id: { type: 'string', description: 'The campfire/chat room ID' }, }, required: ['project_id', 'campfire_id'], }, },
- src/index.ts:384-392 (schema)Input schema definition for the get_campfire_lines tool.inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The project ID' }, campfire_id: { type: 'string', description: 'The campfire/chat room ID' }, }, required: ['project_id', 'campfire_id'], }, },
- src/lib/basecamp-client.ts:316-319 (helper)BasecampClient helper method that performs the actual API call to retrieve campfire lines.async getCampfireLines(projectId: string, campfireId: string): Promise<CampfireLine[]> { const response = await this.client.get(`/buckets/${projectId}/chats/${campfireId}/lines.json`); return response.data; }