@Iiinigence/Harvest
FreeNot checkedMCP server for Harvest time tracking, enabling users to manage timers, log time, and generate reports through natural language.
About
MCP server for Harvest time tracking, enabling users to manage timers, log time, and generate reports through natural language.
README
Track time, run timers, and read time reports — by just asking your AI.
An open-source MCP server for Harvest, developed by IIInigence. Works with Claude Desktop, Claude Code, and any MCP-compatible client.
🎥 Setup tutorial video: coming soon — subscribe
Easiest install — one file, no terminal (Claude Desktop)
- Download
iiinigence-harvest.mcpbfrom the latest release - In Claude Desktop: Settings → Extensions → Advanced settings → Install Extension → pick the downloaded file. Claude shows what you're getting; click Install.
- Paste your Harvest Personal Access Token and Account ID (both from id.getharvest.com/developers) into the settings form, then click the Disabled button so it reads Enabled. Done.
No Node, no config files — Claude Desktop runs the bundle with its built-in runtime. Nervous about giving an AI write access to your timesheet? Flip on Read-only mode in the same form: Claude can read projects, entries, and reports but can't log or change a thing until you turn it off.
Quick start (manual / npx route)
1. Get your credentials — id.getharvest.com/developers → Create new personal access token. Note the token and the numeric Account ID shown with it.
2. Add to Claude Desktop — Settings → Developer → Edit Config:
{
"mcpServers": {
"harvest": {
"command": "npx",
"args": ["-y", "@iiinigence/harvest-mcp"],
"env": {
"HARVEST_ACCESS_TOKEN": "your_token_here",
"HARVEST_ACCOUNT_ID": "1234567",
"READ_ONLY": "false"
}
}
}
}
Restart Claude Desktop, then try: "How many hours did I log this week?"
What it's like to use
- "Start a timer on the Acme website project — task: development, note: fixing the checkout bug."
- "Stop my timer."
- "Log 2 hours yesterday on Acme — client meeting."
- "How many hours did we spend per client this month, and how much of it was billable?"
- "Who on the team logged the most hours last week?"
- "Find my unbilled overtime — compare this month's hours to the project budgets."
Tools
| Tool | What it does |
|---|---|
get_me |
Verify the connection; your user id, roles, timezone |
list_clients |
Clients in the account |
list_projects |
Projects with client, code, and budget info |
list_project_tasks |
Tasks available on a project (needed to log time) |
list_time_entries |
Entries with filters: date range, project, person, running |
get_time_report |
Aggregated hours by client / project / task / team member |
log_time |
Create a completed time entry |
start_timer |
Start a running timer (auto-stops any other running timer) |
stop_timer |
Stop the running timer |
update_time_entry |
Edit hours, notes, date, project, or task |
list_users |
Team members (admin/manager) |
Configuration
| Env var | Required | Description |
|---|---|---|
HARVEST_ACCESS_TOKEN |
✅ | Personal Access Token from id.getharvest.com/developers |
HARVEST_ACCOUNT_ID |
✅ | Numeric account id shown next to the token |
READ_ONLY |
— | true = reports and entries readable, all writing blocked (default false) |
Safety notes
- No delete tool — by design. This server can log and edit time, but it can never delete an entry. If something truly needs deleting, do it in Harvest.
- Read-only mode is a hard block enforced by the server, not a suggestion to the model.
- Your Personal Access Token carries your Harvest permissions. Treat it like a password; revoke it at id.getharvest.com/developers if unsure.
- Keep yourself as the approval step for edits: ask your assistant to show entries before changing them.
Privacy
This connector runs locally, collects no data, has no telemetry, and talks only to Harvest's API. Your token is stored on your device by Claude Desktop and sent only to Harvest. Full policy: PRIVACY.md.
Who built this
IIInigence — a software development agency: custom software, AI automations, full platforms. This connector is part of our video series on connecting Claude to your business tools, one at a time. See also our SendGrid connector.
Want something like this built for your business? Tell us what you'd build.
Development
git clone https://github.com/iiinigence/harvest-mcp.git
cd harvest-mcp
npm install
npm run build
HARVEST_ACCESS_TOKEN=xxx HARVEST_ACCOUNT_ID=1234567 node dist/index.js
MIT licensed. PRs welcome.
This is an independent project by IIInigence. It is not affiliated with, endorsed, or sponsored by Harvest. "Harvest" is a trademark of Iridesco, LLC, used here only to describe compatibility.
Installing @Iiinigence/Harvest
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/iiinigence/harvest-mcpFAQ
Is @Iiinigence/Harvest MCP free?
Yes, @Iiinigence/Harvest MCP is free — one-click install via Unyly at no cost.
Does @Iiinigence/Harvest need an API key?
No, @Iiinigence/Harvest runs without API keys or environment variables.
Is @Iiinigence/Harvest hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install @Iiinigence/Harvest in Claude Desktop, Claude Code or Cursor?
Open @Iiinigence/Harvest on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare @Iiinigence/Harvest with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
