Tempo time-tracking for Claude — worklogs, plans, and timesheet approvals
About
Tempo time-tracking for Claude — worklogs, plans, and timesheet approvals
Security Report
The tempo-api-mcp server is a well-structured Tempo API wrapper with path-parameter validation, a two-step confirmation flow for all write operations, and permissions that match its purpose of querying and managing Tempo worklogs, timesheets, and accounts. No data exfiltration, shell execution, or hardcoded credentials were observed in the provided code; the main caveat is that the plans.ts file is truncated, so its remaining logic could not be fully verified. Supply chain analysis found 2 known vulnerabilities in dependencies (0 critical, 1 high severity). Package verification found 1 issue.
6 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: TEMPO_API_TOKEN
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-chrischall-tempo-api-mcp": {
"env": {
"TEMPO_API_TOKEN": "your-tempo-api-token-here"
},
"args": [
"-y",
"tempo-api-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
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.
| variable | default | |
|---|---|---|
MCP_CONFIRM_MODE | ask-user | What 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_ELICITATION | on | off 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_SECONDS | 600 | How long a token stays valid. |
MCP_CONFIRM_SECRET | random per process | Signing 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" }
}
}
}
}
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.