Skip to main content
Glama

get_project_budget_report

Generate project budget reports to track spending versus budgets, monitor project profitability, and identify budget utilization across projects.

Instructions

Generate project budget reports showing spending vs budgets across projects. Helps track project profitability and budget utilization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
is_activeNoFilter by active projects only
client_idNoFilter by specific client ID
over_budgetNoFilter by projects that are over budget

Implementation Reference

  • Handler class for the 'get_project_budget_report' tool, which validates the input using the schema and fetches the report via the Harvest client.
    class GetProjectBudgetReportHandler implements ToolHandler {
      constructor(private readonly config: BaseToolConfig) {}
    
      async execute(args: Record<string, any>): Promise<CallToolResult> {
        try {
          const validatedArgs = validateInput(ProjectBudgetReportQuerySchema, args, 'project budget report query');
          logger.info('Generating project budget report from Harvest API');
          const report = await this.config.harvestClient.getProjectBudgetReport(validatedArgs);
          
          return {
            content: [{ type: 'text', text: JSON.stringify(report, null, 2) }],
          };
        } catch (error) {
          return handleMCPToolError(error, 'get_project_budget_report');
        }
      }
    }
  • Registration definition for the 'get_project_budget_report' tool, including its description, input schema, and the handler instantiation.
    {
      tool: {
        name: 'get_project_budget_report',
        description: 'Generate project budget reports showing spending vs budgets across projects. Helps track project profitability and budget utilization.',
        inputSchema: {
          type: 'object',
          properties: {
            is_active: { type: 'boolean', description: 'Filter by active projects only' },
            client_id: { type: 'number', description: 'Filter by specific client ID' },
            over_budget: { type: 'boolean', description: 'Filter by projects that are over budget' },
          },
          additionalProperties: false,
        },
      },
      handler: new GetProjectBudgetReportHandler(config),
    },

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/ianaleck/harvest-mcp-server'

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