Skip to main content
Glama
jhliberty

Basecamp MCP Server

by jhliberty

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
NameRequiredDescriptionDefault
campfire_idYesThe campfire/chat room ID
project_idYesThe project ID

Implementation Reference

  • 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'],
      },
    },
  • 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'],
      },
    },
  • 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;
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jhliberty/basecamp-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server