io.github.chrischall/tempo-api-mcp

Official registry AI and agents

Tempo time-tracking for Claude — worklogs, plans, and timesheet approvals

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package tempo-api-mcp
Claude Code
claude mcp add tempo-api-mcp -e 'TEMPO_API_TOKEN=<your tempo_api_token>' -- npx -y tempo-api-mcp@3.2.6
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "tempo-api-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "tempo-api-mcp@3.2.6"
            ],
            "env": {
                "TEMPO_API_TOKEN": "<your tempo_api_token>"
            }
        }
    }
}

Environment variables

  • TEMPO_API_TOKEN required secret Your Tempo API token (Settings → API integration in your Tempo workspace)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

tempo-api-mcp

Tempo API MCP server for Claude — developed and maintained by AI (Claude Code)

Confirmations

Every write (create/update/delete, and the timesheet submit/approve/reject/reopen/recall actions) asks the user to confirm before it changes anything: a confirmation prompt where the client supports one; otherwise the first call returns a preview of exactly what would be sent plus a confirmToken, and only a repeat call with that token proceeds.

variabledefault
MCP_CONFIRM_MODEask-userWhat a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) gets the real prompt unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse.
MCP_CONFIRM_ELICITATIONonoff never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE two-step flow. Set it for opencode v2: it claims to support prompts but never displays them, so writes (including timesheet approvals) hang. Any other value stays on.
MCP_CONFIRM_TTL_SECONDS600How long a token stays valid.
MCP_CONFIRM_SECRETrandom per processSigning key; set it only if tokens must survive a server restart.

In opencode, set it in the server's environment block:

{
  "mcp": {
    "servers": {
      "tempo": {
        "type": "local",
        "command": ["npx", "-y", "tempo-api-mcp"],
        "environment": { "TEMPO_API_TOKEN": "…", "MCP_CONFIRM_ELICITATION": "off" }
      }
    }
  }
}

Frequently asked questions

What is io.github.chrischall/tempo-api-mcp?

Tempo time-tracking for Claude — worklogs, plans, and timesheet approvals

How do I install io.github.chrischall/tempo-api-mcp?

It runs on your machine. In Claude Code: claude mcp add tempo-api-mcp -e 'TEMPO_API_TOKEN=<your tempo_api_token>' -- npx -y tempo-api-mcp@3.2.6. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.chrischall/tempo-api-mcp need an API key?

Yes. It expects TEMPO_API_TOKEN, which you set in its configuration.

Is io.github.chrischall/tempo-api-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.chrischall/tempo-api-mcp?

It is published by chrischall. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.