🌾 Harvest MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **Unofficial** Model Context Protocol (MCP) server for seamless integration with the Harvest time tracking API
**⚠️ Disclaimer:** This is an unofficial, third-party integration with the Harvest API. This project is not affiliated with, endorsed by, or sponsored by Harvest or Forecast (the company behind Harvest).
✨ Features
- 🔗 **Complete Harvest API v2 Coverage** - 40+ tools covering all major endpoints
- 🛡️ **Type-Safe** - Full TypeScript support with Zod validation
- ⚡ **High Performance** - Built with async/await and proper rate limiting
- 🧪 **Thoroughly Tested** - Comprehensive unit, integration, and contract tests
- 📊 **Rich Logging** - Structured logging for debugging and monitoring
- 🔄 **Auto-Retry** - Intelligent retry logic with exponential backoff
- 📖 **MCP Compliant** - Works with Claude Desktop and other MCP clients
🚀 Quick Start
Prerequisites
- Node.js 18+
- Harvest account with API access
- MCP-compatible client (like Claude Desktop)
Installation
Configuration
1. **Get your Harvest API credentials:**
- Go to Harvest → Settings → Developers → Personal Access Tokens
- Create a new token
- Note your Account ID (visible in URL or settings)
2. **Configure your MCP client** (e.g., Claude Desktop):
3. **Start using with Claude!**
🎯 What You Can Do
Once connected, you can ask Claude to help with:
⏱️ Time Tracking
- "Show me all my time entries for this week"
- "Start a timer for the 'Development' task on the 'Website Project'"
- "How many hours did I work on Project X last month?"
📋 Project Management
- "List all active projects for client Acme Corp"
- "Create a new project called 'Mobile App' for client TechStart"
- "Show me project budget vs actual time spent"
👥 Team Management
- "Who are all the users in our Harvest account?"
- "Show me John's time entries for last week"
💰 Financial Tracking
- "Generate an expense report for Q4"
- "Show me all unpaid invoices"
- "What's our total billable hours this month?"
🛠️ Available Tools
📊 Company & Account (1 tool)
- get_company - Get company information and settings
⏰ Time Entries (8 tools)
- list_time_entries - List time entries with filtering
- get_time_entry - Get specific time entry details
- create_time_entry - Create new time entry
- update_time_entry - Update existing time entry
- delete_time_entry - Delete time entry
- start_timer - Start a timer for a task
- stop_timer - Stop running timer
- restart_timer - Restart a previous time entry
🏗️ Projects (7 tools)
- list_projects - List all projects with filtering
- get_project - Get specific project details
- create_project - Create new project
- update_project - Update project details
- delete_project - Delete project
- list_project_task_assignments - List task assignments for project
- create_project_task_assignment - Assign task to project
- update_project_task_assignment - Update task assignment
- delete_project_task_assignment - Remove task assignment
📝 Tasks (5 tools)
- list_tasks - List all tasks
- get_task - Get specific task details
- create_task - Create new task
- update_task - Update task details
- delete_task - Delete task
🏢 Clients (5 tools)
- list_clients - List all clients
- get_client - Get specific client details