时间追踪服务

Tempo MCP Server是一个自动从git提交生成时间表的时间追踪服务,支持角色和账户管理,适用于开发团队的工作日志记录。

  • by Henry-Workshop
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Henry-Workshop/tempo-mcp

使用说明

Tempo MCP服务器

MCP(模型上下文协议)服务器,用于Tempo时间跟踪,完全支持 角色 和 账户.

特性

  • 从git提交自动生成时间表 -扫描所有存储库并自动创建工作日志
  • 创建具有角色和帐户属性的工作日志
  • 自动从Jira问题中获取帐户
  • 自动回退到活动帐户 当问题的帐户被关闭/存档时
  • 快速冲刺会议记录 -只需指定项目和分钟数
  • 更新和删除工作日志
  • 列出日期范围的工作日志
  • 获取可用的工作属性和角色

安装

npm install
npm run build

配置

获取API令牌

Tempo API代币:

  1. 首选 节奏>设置 在Jira实例中
  2. 点击 API集成 在左侧边栏中
  3. 点击 新令牌
  4. 给它起个名字(例如“克劳德代码MCP”)
  5. 选择权限: 管理工作日志 (或完全访问)
  6. 复制生成的令牌

Jira API代币:

  1. 首选 大西洋API代币
  2. 点击 创建API令牌
  3. 给它一个标签(例如“克劳德代码MCP”)
  4. 复制生成的令牌

环境变量

变量 必填 描述
TEMPO_API_TOKEN 是 Tempo API令牌(从Tempo>设置>API集成获取)
JIRA_API_TOKEN 是 Jira API令牌(从id.atlassian.com/manage-profile/security/API-tokens获取)
JIRA_EMAIL 是 Jira帐户电子邮件
JIRA_BASE_URL 是 Jira基本URL(例如。,https://company.atlassian.net)
JIRA_ACCOUNT_FIELD_ID 否 Tempo帐户的自定义字段ID(默认值:10026)
DEFAULT_ROLE 否 工作日志的默认角色(默认:开发人员)
DEFAULT_PROJECTS_DIR 否 git repos的默认目录(例如C:/Users/you/Projects)
DEFAULT_MONDAY_MEETING_ISSUE 否 周一团队会议的Jira问题(默认:BS-14)

注: gitAuthor 默认为 JIRA_EMAIL 因为它们对所有开发人员都是一样的。

使用Claude代码

快速设置(一个命令)

Linux/macOS:

claude mcp add tempo-mcp -s user \
  -e TEMPO_API_TOKEN=your-tempo-token \
  -e JIRA_API_TOKEN=your-jira-token \
  -e JIRA_EMAIL=your-email@company.com \
  -e JIRA_BASE_URL=https://company.atlassian.net \
  -e DEFAULT_PROJECTS_DIR=/home/you/projects \
  -- npx -y github:Henry-Workshop/tempo-mcp

Windows(PowerShell):

claude mcp add tempo-mcp -s user `
  -e TEMPO_API_TOKEN=your-tempo-token `
  -e JIRA_API_TOKEN=your-jira-token `
  -e JIRA_EMAIL=your-email@company.com `
  -e JIRA_BASE_URL=https://company.atlassian.net `
  -e DEFAULT_PROJECTS_DIR=C:/Users/you/Projects `
  -- npx.cmd -y github:Henry-Workshop/tempo-mcp

claude.json中的示例配置

{
  "mcpServers": {
    "tempo-mcp": {
      "command": "npx",
      "args": ["-y", "github:Henry-Workshop/tempo-mcp"],
      "env": {
        "TEMPO_API_TOKEN": "your-tempo-token",
        "JIRA_API_TOKEN": "your-jira-token",
        "JIRA_EMAIL": "your-email@company.com",
        "JIRA_BASE_URL": "https://company.atlassian.net",
        "DEFAULT_PROJECTS_DIR": "C:/Users/you/Projects"
      }
    }
  }
}

可用工具

tempo_generate_时间表

主要特点! 根据git提交自动生成每周时间表。

{
  "weekStart": "2025-12-01",
  "gitAuthor": "your-email@company.com",
  "projectsDir": "C:/Users/you/Projects",
  "dryRun": true,
  "mondayMeetingIssue": "BS-14"
}
参数 必填 说明
weekStart 是 一周中的星期一(YYYY-MM-DD)
gitAuthor 是 您的git作者电子邮件或姓名
projectsDir 是 包含所有git存储库的目录
dryRun 否 如果为true,则显示计划而不创建工作日志(默认值:false)
mondayMeetingIssue 否 周一团队会议的Jira问题(默认:BS-14)

它的作用:

  1. 扫描中的所有git仓库 projectsDir
  2. 提取周一至周四的提交
  3. 从提交消息中解析Jira问题密钥(例如。, PROJ-123)
  4. 根据每个问题的提交次数,每天分发8小时
  5. 增加15分钟的每日冲刺会议(关于当天的主要项目)
  6. 在BS-14上添加15分钟周一团队同步
  7. 从提交消息生成对客户端友好的描述
  8. 在Tempo中创建工作日志

Claude Code中的示例用法:

  • “做我本周的时间表”
  • “生成上周的时间表”
  • “以模拟运行模式制作12月1日当周的时间表”

重要提示: 你的提交消息应该包括Jira问题密钥(例如。, PROJ-123 fix: description).没有问题密钥的提交将被标记为警告。


tempo_log_print_meeting

记录冲刺会议时间的快速方法(每日、计划、回顾)。自动查找项目的“Sprint Meetings”问题。

{
  "projectKey": "PROJ",
  "timeSpentMinutes": 15,
  "description": "Daily",
  "date": "2025-11-27"
}

Claude Code中的示例用法:

  • “为BERGA的冲刺会议增加15分钟”
  • “每天记录15分钟到CRC项目”

tempo_create_worklog

创建具有角色和帐户支持的新工作日志。

{
  "issueKey": "PROJ-123",
  "timeSpentHours": 1.5,
  "date": "2025-11-27",
  "description": "Working on feature",
  "role": "Dev",
  "accountKey": "ACCOUNT-KEY"
}

如果 accountKey 如果未提供,它将自动从Jira问题中提取。如果帐户已关闭/存档,它将自动从最近的项目问题中找到一个活动帐户。

tempo_get_工作日志

检索某个日期范围的工作日志。

{
  "startDate": "2025-11-01",
  "endDate": "2025-11-30"
}

临时工作日志

更新现有工作日志。

{
  "worklogId": "12345",
  "timeSpentHours": 2,
  "description": "Updated description"
}

tempo_delete_worklog

删除工作日志。

{
  "worklogId": "12345"
}

tempo_get_work_attributes

获取可用的工作属性(角色、帐户配置)。

tempo_get_roles

获取可用的Tempo角色。

许可证

麻省理工学院