squidcode/timebook-cli

squidcode/timebook-cli

от squidcode
MCP-сервер для Timebook — трекинг времени и управление таймерами. Интегрируется с AI-агентами (Claude, Codex, Cursor) через CLI или удаленный HTTP с OAuth. Позволяет запускать/останавливать таймеры...

Timebook CLI

Command-line client and MCP server for Timebook — track time, manage timers, and expose your Timebook account to AI agents (Claude, Codex, Cursor, …) over the Model Context Protocol.

npm license timebook-cli MCP server

Install

# one-off
npx @squidcode/timebook login

# globally
npm install -g @squidcode/timebook
timebook --help

Requires Node.js 18.17+.

Authenticate

timebook login opens your browser, you log into Timebook (or use an existing session) and pick a scope (which clients/projects this token can touch). The browser delivers the token back to a short-lived loopback HTTP listener, which the CLI then writes to a config file with 0600 permissions.

timebook login

The token is stored at:

  • macOS: ~/Library/Preferences/timebook/config.json
  • Linux: ~/.config/timebook/config.json
  • Windows: %APPDATA%\timebook\Config\config.json

The token never leaves your machine after login. To revoke it server-side, visit https://usetimebook.com/settings/api-tokens.

Use it as a CLI

timebook whoami
timebook projects                         # list projects
timebook clients                          # list clients

timebook start -p "Acme website" -d "Wireframes"
timebook status                           # show running timer
timebook stop

# manual entries
timebook log -p "Acme website" -t 1h30m -d "Code review"
timebook log -p PROJ_ID --start 2026-05-04T09:00 --end 2026-05-04T10:30

timebook entries --project "Acme website" -n 10

# edit / delete (any combination of fields; unset ones stay as-is)
timebook entries edit ENTRY_ID -t 2h -d "code review + tests"
timebook entries edit ENTRY_ID --start 2026-05-04T09:00 --end 2026-05-04T11:00
timebook entries edit ENTRY_ID -d ""                    # clear description
timebook entries delete ENTRY_ID
create_clientвнешний мир

Создайте клиента (лицо или компания, которым вы выставляете счёт). Это необходимо до того, как сможет появиться любой проект или запись времени. Обычно с этого начинают на новом аккаунте.

Создайте клиента (лицо или компания, которым вы выставляете счёт). Это необходимо до того, как сможет появиться любой проект или запись времени. Обычно с этого начинают на новом аккаунте.

Параметры

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

    Client name, e.g. 'Acme Corp'.

  • emailstring

    Optional billing/contact email.

create_projectвнешний мир

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

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

Параметры

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

    Project name, e.g. 'Website redesign'.

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

    Client - id or exact name.

  • descriptionstring

    Optional project description.

delete_entryидемпотентныйвнешний мир

Удаляет запись времени. Сервер проверяет: запись не выставлена в счет, и либо этот токен создал ее, либо вызывающий является администратором / веб-сессией.

Удаляет запись времени. Сервер проверяет: запись не выставлена в счет, и либо этот токен создал ее, либо вызывающий является администратором / веб-сессией.

Параметры

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

    Entry id (uuid).

get_active_timerтолько чтениеидемпотентныйвнешний мир

Возвращает текущий запущенный таймер (project, description, started_at) или null, если таймер не запущен.

Возвращает текущий запущенный таймер (project, description, started_at) или null, если таймер не запущен.

Параметры

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

list_clientsтолько чтениеидемпотентныйвнешний мир

Вывести список всех клиентов, доступных текущему токену.

Вывести список всех клиентов, доступных текущему токену.

Параметры

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

list_entriesтолько чтениеидемпотентныйвнешний мир

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

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

Параметры

  • projectstring

    Optional project id or exact name. Omit to list across all projects.

  • startDatestring

    ISO-8601 — only entries whose start time is on or after this.

  • endDatestring

    ISO-8601 — only entries whose start time is on or before this.

  • limitinteger

    Maximum number of entries to return. Defaults to 50.

list_projectsтолько чтениеидемпотентныйвнешний мир

Вывести список всех проектов, доступных текущему токену. Возвращает id, имя и клиента для каждого проекта.

Вывести список всех проектов, доступных текущему токену. Возвращает id, имя и клиента для каждого проекта.

Параметры

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

log_timeвнешний мир

Запишите отметку времени вручную (для прошедшего события). Укажите либо `duration` (относительно текущего момента), либо оба параметра: `startTime` и `endTime` (абсолютные временные метки в формате ISO-8601).

Запишите отметку времени вручную (для прошедшего события). Укажите либо `duration` (относительно текущего момента), либо оба параметра: `startTime` и `endTime` (абсолютные временные метки в формате ISO-8601).

Параметры

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

    Project id (UUID) or exact project name.

  • descriptionstring

    What the user worked on.

  • durationstring

    How long the work took. Accepts "1h", "45m", "1h30m", "1.5h", "1:30", or "90" (interpreted as minutes).

  • startTimestring

    ISO-8601 start time (e.g. "2026-05-04T09:00:00Z"). Required if duration is omitted.

  • endTimestring

    ISO-8601 end time. Required if duration is omitted.

  • ratestring

    Optional rate id or exact rate name (e.g. "Software Development").

start_timerвнешний мир

Запустите таймер в проекте. Сначала останавливает любой другой работающий таймер: Timebook позволяет только один активный таймер за раз.

Запустите таймер в проекте. Сначала останавливает любой другой работающий таймер: Timebook позволяет только один активный таймер за раз.

Параметры

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

    Project id (UUID) or exact project name. Use list_projects to discover.

  • descriptionstring

    What the user is working on (visible in the time entry).

  • ratestring

    Optional rate id (UUID) or exact rate name (e.g. "Software Development").

stop_timerидемпотентныйвнешний мир

Останавливает текущий запущенный таймер. Возвращает { stopped: false }, если никакой таймер не был запущен.

Останавливает текущий запущенный таймер. Возвращает { stopped: false }, если никакой таймер не был запущен.

Параметры

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

update_entryвнешний мир

Редактирует одно или несколько полей в существующей записи времени. Допустима любая комбинация; незаданные поля остаются без изменений. Правило авторства, применяемое сервером: этот токен может редактировать только те записи, которые он сам создал (сессии и администраторы обходят это ограничение).

Редактирует одно или несколько полей в существующей записи времени. Допустима любая комбинация; незаданные поля остаются без изменений. Правило авторства, применяемое сервером: этот токен может редактировать только те записи, которые он сам создал (сессии и администраторы обходят это ограничение).

Параметры

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

    Entry id (uuid).

  • descriptionstringnull

    New description / note. Pass empty string or null to clear.

  • durationstring

    New duration, e.g. "1h30m" or "45m".

  • startTimestring

    ISO-8601 start time.

  • endTimestring

    ISO-8601 end time.

  • projectstring

    Reassign — project id or name.

  • ratestring

    New rate — id or name.

whoamiтолько чтениеидемпотентныйвнешний мир

Возвращает текущего аутентифицированного пользователя Timebook (id, email, name).

Возвращает текущего аутентифицированного пользователя Timebook (id, email, name).

Параметры

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

Другие проверенные MCP-сервера

cjo4m06/mcp-shrimp-task-manager

cjo4m06/mcp-shrimp-task-manager

Shrimp Task Manager — это MCP-сервер для умного управления задачами в AI-разработке. Он разбивает сложные проекты на атомарные подзадачи, отслеживает зависимости и сохраняет контекст между сессиями. Отлично подходит разработчикам, работающим с ИИ-агентами.

JavaScript2135
pinecone-io/assistant-mcp

pinecone-io/assistant-mcp

официальный

MCP-сервер на Rust для получения данных от Pinecone Assistant. Укажите API-ключ и лимит результатов. Интеграция с ИИ-инструментами через Docker. Для разработчиков поисковых ассистентов.

Rust45
agenticmail/agenticmail

agenticmail/agenticmail

официальный

MCP сервер наделяет AI-агентов реальными email и номерами телефонов для отправки и получения писем, SMS и кодов верификации. Встроенная память, голосовые вызовы и медиа-инструменты расширяют их возможности.

TypeScript172
manusa/Kubernetes MCP Server

manusa/Kubernetes MCP Server

MCP сервер для Kubernetes и OpenShift на Go: AI-агенты управляют кластерами — CRUD, Pods, Helm, Tekton. Не требует kubectl, работает с несколькими кластерами, лёгкий и быстрый.

Go1827
prisma/mcp

prisma/mcp

официальный

MCP сервер Prisma позволяет AI-агентам управлять базами данных Prisma Postgres: создавать бэкапы, выполнять SQL, интроспекцию схемы и миграции. Идеально для разработчиков, автоматизирующих работу с PostgreSQL через естественный язык.

JavaScript46
QuantConnect/mcp-server

QuantConnect/mcp-server

официальный

Официальный MCP сервер QuantConnect — мост между AI-ассистентами и платформой. Через API позволяет создавать проекты, писать стратегии, запускать бэктесты и управлять live-трейдингом. Удобен для ра...

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

Лука Никитин