Skip to main content
Glama
standardbeagle

Harvest MCP Server

harvest_list_project_assignments

Retrieve your assigned projects from Harvest to track time and manage tasks effectively.

Instructions

List project assignments for the current user. Use about {"tool": "harvest_list_project_assignments"} for detailed usage.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
per_pageNoResults per page (max 100)

Implementation Reference

  • Core handler function that executes the tool logic by making the Harvest API request to /users/me/project_assignments with optional pagination parameters.
    async getProjectAssignments(options?: any) { const queryString = this.buildQueryString(options); return this.makeRequest(`/users/me/project_assignments${queryString}`); }
  • MCP server tool call handler that delegates to HarvestClient and formats the JSON response.
    case 'harvest_list_project_assignments': const projectAssignments = await harvestClient.getProjectAssignments(typedArgs); return { content: [ { type: 'text', text: JSON.stringify(projectAssignments, null, 2), }, ], };
  • Tool schema definition including name, description, and input validation schema.
    name: 'harvest_list_project_assignments', description: 'List project assignments for the current user. Use about {"tool": "harvest_list_project_assignments"} for detailed usage.', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number' }, per_page: { type: 'number', description: 'Results per page (max 100)' } } } },
  • src/index.ts:69-73 (registration)
    Registers the list of tools (including this one) for the MCP server.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: tools, }; });
  • Detailed documentation string for the tool, used by the 'about' tool.
    'harvest_list_project_assignments': `# harvest_list_project_assignments Lists project assignments for the current user. ## Purpose See which projects you have access to and can log time against. ## Parameters - \`page\` (number, optional): Page number for pagination - \`per_page\` (number, optional): Results per page, max 100 ## Example Usage **List your project assignments:** \`\`\`json { "tool": "harvest_list_project_assignments" } \`\`\` **With pagination:** \`\`\`json { "tool": "harvest_list_project_assignments", "page": 1, "per_page": 25 } \`\`\` ## Response Format Returns object with: - \`project_assignments\`: Array of assignment objects - Pagination information Each assignment includes: - \`id\`: Assignment ID - \`project\`: Full project object - \`client\`: Full client object - \`hourly_rate\`: Your rate for this project - \`budget\`: Budget information - \`is_active\`: Assignment status - \`created_at\`, \`updated_at\`: Timestamps ## Usage Tips - Essential for finding valid project_id values for time entries - Shows your specific hourly rate per project - Use with harvest_list_task_assignments to get complete assignment info`,

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