mcpField
T
tempo-api-mcp

tempo-api-mcp

本地服务
github.com/chrischall生产力04 天前更新

关于 tempo-api-mcp

tempo-api-mcp 是供 Claude 管理 Tempo 工时记录、计划和工时表操作的 MCP 服务。所有写入都设有确认保护:客户端支持时显示提示,否则采用预览和令牌流程。

主要功能

  1. 01创建、更新和删除 Tempo 记录
  2. 02管理工时表提交与审批操作
  3. 03通过提示或预览令牌确认写入
  4. 04配置确认方式和令牌有效期

适用场景

  1. 01记录或更新 Tempo 工时
  2. 02查看并管理工时表计划
  3. 03确认后提交或审批工时表

MCP 相关

向 MCP 客户端提供 Tempo API 操作,包括工时记录、计划和工时表操作。写入须经确认后才会执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chrischall-tempo-api": {
"command": "npx",
"args": [
"-y",
"tempo-api-mcp"
],
"env": {
"TEMPO_API_TOKEN": "<TEMPO_API_TOKEN>"
}
}
}
}
启动命令npx -y tempo-api-mcp
需要配置的环境变量
TEMPO_API_TOKEN密钥Your Tempo API token (Settings → API integration in your Tempo workspace)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtempo-api-mcp3.2.6

工具

48

收录的工具列表 · 更新于 2 周前

参数类型必填说明
tostring否结束日期(YYYY-MM-DD)
fromstring否开始日期(YYYY-MM-DD)
viewenum否响应格式:"compact"(默认)会省略响应中其他位置已有的字段;"full" 会返回此服务了解的所有字段。compact 会从响应中剔除图像/头像 URL;"full" 会原样返回 Tempo 的负载。不支持字段投影:此服务没有经过验证的记录来说明哪些 Tempo 字段重要,臆造字段列表可能会导致调用方需要的字段被丢弃。compact | full
limitinteger否最大结果数(默认 50)
offsetinteger否分页偏移量(默认 0)
issueIdarray否按 issue ID 筛选
orderByenum否排序顺序(降序)ID | START_DATE_TIME | UPDATED
projectIdarray否按项目 ID 筛选
updatedFromstring否按更新时间筛选(YYYY-MM-DD 或 YYYY-MM-DDTHH:mm:ssZ)

详细介绍

tempo-api-mcp

CI npm license

面向 Claude 的 Tempo API MCP 服务——由 AI(Claude Code)开发和维护

确认操作

每项写入(创建/更新/删除,以及提交/批准/拒绝/重新打开/撤回工时表的操作)在做出任何更改前都会请求用户确认:客户端支持时,会显示确认提示词;否则,首次调用会返回将要发送的确切内容预览以及一个 confirmToken,只有再次携带该令牌调用才会继续执行。

变量默认值
MCP_CONFIRM_MODEask-user对于无法显示确认提示词的客户端(claude.ai、Claude Desktop),写入操作的处理方式。ask-user:分两步进行——首次调用不执行任何操作,只返回预览和令牌,模型必须先在聊天中获得你的批准,才能携带令牌再次调用。auto:同样分两步进行,但模型自行查看预览后即可使用令牌。refuse:在此类客户端上拒绝写入。支持显示提示词的客户端(Claude Code)会显示实际提示词,除非 MCP_CONFIRM_ELICITATION=off。无法识别的值将按 refuse 处理。
MCP_CONFIRM_ELICITATIONonoff 时绝不显示确认提示词,因此所有客户端都会使用 MCP_CONFIRM_MODE 的两步流程。opencode v2 必须设置此项:它声称支持提示词,但实际上从不显示,因此写入操作(包括工时表审批)会一直挂起。任何其他值均保持为 on。
MCP_CONFIRM_TTL_SECONDS600令牌的有效时长。
MCP_CONFIRM_SECRET每个进程随机生成签名密钥;仅当令牌必须在服务重启后仍然有效时才设置。

在 opencode 中,在服务的 environment 块中设置:

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。