Skip to main content
Glama
standardbeagle

Harvest MCP Server

harvest_create_time_entry

Create a new time entry in Harvest by specifying project, task, date, hours worked, and optional notes for accurate time tracking.

Instructions

Create a new time entry. Use about {"tool": "harvest_create_time_entry"} for detailed parameters and examples.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hoursNoHours worked
notesNoNotes for the time entry
project_idYesProject ID
spent_dateYesDate of the entry (YYYY-MM-DD)
task_idYesTask ID

Implementation Reference

  • Core handler function that sends a POST request to the Harvest API endpoint /time_entries to create a new time entry using the input data.
    async createTimeEntry(data: any) { return this.makeRequest('/time_entries', { method: 'POST', body: JSON.stringify(data), }); }
  • MCP server dispatch handler (switch case) for 'harvest_create_time_entry' that calls the HarvestClient.createTimeEntry method and formats the response as MCP content.
    case 'harvest_create_time_entry': const newTimeEntry = await harvestClient.createTimeEntry(typedArgs); return { content: [ { type: 'text', text: JSON.stringify(newTimeEntry, null, 2), }, ], };
  • Schema definition for the harvest_create_time_entry tool, including input schema with properties, descriptions, and required fields.
    { name: 'harvest_create_time_entry', description: 'Create a new time entry. Use about {"tool": "harvest_create_time_entry"} for detailed parameters and examples.', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID' }, task_id: { type: 'string', description: 'Task ID' }, spent_date: { type: 'string', description: 'Date of the entry (YYYY-MM-DD)' }, hours: { type: 'number', description: 'Hours worked' }, notes: { type: 'string', description: 'Notes for the time entry' } }, required: ['project_id', 'task_id', 'spent_date'] } },
  • src/index.ts:69-73 (registration)
    Registration of the ListToolsRequestHandler that returns the full tools array, making harvest_create_time_entry discoverable via MCP.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: tools, }; });

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