Harvest Time Tracking MCP Server
Integrations
Provides integration with Harvest time tracking service, offering capabilities to manage time entries, clients, projects, and generate reports. Users can create, update, delete, and retrieve time entries, manage clients and projects, and access various time reports.
mcp-server-harvest-time-tracking
A Model Context Protocol (MCP) server implementation for Harvest, enabling seamless integration with MCP clients. This project provides a standardized way to interact with Harvest through the Model Context Protocol. This is essentially a wrapper for the Harvest API in MCP format.
About
This project implements a Model Context Protocol server that wraps Harvest's REST API, allowing MCP clients to interact with Harvest in a standardized way. It provides access to Harvest's time tracking, client, project, and reporting features.
Feature Implementation Status
Feature | Status |
---|---|
Time Entries | |
List Time Entries | ✅ |
Get Time Entry | ✅ |
Create Time Entry (Duration) | ✅ |
Create Time Entry (Start/End) | ✅ |
Update Time Entry | ✅ |
Delete Time Entry | ✅ |
Delete Time Entry External Reference | ✅ |
Restart Time Entry | ✅ |
Stop Time Entry | ✅ |
Clients | |
List Clients | ✅ |
Get Client | ✅ |
Create Client | ✅ |
Update Client | ✅ |
Delete Client | ✅ |
Projects | |
List Projects | ✅ |
Get Project | ✅ |
Create Project | ✅ |
Update Project | ✅ |
Delete Project | ✅ |
Reports | |
Get Clients Time Report | ✅ |
Get Projects Time Report | ✅ |
Get Tasks Time Report | ✅ |
Get Team Time Report | ✅ |
Setup
Dependencies
This project depends on the following packages:
mcp
: Model Context Protocol implementationrequests
: For making HTTP requests to the Harvest APIpython-dotenv
: For loading environment variables
Environment Variables
Set the following environment variables:
You can obtain these credentials from your Harvest account settings or by creating a new OAuth2 application in Harvest.
Installation
- Clone the repository:
- Set up a virtual environment and install dependencies:
Usage with Claude Desktop
Add to your claude_desktop_config.json
:
Replace /path/to/mcp-server-harvest-time-tracking
with the actual path where you've cloned the repository.
Manual Execution
You can run the server manually:
Options in the Makefile:
setup
: Set up the virtual environment and install dependenciesrun
: Run the server in stdio mode (default)test
: Run testsclean
: Clean up temporary files and virtual environment
API Usage Examples
Time Entries
Projects
Reports
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This server cannot be installed
A standardized interface that enables MCP clients to interact with Harvest's time tracking system, providing access to time entries, clients, projects, and reporting features.