Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Logit

FreeNot checked

A terminal-first Jira Tempo logger with MCP support for Claude, Codex, and OpenCode: log time, preview entries, and check stats fast.

GitHubEmbed

About

A terminal-first Jira Tempo logger with MCP support for Claude, Codex, and OpenCode: log time, preview entries, and check stats fast.

README

t-rec-trimmed-3

Terminal-first Jira Tempo worklog logger with MCP support for Claude, Codex, OpenCode, and compatible clients.

logit installs three binaries:

  • logit: CLI for logging time, stats, aliases, and setup
  • logit-mcp: MCP server for Claude, Codex, OpenCode, and compatible clients
  • cli-tempo: compatibility name for the main CLI

All three share the same local config, secrets, profiles, aliases, and cache.

What you need

Before first setup, have these ready:

  • Tempo API token
  • Jira base URL, for example https://your-company.atlassian.net
  • Jira account email
  • Jira API token

logit setup validates those credentials before saving anything.

Install

Windows

Install from the latest GitHub Release with PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/kytmanov/logit/releases/latest/download/logit-installer.ps1 | iex"

What this installs:

  • logit.exe
  • logit-mcp.exe
  • cli-tempo.exe

Notes:

  • open a new terminal window after install so the updated PATH is picked up
  • if you prefer not to use the installer script, download the Windows .zip from GitHub Releases and place the binaries somewhere on your PATH

Homebrew

Recommended:

brew install kytmanov/tap/logit

Upgrade later with:

brew upgrade logit

Build from source

Requirements:

  • Rust stable toolchain

Build:

git clone https://github.com/kytmanov/logit.git
cd logit
cargo build --release

Built binaries:

  • target/release/logit
  • target/release/logit-mcp
  • target/release/cli-tempo

Install all three with Cargo:

cargo install --path .

On Windows, Cargo installs:

  • logit.exe
  • logit-mcp.exe
  • cli-tempo.exe

End-to-end CLI setup

1. Run setup

logit setup

Setup prompts for:

  • Jira URL
  • Jira email
  • Jira API token
  • Tempo API token
  • timezone
  • working hours
  • working days
  • time format

On success, logit stores:

  • config in the config directory
  • secrets in the data directory
  • cache in the cache directory

Check where those paths are on your machine:

logit doctor
logit config path

2. Confirm it works

Try a safe read-only command first:

logit stat

If you want to preview a worklog without sending it:

logit --dry-run 1h TK-1234

3. Log time

Issue first:

logit TK-1234 8h
logit TK-1234 1h 30m

Duration first:

logit 8h TK-1234
logit 45m TK-1234
logit 1h 15m standup
logit 1h15m standup

Compact mixed-unit durations like 1h15m work in both issue-first and duration-first forms.

With a message:

logit 1h TK-1234 -m "fixed flaky test"

For a specific date:

logit 30m TK-1234 --date 2026-04-01
logit 3h TK-1234 2026-05-11
logit 3h TK-1234 yesterday
logit standup yesterday

Dated duration logs use the configured work_hours.end for that day as the end time, then subtract the duration.

For an explicit time range:

logit 04/01/2026 0812 - 04/01/2026 1700 TK-1234

Connect MCP

Stats selectors also accept yesterday, for example:

logit stat yesterday

If you want to use logit from Claude, Codex, OpenCode, or another MCP client, do this after logit setup.

What MCP exposes

Read-only by default:

  • doctor
  • config_path
  • list_aliases
  • get_stats
  • preview_log_time

Optional write mode:

  • log_time

Write access is off by default. Enable it only if you want the MCP client to create real Tempo worklogs.

Automatic MCP install

logit can install client config for:

  • Claude
  • Codex
  • OpenCode

Commands:

logit mcp install claude
logit mcp install codex
logit mcp install opencode

Write-enabled install:

logit mcp --enable-write-tools install claude

What each one does:

  • claude: runs claude mcp add in local scope for the current project
  • codex: updates ~/.codex/config.toml or CODEX_HOME/config.toml
  • opencode: updates ~/.config/opencode/opencode.json or OPENCODE_CONFIG

Notes:

  • run logit setup first, or the installed MCP server will exist but cannot make real API calls yet
  • rerun the same install command later if you want to switch to write-enabled mode
  • existing matching installs are left alone
  • installs do not overwrite a different existing logit MCP entry
  • OpenCode auto-install only supports strict JSON config files, not JSONC with comments

Recommended client flows

Claude in the current project:

logit setup
logit mcp install claude

Codex user-level config:

logit setup
logit mcp install codex

OpenCode user-level config:

logit setup
logit mcp install opencode

Manual MCP configuration

If your client is unsupported, or you want full control, point it at logit-mcp directly.

Basic server:

logit-mcp

Write-enabled server:

logit-mcp --enable-write-tools

Manual OpenCode config:

{
  "mcp": {
    "logit": {
      "type": "local",
      "command": ["/absolute/path/to/logit-mcp"]
    }
  }
}

Manual Claude Code config:

{
  "projects": {
    "/absolute/path/to/project": {
      "mcpServers": {
        "logit": {
          "command": "/absolute/path/to/logit-mcp"
        }
      }
    }
  }
}

Manual Codex config:

[mcp_servers.logit]
command = "/absolute/path/to/logit-mcp"
args = ["--config-dir", "/path/to/config", "--data-dir", "/path/to/data", "--cache-dir", "/path/to/cache"]

If you need a specific profile or write access, add the relevant args.

Example:

{
  "mcpServers": {
    "logit": {
      "command": "/absolute/path/to/logit-mcp",
      "args": ["--profile", "work", "--enable-write-tools"]
    }
  }
}

Common tasks

Stats

logit stat
logit stat --details
logit stat today
logit stat 2026-04-01
logit stat week
logit stat week --details
logit stat last week
logit stat April
logit stat May 2026
logit stat 2026

Aliases

Create an alias:

logit alias standup TK-1234 --default-duration 30m -m "daily standup"

Use it:

logit standup
logit 1h standup -m "longer today"

List aliases:

logit alias list

Delete an alias:

logit alias delete standup

Skip Jira validation when creating an alias:

logit alias standup TK-1234 --no-validate

Cache

logit cache clear

Config helpers

logit config path
logit doctor
logit config edit

Profiles

logit supports multiple profiles. Most people only need the default profile.

Use a named profile:

logit --profile work stat
LOGIT_PROFILE=work logit stat

If you install MCP for a non-default profile, include --profile when you run the install command so the client points at the right profile.

Example:

logit --profile work mcp install codex

Directory overrides

Override config, data, and cache directories with flags:

logit --config-dir /path/to/config --data-dir /path/to/data --cache-dir /path/to/cache stat

Or with environment variables:

export LOGIT_CONFIG_DIR=/path/to/config
export LOGIT_DATA_DIR=/path/to/data
export LOGIT_CACHE_DIR=/path/to/cache

Important: keep data and cache outside the config directory. logit refuses to run if secrets would end up under the config tree.

Troubleshooting

logit stat says run \logit setup``

Run:

logit setup

Check paths and active profile

logit doctor
logit config path

Check available commands

logit --help
logit-mcp --help

Config edited into a bad state

If logit config edit saves invalid TOML or an unsupported schema, the invalid file is preserved as config.toml.invalid.

Common auth failures

  • Tempo token rejected: invalid Tempo API token
  • Jira credentials rejected: invalid Jira email or Jira API token
  • unknown issue key or alias: typo in issue key or alias name

Development

Useful local checks:

cargo fmt --check
cargo clippy -- -D warnings
cargo test

from github.com/kytmanov/logit

Installing Logit

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/kytmanov/logit

FAQ

Is Logit MCP free?

Yes, Logit MCP is free — one-click install via Unyly at no cost.

Does Logit need an API key?

No, Logit runs without API keys or environment variables.

Is Logit hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Logit in Claude Desktop, Claude Code or Cursor?

Open Logit 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

Compare Logit with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All productivity MCPs