mite

io.github.Stefan39由 GitHub 账号 Stefan39 发布v1.0.1更新于 Oct 29, 2026

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

已验证STDIO仅桌面效率与工作流数据与分析

概览

AI 生成的概览

非官方的 mite 工时记录服务器,让助手获取服务端报表、工时条目和主数据,开启写入模式后还可修改数据。

可以做什么
  • 运行服务端报表:按项目和月份统计工时与收入、多维度分组报表、项目预算、可计费比例
  • 读取指定期间的工时条目、按 ID 获取单条记录、查看计时器状态
  • 列出主数据:客户、项目、服务与用户,包括已归档项
  • 在写入模式下创建、修改、启停和删除工时条目,支持 dry-run 预览
  • 在管理模式下维护客户、项目和服务,删除需两步确认
适用场景
适合想直接询问工时、收入、预算或可计费比例,并让 mite 在服务端完成汇总而非由模型累加原始条目的场景。也适合在明确受限的权限下让助手记录或调整工时与主数据。
运行要求
通过 npx 以 stdio 在本地运行(需 Node.js 22 或更高版本),或作为 Claude Desktop 扩展包安装。需要已开启 API 访问的 mite 账户,以及 MITE_ACCOUNT 和 MITE_API_KEY。可选 MITE_MODE(默认只读,或 write、admin)与 MITE_TOOLS 白名单。仅限桌面端。
安装前请注意
写入和管理模式允许助手创建、修改、启停和删除工时条目、客户、项目与服务;非必要请保持默认只读模式。删除需要确认令牌,但不支持 elicitation 的客户端(如 Claude Desktop)不会弹出额外确认对话框。管理模式可对锁定条目使用 force。API 密钥从环境变量读取并以请求头发送。非官方项目,与 mite GmbH 无关联。

安装

在 SourceWeft 中

  1. 打开 控制台中的 mite,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 f3b4809

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.1最新Oct 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分