Skip to main content
Glama

update_project

Modify project settings in Harvest, including name, billing, budget, timeline, and status, by updating specific fields without affecting unchanged values.

Instructions

Update an existing project. Can modify any project settings including name, billing configuration, budget settings, and project timeline. Only provided fields will be updated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the project to update (required)
nameNoUpdate project name
codeNoUpdate project code
is_activeNoUpdate active status
is_billableNoUpdate billable status
is_fixed_feeNoUpdate fixed fee billing
bill_byNoUpdate billing method
hourly_rateNoUpdate hourly rate
budgetNoUpdate budget amount
budget_byNoUpdate budget calculation method
budget_is_monthlyNoUpdate monthly budget reset
notify_when_over_budgetNoUpdate budget notifications
over_budget_notification_percentageNoUpdate notification threshold
show_budget_to_allNoUpdate budget visibility
cost_budgetNoUpdate cost budget
cost_budget_include_expensesNoUpdate expense inclusion
feeNoUpdate fixed fee
notesNoUpdate project notes
starts_onNoUpdate start date (YYYY-MM-DD)
ends_onNoUpdate end date (YYYY-MM-DD)

Implementation Reference

  • The implementation of the UpdateProjectHandler class which handles the execution of the update_project tool.
    class UpdateProjectHandler implements ToolHandler {
      constructor(private readonly config: BaseToolConfig) {}
    
      async execute(args: Record<string, any>): Promise<CallToolResult> {
        try {
          const validatedArgs = validateInput(UpdateProjectSchema, args, 'update project');
          logger.info('Updating project via Harvest API', { projectId: validatedArgs.id });
          const project = await this.config.harvestClient.updateProject(validatedArgs);
          
          return {
            content: [{ type: 'text', text: JSON.stringify(project, null, 2) }],
          };
        } catch (error) {
          return handleMCPToolError(error, 'update_project');
        }
      }
    }
  • Registration of the update_project tool and its associated handler.
    {
      tool: {
        name: 'update_project',
        description: 'Update an existing project. Can modify any project settings including name, billing configuration, budget settings, and project timeline. Only provided fields will be updated.',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'number', description: 'The ID of the project to update (required)' },
            name: { type: 'string', minLength: 1, description: 'Update project name' },
            code: { type: 'string', description: 'Update project code' },
            is_active: { type: 'boolean', description: 'Update active status' },
            is_billable: { type: 'boolean', description: 'Update billable status' },
            is_fixed_fee: { type: 'boolean', description: 'Update fixed fee billing' },

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