mite

io.github.Stefan39Published by GitHub account Stefan39v1.0.1Updated Oct 29, 2026

mite time tracking: server-side reports, time entries, master data. Read-only by default.

Overview

AI-generated overview

Unofficial mite time-tracking server that lets an assistant pull server-side reports, time entries and master data, and optionally write entries when enabled.

What you can do
  • Run server-side reports: hours and revenue per project and month, grouped reports, project budgets, and billable ratios
  • Read time entries for a period, fetch a single entry, and check tracker status
  • List master data: customers, projects, services and users, including archived ones
  • Create, update, start/stop and delete time entries when write mode is enabled, with dry-run previews
  • Manage customers, projects and services in admin mode, with two-step confirmation for deletes
When to use it
Useful when you want to ask questions about tracked hours, revenue, budgets or billable share and have mite compute the aggregation, rather than having the model sum up raw entries. Also fits when you want an assistant to record or adjust time entries and master data under explicit, restricted permissions.
Requirements
Runs locally over stdio via npx (Node.js 22 or newer) or as a Claude Desktop extension bundle. Needs a mite account with API access enabled, plus MITE_ACCOUNT and MITE_API_KEY. Optional MITE_MODE (read-only by default, write or admin) and MITE_TOOLS allowlist. Desktop only.
Before you install
Write and admin modes let the assistant create, change, start/stop and delete time entries, customers, projects and services; keep the default read-only mode unless needed. Deletes require a confirmation token, but clients without elicitation support, such as Claude Desktop, show no extra dialog. Admin mode allows force on locked entries. The API key is read from the environment and sent as a header. Unofficial, not affiliated with mite GmbH.

Installation

In SourceWeft

  1. Open mite in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mite-mcp-server

[CI] [npm] [License: MIT]

English · Deutsch

Ask Claude about your mite time tracking — "How many hours did we spend on each project per month this year, and what did that earn?" — and get the answer from a report mite computes itself, not from hundreds of entries the model has to add up.

[Demo: monthly report per project in a chat (invented data)]

Unofficial. Not affiliated with or endorsed by mite GmbH.

Why this server

  • Ready-made reports. mite groups on the server (group_by), so a whole year is one request and one small answer.
  • Safe by default. Starts read-only. Write tools only exist when you switch the mode on, and an allowlist narrows it further. Tools outside mode and allowlist are not even shown to the agent.
  • Your key stays yours. API key from the environment only, sent as header, removed from every error message, never logged.

Tools

ToolModeWhat it does
mite_whoamiread-onlyAccount, your user and role, server mode and enabled tools
mite_report_projects_by_monthread-onlyHours and revenue per project and month for a period; filters for customer, project, service, user, billable
mite_reportread-onlyHours, revenue and share per 1–3 groupings (customer, project, service, user, day, week, month, year); same filters
mite_report_budgetread-onlyBudget, consumption, remaining and percent used per project over its whole life; minutes in hours, cents in currency units
mite_report_billable_ratioread-onlyBillable and non-billable hours and billable share in percent for a period, optionally per customer, project, user or month
mite_list_time_entriesread-onlySingle time entries for a period, newest first; filters, limit/page, has_more
mite_get_time_entryread-onlyOne time entry by id
mite_tracker_statusread-onlyWhether the tracker is running, and on which entry
mite_list_customersread-onlyCustomers, active or archived (archived: true)
mite_list_projectsread-onlyProjects with customer and budget, active or archived
mite_list_servicesread-onlyServices, active or archived
mite_list_usersread-onlyUsers and roles (no email, no rates), active or archived
mite_create_time_entrywriteCreates a time entry; dry_run: true shows a preview and writes nothing
mite_update_time_entrywriteChanges fields of a time entry (locked ones: see below); dry_run: true shows current vs. new values and writes nothing
mite_start_trackerwriteStarts the tracker on a time entry
mite_stop_trackerwriteStops the tracker on a time entry
mite_delete_time_entrywriteDeletes a time entry in two steps with a confirmation token (see below); locked entries: see "Locked entries"
mite_create_customer, mite_create_project, mite_create_serviceadminCreates a customer, project or service; dry_run: true shows a preview and writes nothing
mite_update_customer, mite_update_project, mite_update_serviceadminChanges fields; archived: true archives, archived: false restores; dry_run: true writes nothing
mite_delete_customer, mite_delete_project, mite_delete_serviceadminDeletes in two steps with a confirmation token (see below); mite's refusal, e.g. while time entries exist, is returned as an error

Deleting with a confirmation token

mite_delete_time_entry and the three master data delete tools never delete on the first call:

  1. Call it with the id (or with dry_run: true). It returns a preview of the entry and a confirm_token; nothing is deleted.
  2. Call it again with the same id and the confirm_token. Only then is it deleted.

The token is bound to the tool and its arguments, valid for 5 minutes, usable once, and only known to the running server process (a restart invalidates it).

If the MCP client supports elicitation, the second call (and any call with force: true and a token) additionally asks the human with a short summary of what will be deleted or forced. Only if the human accepts is anything executed. If they decline or cancel, nothing is sent to mite and the token stays unused until it expires. Clients without elicitation are not asked; the token alone applies.

Client support (checked 28.10.2026): Claude Desktop does not offer elicitation yet, so it shows no dialog; deleting there uses the token flow only. Once a client announces elicitation, the extra question applies without a new release of this server.

Locked entries

Locked time entries cannot be changed or deleted by default; mite answers with 423 and the tool returns a "locked" error. force is never set automatically, not even after a 423.

In mode admin only, mite_update_time_entry and mite_delete_time_entry additionally accept force: true. A call with force: true always needs a confirm_token, also on update: the first call (or dry_run: true) returns a preview stating that the entry is locked, plus a token; only a second call with the same arguments, force: true and the token executes. In modes read-only and write the parameter is not part of the input schema.

More tools (more reports) are planned — see the architecture decision.

Install without technical knowledge (Claude Desktop)

  1. Download mite-mcp-server.mcpb from the latest release.
  2. Double-click the file. Claude Desktop opens and offers to install the extension.
  3. Fill in the settings and enable the extension:

[mite extension settings in Claude Desktop]

SettingMeaning
mite-AccountThe name in your mite address: for https://example.mite.de enter example
API-KeyYour personal mite API key; Claude Desktop stores it securely and shows it masked
Zeiteinträge schreiben erlaubenOff (default): read only. On: create, change and delete time entries, start and stop the tracker
Stammdaten verwaltenOff (default). On: manage customers, projects and services; includes writing time entries
Erlaubte WerkzeugeOptional, comma-separated tool names; empty means every tool the switches allow

No JSON, no environment variables, no Node.js installation: Claude Desktop runs the bundle with its built-in Node.js. You need a mite account with API access enabled (in your mite user settings) and your API key from there. The settings are in German because mite's users mostly are.

Changing a setting later: Claude Desktop → Settings → Extensions → mite. A changed setting only takes effect after you switch the extension off and on again or restart Claude Desktop — until then the running server keeps the old switches. Ask Claude to call mite_whoami to see the mode the server is actually running in. In the same place you can also switch single tools on and off — on top of the switches above, which decide which tools exist at all.

Manual setup (Claude Desktop, for developers)

Requirements: Node.js 22 or newer, a mite account with API access enabled (enable it in your mite user settings), and your API key from there.

Add the server to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/), then restart Claude Desktop:

json
{  "mcpServers": {    "mite": {      "command": "npx",      "args": ["-y", "mite-mcp-server"],      "env": {        "MITE_ACCOUNT": "your-account",        "MITE_API_KEY": "your-api-key"      }    }  }}

Then ask, for example: "Show me hours and revenue per project and month for this year."

Configuration

VariableRequiredMeaning
MITE_ACCOUNTyesAccount name — the subdomain of https://<account>.mite.de
MITE_API_KEYyesYour personal mite API key
MITE_MODEnoread-only (default), write or admin
MITE_ALLOW_WRITEnotrue = mode write; set by the bundle switch, alternative to MITE_MODE
MITE_ALLOW_ADMINnotrue = mode admin; set by the bundle switch, alternative to MITE_MODE
MITE_TOOLSnoComma-separated allowlist, e.g. mite_report_projects_by_month

Use either MITE_MODE or the two switches; the server refuses MITE_MODE together with a switch set to true. Values true/false (also 1/0, yes/no, on/off).

mite still checks every call against the role of your key. The server can only restrict that, never extend it.

Development

bash
npm cinpm run check   # lint, format, typecheck, tests with coverage, build

See CONTRIBUTING.md and the architecture decision.

License

MIT © Stefan Jacomeit — www.jacomeit.de

Source: README.md at commit f3b4809

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestOct 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts