Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HARVEST_ACCOUNT_IDYesYour Harvest Account ID, visible in the URL or settings when viewing developer tokens.
HARVEST_ACCESS_TOKENYesYour Harvest personal access token. Obtain this from Harvest → Settings → Developers → Personal Access Tokens.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_company

Retrieve company information and settings for the authenticated account. Returns comprehensive company details including billing configuration, time tracking preferences, and enabled features.

list_time_entries

Retrieve a list of time entries with optional filtering. Supports filtering by user, client, project, task, billing status, date ranges, and more. Returns paginated results.

get_time_entry

Retrieve a specific time entry by its ID. Returns complete time entry details including project, task, user, and timing information.

create_time_entry

Create a new time entry. Requires project_id, task_id, and spent_date. Must provide either hours OR both started_time and ended_time.

update_time_entry

Update an existing time entry. Can modify project, task, hours, notes, and other fields. Only provided fields will be updated.

delete_time_entry

Delete a time entry permanently. This action cannot be undone.

start_timer

Start a timer for a new time entry. Creates a running time entry that tracks time automatically.

stop_timer

Stop a running timer and finalize the time entry with calculated hours.

restart_timer

Restart a previously stopped timer, creating a new running time entry based on an existing entry.

list_projects

Retrieve a list of projects with optional filtering by client, active status, and updated date. Returns paginated results with comprehensive project details.

get_project

Retrieve a specific project by its ID. Returns complete project details including client information, budget settings, billing configuration, and project dates.

create_project

Create a new project for a client. Requires project name and client ID. Supports extensive configuration including budget settings, billing preferences, and project timeline.

update_project

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

delete_project

Delete (archive) a project. This action archives the project rather than permanently deleting it, preserving historical data while making it inactive.

list_project_task_assignments

Retrieve task assignments for a specific project. Shows which tasks are available for time tracking on the project and their specific settings.

create_project_task_assignment

Assign a task to a project, making it available for time tracking on that project. Allows setting project-specific rates and budgets.

update_project_task_assignment

Update an existing project task assignment including rates, budget, and active status. Only provided fields will be updated.

delete_project_task_assignment

Remove a task assignment from a project, making the task unavailable for time tracking on that project.

list_tasks

Retrieve a list of tasks with optional filtering. Tasks are the building blocks for time tracking and can be assigned to projects.

get_task

Retrieve a specific task by its ID. Returns complete task details including default billing settings and activity status.

create_task

Create a new task that can be assigned to projects for time tracking. Tasks define what type of work is being performed.

update_task

Update an existing task. Can modify task name, billing settings, and activity status. Only provided fields will be updated.

delete_task

Delete (archive) a task. This action archives the task rather than permanently deleting it, preserving historical data while making it inactive.

list_clients

Retrieve a list of clients with optional filtering by active status and updated date. Returns paginated results with client details including billing information.

get_client

Retrieve a specific client by its ID. Returns complete client details including contact information and billing configuration.

create_client

Create a new client for project management and billing. Requires client name and supports address and currency configuration.

update_client

Update an existing client. Can modify name, active status, address, and currency. Only provided fields will be updated.

delete_client

Delete (archive) a client. This action archives the client rather than permanently deleting it, preserving historical project and billing data.

list_users

Retrieve a list of users with optional filtering by active status and updated date. Returns paginated results with user profiles and permissions.

get_user

Retrieve a specific user by ID. Returns complete user profile including roles, permissions, and billing rates.

get_current_user

Retrieve the currently authenticated user's profile and permissions.

create_user

Create a new user with specified roles and permissions. Supports team member management and access control.

update_user

Update an existing user's profile, permissions, and rates. Only provided fields will be updated.

delete_user

Delete (archive) a user. This action archives the user rather than permanently deleting them, preserving time tracking history.

list_invoices

Retrieve invoices with optional filtering by client, project, state, and date ranges. Returns paginated results with complete invoice details.

get_invoice

Retrieve a specific invoice by ID with complete details including line items, payments, and billing information.

create_invoice

Create a new invoice for a client with optional line items and billing details. Supports custom terms, taxes, and payment configurations.

update_invoice

Update an existing invoice including subject, dates, terms, taxes, and other billing details. Only provided fields will be updated.

delete_invoice

Delete an invoice permanently. This action cannot be undone and will remove all associated billing data.

list_expenses

Retrieve expenses with filtering by user, client, project, billing status, and date ranges. Returns paginated results with expense details.

get_expense

Retrieve a specific expense by ID with complete details including receipts and billing information.

create_expense

Create a new expense entry for a project with category and cost details. Supports receipt attachment and billable status.

update_expense

Update an existing expense including project, category, cost, and billing details. Only provided fields will be updated.

delete_expense

Delete an expense permanently. This action cannot be undone.

list_expense_categories

Retrieve available expense categories for expense classification and organization.

list_estimates

Retrieve estimates with filtering by client, state, and date ranges. Returns paginated results with estimate details.

get_estimate

Retrieve a specific estimate by ID with complete details including line items, terms, and client information.

create_estimate

Create a new estimate for a client with optional line items and terms. Supports custom pricing, taxes, and discounts.

update_estimate

Update an existing estimate including subject, terms, taxes, and other details. Only provided fields will be updated.

delete_estimate

Delete an estimate permanently. This action cannot be undone.

get_time_report

Generate comprehensive time tracking reports with filtering by date range, users, clients, projects, and tasks. Supports grouping and billable status filtering.

get_expense_report

Generate comprehensive expense reports with filtering by date range, users, clients, projects, and categories. Supports grouping and billing status filtering.

get_project_budget_report

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

get_uninvoiced_report

Generate reports of uninvoiced time and expenses within a date range. Essential for identifying billable work that hasn't been invoiced yet.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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