Skip to main content
Glama
standardbeagle

Harvest MCP Server

harvest_restart_timer

Restart a stopped time entry timer in Harvest to resume tracking work hours for accurate time management.

Instructions

Restart a stopped time entry timer. Use about {"tool": "harvest_restart_timer"} for detailed workflow and examples.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesTime entry ID

Implementation Reference

  • Core handler function that implements the Harvest API call to restart a time entry timer via PATCH /time_entries/{id}/restart.
    async restartTimer(id: string) {
      return this.makeRequest(`/time_entries/${id}/restart`, {
        method: 'PATCH',
      });
    }
  • MCP server request handler case that dispatches harvest_restart_timer calls to the HarvestClient.restartTimer method.
    case 'harvest_restart_timer':
      const restartedTimer = await harvestClient.restartTimer(typedArgs.id as string);
      return {
        content: [
          {
            type: 'text',
            text: JSON.stringify(restartedTimer, null, 2),
          },
        ],
      };
  • src/tools.ts:62-72 (registration)
    Tool registration in the tools array, including name, description, and input schema requiring 'id' parameter.
    {
      name: 'harvest_restart_timer',
      description: 'Restart a stopped time entry timer. Use about {"tool": "harvest_restart_timer"} for detailed workflow and examples.',
      inputSchema: {
        type: 'object',
        properties: {
          id: { type: 'string', description: 'Time entry ID' }
        },
        required: ['id']
      }
    },
  • Input schema definition specifying the required 'id' parameter of type string for the harvest_restart_timer tool.
    inputSchema: {
      type: 'object',
      properties: {
        id: { type: 'string', description: 'Time entry ID' }
      },
      required: ['id']
    }
  • Detailed documentation and usage examples for the harvest_restart_timer tool provided in the getAboutInfo method.
          'harvest_restart_timer': `# harvest_restart_timer
    
    Restarts a stopped time entry timer to resume time tracking.
    
    ## Purpose
    Resume timing on a previously stopped time entry, setting is_running to true and timer_started_at to current time.
    
    ## Parameters
    - \`id\` (string, required): The time entry ID to restart
    
    ## Example Usage
    
    **Restart a stopped timer:**
    \`\`\`json
    {
      "tool": "harvest_restart_timer",
      "id": "98765"
    }
    \`\`\`
    
    ## Response Format
    Returns the updated time entry with:
    - \`is_running\`: true
    - \`timer_started_at\`: Current timestamp
    - \`hours\`: Previous accumulated hours
    - All other time entry properties
    
    ## Requirements
    - Time entry must exist
    - Timer must not already be running
    - Only one timer can run at a time per user
    
    ## Workflow
    1. Find stopped entry: harvest_list_time_entries
    2. Restart timer: harvest_restart_timer  
    3. Work on the task
    4. Stop when done: harvest_stop_timer
    
    ## Error Conditions
    - Entry not found: Invalid ID
    - Timer already running: Cannot restart running timer
    - Another timer running: Stop other timer first`,

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

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