mcpField
T
tempo-api-mcp

tempo-api-mcp

Local
github.com/chrischallProductivity0Updated 4d ago

About tempo-api-mcp

tempo-api-mcp is an MCP server for managing Tempo worklogs, plans, and timesheet actions from Claude. It adds confirmation safeguards to every write, using prompts where supported or a preview-and-token flow otherwise.

Key features

  1. 01Create, update, and delete Tempo records
  2. 02Manage timesheet submission and approval actions
  3. 03Confirm writes with prompts or preview tokens
  4. 04Configure confirmation behavior and token lifetime

Use cases

  1. 01Record or update Tempo worklogs
  2. 02Review and manage timesheet plans
  3. 03Submit or approve timesheets with a confirmation step

MCP support

Exposes Tempo API operations to MCP clients, including worklog, plan, and timesheet actions. Writes require confirmation before changes proceed.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"chrischall-tempo-api": {
"command": "npx",
"args": [
"-y",
"tempo-api-mcp"
],
"env": {
"TEMPO_API_TOKEN": "<TEMPO_API_TOKEN>"
}
}
}
}
Run commandnpx -y tempo-api-mcp
Environment variables to set
TEMPO_API_TOKENSecretYour Tempo API token (Settings → API integration in your Tempo workspace)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmtempo-api-mcp3.2.6

Tools

48

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
tostringNoEnd date (YYYY-MM-DD)
fromstringNoStart date (YYYY-MM-DD)
viewenumNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full" returns Tempo's payload untouched. No field projection: this server has no verified record of which Tempo fields matter, and inventing one would risk dropping a field a caller needs.compact | full
limitintegerNoMax results (default 50)
offsetintegerNoPagination offset (default 0)
issueIdarrayNoFilter by issue ids
orderByenumNoSort order (descending)ID | START_DATE_TIME | UPDATED
projectIdarrayNoFilter by project ids
updatedFromstringNoFilter by update date/time (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ)

Details

From the project README

tempo-api-mcp

CI npm license

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" }
      }
    }
  }
}

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.