ianaleck/harvest-mcp-server

ianaleck/harvest-mcp-server

от ianaleck
Неофициальный MCP сервер для интеграции с Harvest API – управляйте трекингом времени, проектами, задачами и отчетами прямо из ИИ-клиента. Более 40 инструментов для команд, работающих с Harvest.

🌾 Harvest MCP Server

npm version TypeScript MCP License: MIT Tests Buy Me A Coffee

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).

harvest-mcp-server MCP server

✨ 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
# Install globally
npm install -g @ianaleck/harvest-mcp-server

# Or install locally
npm install @ianaleck/harvest-mcp-server
Инструменты были проиндексированы:
create_client

Создаёт нового клиента для управления проектами и биллинга. Требует имя клиента, поддерживает настройку адреса и валюты.

Параметры
  • addressstring

    Адрес клиента

  • currencystring

    Трёхбуквенный код валюты ISO (например, USD, EUR)

  • is_activeboolean

    Активен ли клиент

  • namestringобязательный

    Имя клиента (обязательно)

create_estimate

Создаёт новую смету для клиента с опциональными позициями и условиями. Поддерживает индивидуальные цены, налоги и скидки.

Параметры
  • client_idnumberобязательный

    Идентификатор клиента, для которого создаётся оценка (обязательно)

  • currencystring

    Трёхбуквенный код валюты ISO (например, USD, EUR)

  • discountnumber

    Процент скидки (0-100)

  • issue_datestring

    Оценивает дату выпуска (YYYY-MM-DD)

  • notesstring

    Оценивает заметки или описание.

  • purchase_orderstring

    Номер заказа клиента

  • subjectstring

    Оценивает тему письма.

  • taxnumber

    Процент налога

  • tax2number

    Второй процент налога (0-100)

create_expense

Создаёт новую запись расходов для проекта с категорией и стоимостью. Поддерживает прикрепление чека и статус оплачиваемости.

Параметры
  • billableboolean

    Оплачивается ли расход клиентом

  • expense_category_idnumberобязательный

    ID категории расходов (обязательный)

  • notesstring

    Заметки или описание для расхода

  • project_idnumberобязательный

    Идентификатор проекта, с которым связать расход (обязательно)

  • spent_datestringобязательный

    Дата, когда был понесён расход (ГГГГ-ММ-ДД) (обязательно)

  • total_costnumberобязательный

    Общая стоимость расхода (обязательно)

  • unitsnumber

    Количество единиц для расходов на единицу.

  • user_idnumber

    Идентификатор пользователя, который понёс расход

create_invoice

Создаёт новый счёт для клиента с опциональными позициями и платёжными реквизитами. Поддерживает настраиваемые условия, налоги и конфигурации оплаты.

Параметры
  • client_idnumberобязательный

    ID клиента для выставления счёта (обязательно)

  • currencystring

    Трёхбуквенный код валюты ISO (например, USD, EUR)

  • discountnumber

    Процент скидки (0-100)

  • due_datestring

    Срок оплаты счёта (YYYY-MM-DD)

  • issue_datestring

    Дата выставления счёта (YYYY-MM-DD)

  • notesstring

    Примечания к счету или описание

  • payment_termstring

    Условия оплаты, например «Net 30».

  • purchase_orderstring

    Номер заказа клиента

  • subjectstring

    Тема счёта

  • taxnumber

    Процент налога

  • tax2number

    Второй процент налога (0-100)

create_project

Создаёт новый проект для клиента. Требуется название проекта и ID клиента. Поддерживает расширенную настройку, включая настройки бюджета, параметры выставления счетов и временные рамки проекта.

Параметры
  • bill_byenum

    Как выставить счёт за этот проект

  • budgetnumber

    Сумма бюджета проекта

  • budget_byenum

    Как рассчитывается бюджет

  • budget_is_monthlyboolean

    Сбрасывается ли бюджет ежемесячно

  • client_idnumberобязательный

    ID клиента, которому принадлежит этот проект (обязательно)

  • codestring

    Код проекта для справки

  • cost_budgetnumber

    Бюджет затрат для проекта

  • cost_budget_include_expensesboolean

    Включает расходы в расчёты стоимости бюджета.

  • ends_onstring

    Дата окончания проекта (ГГГГ-ММ-ДД)

  • feenumber

    Фиксированная сумма вознаграждения

  • hourly_ratenumber

    Почасовая ставка по умолчанию для проекта

  • is_activeboolean

    Активен ли проект

  • is_billableboolean

    Будет ли проект оплачиваемым?

  • is_fixed_feeboolean

    Использует ли проект фиксированную оплату

  • namestringобязательный

    Название проекта (обязательно)

  • notesstring

    Заметки проекта

  • notify_when_over_budgetboolean

    Отправлять уведомления при превышении бюджета

  • over_budget_notification_percentagenumber

    Процентный порог для уведомлений о бюджете

  • show_budget_to_allboolean

    Показывает бюджетную информацию всем членам команды.

  • starts_onstring

    Дата начала проекта (ГГГГ-ММ-ДД)

create_project_task_assignment

Назначает задачу на проект, делая её доступной для учёта времени по этому проекту. Позволяет устанавливать ставки и бюджеты, специфичные для проекта.

Параметры
  • billableboolean

    Является ли время, отслеживаемое по этой задаче, оплачиваемым

  • budgetnumber

    Распределение бюджета для этой задачи.

  • hourly_ratenumber

    Почасовая ставка за эту задачу в этом проекте

  • is_activeboolean

    Не понял, о каком задании речь. Уточните, пожалуйста, что вы имеете в виду — какое именно задание и в каком контексте?

  • project_idnumberобязательный

    Идентификатор проекта, к которому нужно назначить задачу (обязательно)

  • task_idnumberобязательный

    ID задачи для назначения (обязательно)

create_task

Создаёт новую задачу, которую можно назначить проектам для учёта времени. Задачи определяют, какой тип работы выполняется.

Параметры
  • billable_by_defaultboolean

    Указывает, оплачивается ли эта задача по умолчанию.

  • default_hourly_ratenumber

    Почасовая ставка по умолчанию для этой задачи

  • is_activeboolean

    Активна ли задача.

  • is_defaultboolean

    Является ли это задачей по умолчанию

  • namestringобязательный

    Название задачи (обязательно)

create_time_entry

Создаёт новую запись времени. Требует project_id, task_id и spent_date. Необходимо указать либо hours, ИЛИ оба поля started_time и ended_time.

Параметры
  • ended_timestring

    Время окончания в формате HH:MM (24-часовой)

  • external_referenceobject
  • hoursnumber

    Десятичные часы (например, 0.5 = 30 мин, 1.25 = 1 ч 15 мин).

  • notesstring

    Заметки для записи времени.

  • project_idnumberобязательный

    Идентификатор проекта, для которого учитывается время.

  • spent_datestringобязательный

    Дата, когда было потрачено время (YYYY-MM-DD)

  • started_timestring

    Время начала в формате HH:MM (24 часа)

  • task_idnumberобязательный

    Идентификатор задачи, для которой учитывается время.

create_user

Создает нового пользователя с указанными ролями и разрешениями. Поддерживает управление участниками команды и контроль доступа.

Параметры
  • can_create_invoicesboolean

    Разрешить создание счетов

  • can_create_projectsboolean

    Разрешить создание проекта.

  • can_see_ratesboolean

    Разрешает просмотр тарифов на оплату.

  • cost_ratenumber

    Ставка затрат для внутренних расчётов.

  • default_hourly_ratenumber

    Почасовая ставка по умолчанию

  • emailstringобязательный

    Адрес электронной почты (обязательно)

  • first_namestringобязательный

    Имя (обязательно)

  • has_access_to_all_future_projectsboolean

    Предоставить доступ ко всем будущим проектам.

  • is_activeboolean

    Статус активности пользователя.

  • is_adminboolean

    Предоставляет права администратора.

  • is_contractorboolean

    Отметить как подрядчика

  • is_project_managerboolean

    Предоставляет роль менеджера проекта.

  • last_namestringобязательный

    Фамилия (обязательно)

  • telephonestring

    Номер телефона.

  • timezonestring

    Часовой пояс пользователя

  • weekly_capacitynumber

    Недельный объём в секундах

delete_client

Удалить (архивировать) клиента. Это действие архивирует клиента, а не удаляет его навсегда, сохраняя исторические данные проектов и биллинга.

Параметры
  • client_idnumberобязательный

    Идентификатор клиента для удаления

delete_estimate

Удалить смету навсегда. Это действие нельзя отменить.

Параметры
  • estimate_idnumberобязательный

    Идентификатор оценки, которую нужно удалить

delete_expense

Удаляет расход навсегда. Это действие нельзя отменить.

Параметры
  • expense_idnumberобязательный

    Идентификатор расхода, который нужно удалить

delete_invoice

Удалить счёт навсегда. Это действие нельзя отменить, и оно удалит все связанные платёжные данные.

Параметры
  • invoice_idnumberобязательный

    ID счёта для удаления

delete_project

Удаляет (архивирует) проект. Это действие архивирует проект, а не удаляет его навсегда, сохраняя исторические данные, но делая его неактивным.

Параметры
  • project_idnumberобязательный

    ID проекта, который нужно удалить

delete_project_task_assignment

Удаляет назначение задачи из проекта, делая задачу недоступной для учёта времени в этом проекте.

Параметры
  • project_idnumberобязательный

    Идентификатор проекта (обязательно)

  • task_assignment_idnumberобязательный

    Идентификатор назначения задачи, который нужно удалить (обязательно)

delete_task

Удалить (архивировать) задачу. Это действие архивирует задачу, а не удаляет её навсегда, сохраняя исторические данные и делая её неактивной.

Параметры
  • task_idnumberобязательный

    Идентификатор задачи, которую нужно удалить

delete_time_entry

Удаляет запись времени безвозвратно. Это действие нельзя отменить.

Параметры
  • time_entry_idnumberобязательный

    Идентификатор записи времени для удаления

delete_user

Удаляет (архивирует) пользователя. Это действие архивирует пользователя, а не удаляет его навсегда, сохраняя историю учёта времени.

Параметры
  • user_idnumberобязательный

    Идентификатор пользователя, которого нужно удалить

get_client

Получает конкретного клиента по его ID. Возвращает полные данные клиента, включая контактную информацию и настройки биллинга.

Параметры
  • client_idnumberобязательный

    Идентификатор клиента, которого нужно получить.

get_company

Получает информацию о компании и настройки для аутентифицированной учётной записи. Возвращает подробные данные о компании, включая конфигурацию биллинга, настройки учёта времени и включённые функции.

Параметры

Без параметров.

get_current_user

Получить профиль и разрешения текущего аутентифицированного пользователя.

Параметры

Без параметров.

get_estimate

Получает конкретную смету по идентификатору с полными деталями, включая позиции, условия и информацию о клиенте.

Параметры
  • estimate_idnumberобязательный

    Идентификатор оценки, которую нужно получить.

get_expense

Извлекает конкретный расход по ID с полными деталями, включая чеки и информацию о выставлении счетов.

Параметры
  • expense_idnumberобязательный

    Идентификатор расхода, который нужно получить

get_expense_report

Генерирует подробные отчёты по расходам с фильтрацией по диапазону дат, пользователям, клиентам, проектам и категориям. Поддерживает группировку и фильтрацию по статусу оплаты.

Параметры
  • billableboolean

    Фильтрует по статусу оплаты.

  • client_idnumber

    Фильтрует по конкретному идентификатору клиента.

  • expense_category_idnumber

    Фильтрует по идентификатору конкретной категории расходов.

  • fromstringобязательный

    Дата начала отчёта (YYYY-MM-DD) (обязательно)

  • group_byenum

    Группирует результаты отчёта по указанному измерению.

  • is_billedboolean

    Фильтрует по статусу оплаты.

  • project_idnumber

    Фильтрует по конкретному ID проекта.

  • tostringобязательный

    Дата окончания отчёта (YYYY-MM-DD) (обязательно)

  • updated_sincestring

    Фильтрует расходы, обновлённые с этой отметки времени.

  • user_idnumber

    Фильтрует по конкретному user ID.

get_invoice

Получить конкретный счет по ID с полными деталями, включая позиции, платежи и информацию о выставлении счета.

Параметры
  • invoice_idnumberобязательный

    Идентификатор счёта, который нужно получить

get_project

Извлекает конкретный проект по его ID. Возвращает полные сведения о проекте, включая информацию о клиенте, настройки бюджета, конфигурацию выставления счетов и даты проекта.

Параметры
  • project_idnumberобязательный

    Идентификатор проекта

get_project_budget_report

Формирует отчёты по бюджетам проектов с разбивкой расходов относительно планов. Помогает отслеживать рентабельность проектов и использование бюджета.

Параметры
  • client_idnumber

    Фильтрует по конкретному идентификатору клиента.

  • is_activeboolean

    Фильтровать только по активным проектам

  • over_budgetboolean

    Фильтрует проекты, превышающие бюджет.

get_task

Извлекает конкретную задачу по её ID. Возвращает полные детали задачи, включая настройки биллинга по умолчанию и статус активности.

Параметры
  • task_idnumberобязательный

    Идентификатор задачи для получения.

get_time_entry

Получает конкретную запись времени по её ID. Возвращает полные сведения о записи времени, включая информацию о проекте, задаче, пользователе и времени.

Параметры
  • time_entry_idnumberобязательный

    Идентификатор записи времени, которую нужно получить.

get_time_report

Создаёт подробные отчёты учёта времени с фильтрацией по диапазону дат, пользователям, клиентам, проектам и задачам. Поддерживает группировку и фильтрацию по статусу оплаты.

Параметры
  • billableboolean

    Фильтрует по статусу оплаты.

  • client_idnumber

    Фильтрует по конкретному идентификатору клиента.

  • fromstringобязательный

    Дата начала отчёта (YYYY-MM-DD) (обязательно)

  • group_byenum

    Группирует результаты отчёта по указанному измерению.

  • is_billedboolean

    Фильтрует по статусу оплаты.

  • is_runningboolean

    Фильтрует по статусу запущенного таймера.

  • project_idnumber

    Фильтрует по конкретному ID проекта.

  • task_idnumber

    Фильтрует по конкретному идентификатору задачи.

  • tostringобязательный

    Дата окончания отчёта (YYYY-MM-DD) (обязательно)

  • updated_sincestring

    Фильтрует по записям, обновленным с этой метки времени.

  • user_idnumber

    Фильтрует по конкретному user ID.

get_uninvoiced_report

Генерирует отчеты о невыставленных в счет часах и расходах за указанный диапазон дат. Необходим для выявления оплачиваемой работы, которая еще не была выставлена в счет.

Параметры
  • client_idnumber

    Фильтрует по конкретному идентификатору клиента.

  • fromstringобязательный

    Дата начала отчёта (YYYY-MM-DD) (обязательно)

  • project_idnumber

    Фильтрует по конкретному ID проекта.

  • tostringобязательный

    Дата окончания отчёта (YYYY-MM-DD) (обязательно)

get_user

Получает конкретного пользователя по ID. Возвращает полный профиль пользователя, включая роли, разрешения и ставки оплаты.

Параметры
  • user_idnumberобязательный

    ID пользователя, которого нужно получить

list_clients

Получить список клиентов с возможностью фильтрации по статусу активности и дате обновления. Возвращает постраничные результаты с деталями клиентов, включая платежную информацию.

Параметры
  • is_activeboolean

    Отфильтровать по активному статусу.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество клиентов на страницу (максимум 2000)

  • updated_sincestring

    Фильтрует клиентов, обновленных с указанной отметки времени.

list_estimates

Получает сметы с фильтрацией по клиенту, статусу и диапазонам дат. Возвращает постраничные результаты с деталями смет.

Параметры
  • client_idnumber

    Фильтровать по ID клиента

  • fromstring

    Дата начала для фильтра по диапазону дат (YYYY-MM-DD)

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество оценок на страницу (максимум 2000)

  • stateenum

    Фильтровать по состоянию оценки

  • tostring

    Конечная дата для фильтра по диапазону дат (ГГГГ-ММ-ДД)

  • updated_sincestring

    Фильтровать по оценкам, обновлённым после этой отметки времени.

list_expense_categories

Получает доступные категории расходов для классификации и организации расходов.

Параметры
  • is_activeboolean

    Отфильтровать по активному статусу.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество категорий на странице (максимум 2000)

  • updated_sincestring

    Фильтрует по категориям, обновленным после этой метки времени.

list_expenses

Получает расходы с фильтрацией по пользователю, клиенту, проекту, статусу оплаты и диапазонам дат. Возвращает постраничные результаты с деталями расходов.

Параметры
  • client_idnumber

    Фильтровать по ID клиента

  • fromstring

    Дата начала для фильтра по диапазону дат (YYYY-MM-DD)

  • is_billedboolean

    Фильтрует по статусу оплаты.

  • is_closedboolean

    Фильтрует по статусу «закрыто».

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество расходов на страницу (максимум 2000)

  • project_idnumber

    Фильтровать по ID проекта

  • tostring

    Конечная дата для фильтра по диапазону дат (ГГГГ-ММ-ДД)

  • updated_sincestring

    Фильтрует расходы, обновлённые с этой отметки времени.

  • user_idnumber

    Фильтрует по идентификатору пользователя.

list_invoices

Получает счета с возможностью фильтрации по клиенту, проекту, состоянию и диапазонам дат. Возвращает постраничные результаты с полными деталями счета.

Параметры
  • client_idnumber

    Фильтровать по ID клиента

  • fromstring

    Дата начала для фильтра по диапазону дат (YYYY-MM-DD)

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество счетов на странице (макс. 2000)

  • project_idnumber

    Фильтровать по ID проекта

  • stateenum

    Фильтрует по состоянию счёта.

  • tostring

    Конечная дата для фильтра по диапазону дат (ГГГГ-ММ-ДД)

  • updated_sincestring

    Фильтрует счета, обновлённые начиная с этого момента времени.

list_projects

Извлекает список проектов с опциональной фильтрацией по клиенту, статусу активности и дате обновления. Возвращает постраничные результаты с подробными сведениями о проектах.

Параметры
  • client_idnumber

    Фильтровать по ID клиента

  • is_activeboolean

    Отфильтровать по активному статусу.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество проектов на странице (максимум 2000)

  • updated_sincestring

    Фильтровать по проектам, обновлённым с этой отметки времени.

list_project_task_assignments

Получает назначения задач для конкретного проекта. Показывает, какие задачи доступны для учёта времени в проекте и их конкретные настройки.

Параметры
  • is_activeboolean

    Отфильтровать по активному статусу.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество заданий на странице (максимум 2000)

  • project_idnumberобязательный

    Идентификатор проекта, для которого требуется получить назначенные задачи (обязательно)

  • updated_sincestring

    Фильтровать по заданиам, обновлённым с этой метки времени.

list_tasks

Получить список задач с возможностью фильтрации. Задачи - строительные блоки для учёта времени, и их можно назначать проектам.

Параметры
  • is_activeboolean

    Отфильтровать по активному статусу.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество задач на странице (максимум 2000)

  • updated_sincestring

    Фильтрует задачи, обновлённые после этой отметки времени.

list_time_entries

Получает список временных записей с возможностью фильтрации. Поддерживает фильтрацию по пользователю, клиенту, проекту, задаче, статусу оплаты, диапазонам дат и другим параметрам. Возвращает постраничные результаты.

Параметры
  • client_idnumber

    Фильтровать по ID клиента

  • fromstring

    Дата начала для фильтра по диапазону дат (YYYY-MM-DD)

  • is_billedboolean

    Фильтрует по статусу оплаты.

  • is_runningboolean

    Фильтрует по статусу запущенного таймера.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество записей на странице (максимум 2000)

  • project_idnumber

    Фильтровать по ID проекта

  • task_idnumber

    Фильтр по ID задачи

  • tostring

    Конечная дата для фильтра по диапазону дат (ГГГГ-ММ-ДД)

  • updated_sincestring

    Фильтрует по записям, обновленным с этой метки времени.

  • user_idnumber

    Фильтрует по идентификатору пользователя.

list_users

Получает список пользователей с опциональной фильтрацией по статусу активности и дате обновления. Возвращает результаты с постраничной разбивкой, включая профили и разрешения пользователей.

Параметры
  • is_activeboolean

    Отфильтровать по активному статусу.

  • pagenumber

    Номер страницы для пагинации.

  • per_pagenumber

    Количество пользователей на странице (максимум 2000)

  • updated_sincestring

    Фильтрует по пользователям, обновлённым с этой метки времени.

restart_timer

Перезапускает ранее остановленный таймер, создавая новую запись текущего времени на основе существующей записи.

Параметры
  • idnumberобязательный

    Идентификатор временной записи, для которой нужно перезапустить таймер.

start_timer

Запускает таймер для новой записи времени. Создает активную запись времени, которая автоматически отслеживает время.

Параметры
  • external_referenceobject
  • notesstring

    Начальные заметки для таймера

  • project_idnumberобязательный

    Идентификатор проекта, для которого запускается таймер.

  • spent_datestringобязательный

    Дата для таймера (формат YYYY-MM-DD)

  • task_idnumberобязательный

    Идентификатор задачи, для которой запускается таймер.

stop_timer

Останавливает работающий таймер и завершает запись времени с рассчитанными часами.

Параметры
  • idnumberобязательный

    Идентификатор запущенной записи времени, которую нужно остановить.

update_client

Обновляет существующего клиента. Можно изменить название, статус активности, адрес и валюту. Обновляются только переданные поля.

Параметры
  • addressstring

    Обновляет адрес клиента.

  • currencystring

    Обновляет код валюты.

  • idnumberобязательный

    ID клиента для обновления (обязательно)

  • is_activeboolean

    Обновить статус активности

  • namestring

    Обновляет имя клиента.

update_estimate

Обновить существующую смету, включая тему, условия, налоги и другие детали. Будут обновлены только указанные поля.

Параметры
  • client_idnumber

    Обновляет идентификатор клиента.

  • currencystring

    Обновляет код валюты.

  • discountnumber

    Обновляет процент скидки.

  • idnumberобязательный

    Идентификатор оценки, которую нужно обновить (обязательно).

  • issue_datestring

    Обновляет дату выпуска.

  • notesstring

    Обновляет заметки к оценке.

  • purchase_orderstring

    Обновляет номер заказа на поставку.

  • subjectstring

    Обновляет тему оценки.

  • taxnumber

    Обновляет процент налога.

  • tax2number

    Обновляет второй процент налога.

update_expense

Обновить существующий расход, включая проект, категорию, стоимость и детали оплаты. Будут обновлены только указанные поля.

Параметры
  • billableboolean

    Обновляет статус биллинга.

  • expense_category_idnumber

    Обновляет ID категории расходов.

  • idnumberобязательный

    ID расхода для обновления (обязательно)

  • notesstring

    Обновите заметки.

  • project_idnumber

    Обновляет идентификатор проекта.

  • spent_datestring

    Обновляет дату расхода.

  • total_costnumber

    Обновляет общую стоимость.

  • unitsnumber

    Обновляет единицы.

  • user_idnumber

    Обновляет идентификатор пользователя.

update_invoice

Обновить существующий счёт, включая тему, даты, условия, налоги и другие платёжные реквизиты. Будут обновлены только указанные поля.

Параметры
  • client_idnumber

    Обновляет идентификатор клиента.

  • currencystring

    Обновляет код валюты.

  • discountnumber

    Обновляет процент скидки.

  • due_datestring

    Обновляет срок выполнения.

  • idnumberобязательный

    Идентификатор счёта для обновления (обязательно)

  • issue_datestring

    Обновляет дату выпуска.

  • notesstring

    Обновляет примечания к счёту.

  • payment_termstring

    Обновляет условия оплаты.

  • purchase_orderstring

    Обновляет номер заказа на поставку.

  • subjectstring

    Обновляет тему счёта.

  • taxnumber

    Обновляет процент налога.

  • tax2number

    Обновляет второй процент налога.

update_project

Обновляет существующий проект. Можно изменить любые настройки проекта, включая название, платежную конфигурацию, настройки бюджета и временные рамки. Будут обновлены только указанные поля.

Параметры
  • bill_byenum

    Обновить способ оплаты.

  • budgetnumber

    Обновить сумму бюджета

  • budget_byenum

    Обновите метод расчета бюджета.

  • budget_is_monthlyboolean

    Обновить сброс ежемесячного бюджета

  • codestring

    Обнови код проекта.

  • cost_budgetnumber

    Обновляет бюджет затрат.

  • cost_budget_include_expensesboolean

    Обновить включение расходов.

  • ends_onstring

    Обновите дату окончания (YYYY-MM-DD)

  • feenumber

    Обновляет фиксированную плату.

  • hourly_ratenumber

    Обнови почасовую ставку.

  • idnumberобязательный

    Идентификатор проекта для обновления (обязательно)

  • is_activeboolean

    Обновить статус активности

  • is_billableboolean

    Обновить статус оплаты

  • is_fixed_feeboolean

    Обновить биллинг с фиксированной платой.

  • namestring

    Уточните, пожалуйста: название какого проекта нужно обновить и на какое новое имя?

  • notesstring

    Обновите заметки проекта.

  • notify_when_over_budgetboolean

    Обновите уведомления о бюджете.

  • over_budget_notification_percentagenumber

    Обновить порог уведомлений

  • show_budget_to_allboolean

    Обновить видимость бюджета

  • starts_onstring

    Обновите дату начала (ГГГГ-ММ-ДД)

update_project_task_assignment

Обновляет существующее назначение задачи в проекте, включая ставки, бюджет и статус активности. Будут обновлены только указанные поля.

Параметры
  • billableboolean

    Обновить статус оплаты

  • budgetnumber

    Обновляет распределение бюджета.

  • hourly_ratenumber

    Обнови почасовую ставку.

  • idnumberобязательный

    Идентификатор назначения задачи для обновления (обязательно)

  • is_activeboolean

    Обновить статус активности

  • project_idnumberобязательный

    Идентификатор проекта (обязательно)

update_task

Обновляет существующую задачу. Можно изменить имя задачи, настройки биллинга и статус активности. Обновляются только переданные поля.

Параметры
  • billable_by_defaultboolean

    Обновляет статус биллинга по умолчанию.

  • default_hourly_ratenumber

    Обновляет почасовую ставку по умолчанию.

  • idnumberобязательный

    Идентификатор задачи для обновления (обязательно)

  • is_activeboolean

    Обновить статус активности

  • is_defaultboolean

    Обновляет статус задачи по умолчанию.

  • namestring

    Обновляет название задачи.

update_time_entry

Обновляет существующую запись времени. Изменяет project, task, hours, notes и другие поля. Обновляются только переданные поля.

Параметры
  • ended_timestring

    Обновляет время окончания в формате HH:MM.

  • external_referenceobject
  • hoursnumber

    Обновляет десятичные часы.

  • idnumberобязательный

    Идентификатор записи времени, которую нужно обновить.

  • notesstring

    Примечания к обновлению

  • project_idnumber

    Обновляет идентификатор проекта.

  • spent_datestring

    Обновляет дату расхода (YYYY-MM-DD).

  • started_timestring

    Обновляет время начала в формате HH:MM

  • task_idnumber

    Обновите ID задачи.

update_user

Обновляет профиль существующего пользователя, его разрешения и ставки. Обновляются только указанные поля.

Параметры
  • can_create_invoicesboolean

    Обновляет разрешение на создание счёта.

  • can_create_projectsboolean

    Обновляет разрешение на создание проекта.

  • can_see_ratesboolean

    Отображение частоты обновления.

  • cost_ratenumber

    Обновляет ставку затрат.

  • default_hourly_ratenumber

    Обновляет почасовую ставку по умолчанию.

  • emailstring

    Обновляет адрес электронной почты.

  • first_namestring

    Обновляет имя.

  • has_access_to_all_future_projectsboolean

    Обновляет доступ к будущему проекту.

  • idnumberобязательный

    Идентификатор обновляемого пользователя (обязательно)

  • is_activeboolean

    Обновить статус активности

  • is_adminboolean

    Обновляет права администратора.

  • is_contractorboolean

    Обновляет статус подрядчика.

  • is_project_managerboolean

    Обновите роль менеджера проекта.

  • last_namestring

    Обновляет фамилию.

  • telephonestring

    Обновляет номер телефона.

  • timezonestring

    Обновляет часовой пояс.

  • weekly_capacitynumber

    Обновляет еженедельную ёмкость.

0.1.9основная
0.1.8
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.1.0-beta.1

Выберите клиент, чтобы установить ianaleck/harvest-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"ianaleck-harvest-mcp-server-pveb4mluye\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@ianaleck/harvest-mcp-server\"],\"env\":{\"HARVEST_ACCESS_TOKEN\":\"your_harvest_personal_access_token\",\"HARVEST_ACCOUNT_ID\":\"your_harvest_account_id\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add ianaleck-harvest-mcp-server-pveb4mluye --env HARVEST_ACCESS_TOKEN=your_harvest_personal_access_token --env HARVEST_ACCOUNT_ID=your_harvest_account_id -- npx -y @ianaleck/harvest-mcp-server

Либо через JSON-конфиг:

claude mcp add-json ianaleck-harvest-mcp-server-pveb4mluye "{\"command\":\"npx\",\"args\":[\"-y\",\"@ianaleck/harvest-mcp-server\"],\"env\":{\"HARVEST_ACCESS_TOKEN\":\"your_harvest_personal_access_token\",\"HARVEST_ACCOUNT_ID\":\"your_harvest_account_id\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add ianaleck-harvest-mcp-server-pveb4mluye --env HARVEST_ACCESS_TOKEN=your_harvest_personal_access_token --env HARVEST_ACCOUNT_ID=your_harvest_account_id -- npx -y @ianaleck/harvest-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.ianaleck-harvest-mcp-server-pveb4mluye]
command = "npx"
args = ["-y", "@ianaleck/harvest-mcp-server"]

[mcp_servers.ianaleck-harvest-mcp-server-pveb4mluye.env]
HARVEST_ACCESS_TOKEN = "your_harvest_personal_access_token"
HARVEST_ACCOUNT_ID = "your_harvest_account_id"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите ianaleck/harvest-mcp-server, а в поле команды запуска — строку ниже:
npx -y @ianaleck/harvest-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например ianaleck-harvest-mcp-server-pveb4mluye.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: ianaleck-harvest-mcp-server-pveb4mluye
    command: npx
    args:
      - "-y"
      - "@ianaleck/harvest-mcp-server"
    env:
      HARVEST_ACCESS_TOKEN: your_harvest_personal_access_token
      HARVEST_ACCOUNT_ID: your_harvest_account_id
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "ianaleck-harvest-mcp-server-pveb4mluye": {
      "command": "npx",
      "args": [
        "-y",
        "@ianaleck/harvest-mcp-server"
      ],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your_harvest_personal_access_token",
        "HARVEST_ACCOUNT_ID": "your_harvest_account_id"
      }
    }
  }
}

Похожие MCP-сервера

xeroapi/xero-mcp-server

xeroapi/xero-mcp-server

от xeroapi

MCP сервер для интеграции с бухгалтерской платформой Xero. Управляйте контактами, счетами, отчетами через единый протокол. Поддержка OAuth2 и кастомных подключений. Идеально для бухгалтеров и разработчиков, автоматизирующих финансовые процессы.

TypeScript⭐ 383
roychri/mcp-server-asana

roychri/mcp-server-asana

от roychri

MCP сервер для интеграции с Asana: управляйте задачами, проектами и комментариями из Claude Desktop и других MCP клиентов. Инструмент поддерживает создание, обновление, поиск задач, работу с проектами и статусами. Есть опциональный режим только для чтения для безопасного тестирования.

TypeScript⭐ 149
tacticlaunch/mcp-linear

tacticlaunch/mcp-linear

от tacticlaunch

MCP сервер для интеграции AI-ассистентов с Linear. Предоставляет инструменты управления задачами, проектами, циклами и документами, включая ресурсы и промпты. Полезен командам, использующим Linear ...

TypeScript⭐ 148
dodopayments/dodo-agent-plugin

dodopayments/dodo-agent-plugin

от dodopayments

MCP-сервер Dodo Payments для AI-агентов: добавляет API платежей, подписок и клиентов, а также семантический поиск по документации. Устанавливается в Claude Code, Cursor и Codex CLI. Полезен разработчикам, которые хотят автоматизировать оплату через агентов.

JavaScript⭐ 6
its-dart/dart-mcp-server

its-dart/dart-mcp-server

от its-dart

MCP сервер Dart подключает ИИ к управлению проектами: создавайте и редактируйте задачи и документы, фильтруйте по статусу, исполнителю и срокам. Готовые промпты и инструменты упрощают автоматизацию планирования — полезно командам, внедряющим AI-помощников в рабочий процесс.

TypeScript⭐ 128
untitledfinancial/dpx-mcp

untitledfinancial/dpx-mcp

от untitledfinancial

DPX MCP Server предоставляет AI-оракул для институциональных финансов и расчетный шлюз для USDC/EURC на Base mainnet. 13 инструментов для MCP-хостов: макросигналы, ESG-оценка, выполнение транзакций...

JavaScript⭐ 1
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин