项目简介

Tempo工时助手MCP服务器(Tempo Filler MCP Server)是一个基于Model Context Protocol (MCP) 构建的后端服务,旨在将JIRA Tempo Timesheets的功能集成到AI助手中。它允许大型语言模型 (LLM) 通过标准化的协议,安全、高效地执行工时相关的操作,如查询、创建、批量录入和删除工时,同时提供工作日程查询和Prompt模板,极大地简化了用户与Tempo的交互,提升了工时管理效率。

主要功能点

  • 查询工时记录:根据指定日期范围和JIRA任务关键字,查询个人已记录的工时详情及汇总。
  • 创建单条工时:为特定的JIRA任务和日期,快速创建一条工时记录,支持自定义工时时长和描述。
  • 批量录入工时:高效地批量创建多条工时记录,尤其适用于按月或按周填报固定工时,可智能识别工作日,避免周末和节假日。
  • 删除工时记录:根据工时ID精确删除已存在的工时记录。
  • 获取工作日程:查询个人指定日期范围内的工作日程,包括工作日、非工作日以及每日预期工时,为智能工时填报提供依据。
  • 上下文资源访问:提供如“最近使用的JIRA任务”等上下文信息,帮助AI助手更准确地理解用户意图。
  • Prompt模板:预设工时分析和日程感知批量填报的Prompt模板,让AI助手能够生成更具指导性和结构化的交互内容。

安装步骤

该MCP服务器推荐通过 'npx' 或作为VS Code/Claude Desktop扩展进行安装和使用。

前提条件

  1. Node.js:版本16或更高。
  2. JIRA实例:已安装并配置Tempo Timesheets插件。
  3. JIRA个人访问令牌 (PAT):用于服务器与JIRA/Tempo API进行认证和通信。

推荐安装方式 (通过AI助手客户端)

MCP服务器通常由AI助手客户端自动启动和管理。以下是常见的客户端安装方式:

  • 在VS Code中安装: 点击此链接 Install in VS Code 即可在VS Code中安装。安装后需要配置JIRA基础URL和PAT。
  • 在Claude Desktop中安装: 点击此链接 Install in Claude Desktop 下载MCP打包文件('.dxt'格式)。然后进入Claude Desktop的设置 → 扩展,将下载的文件拖拽至此进行安装。安装后,请在环境变量部分填写JIRA基础URL和PAT,并确保启用该扩展。

JIRA个人访问令牌 (PAT) 创建步骤

  1. 登录您的JIRA实例。
  2. 前往个人资料个人访问令牌
  3. 点击创建令牌
  4. 为令牌命名(例如:“Tempo MCP Server”)。
  5. 设置适当的权限(通常需要对问题和工时进行读写访问)。
  6. 复制生成的令牌值,用于后续配置中的 'TEMPO_PAT'。

服务器配置

MCP服务器通过环境变量进行配置,由您的AI助手客户端在启动时提供。以下是配置所需的环境变量及其含义:

  • 'server name':MCP客户端中为此服务器实例指定的名称,例如'tempo-filler'。
  • 'command':启动MCP服务器的命令。通常为'npx'。
  • 'args':启动命令的参数。对于此服务器,应为'@tranzact/tempo-filler-mcp-server'。
  • 'env' (环境变量)
    • 'TEMPO_BASE_URL':您的JIRA实例的URL(例如:'https://your-jira-instance.com')。
    • 'TEMPO_PAT':您在JIRA中创建的个人访问令牌。
    • 'TEMPO_DEFAULT_HOURS' (可选):每个工作日的默认工时(默认为8小时)。

示例配置描述(AI助手客户端通常会提供图形界面来填写这些信息):

您的AI助手客户端可能会有一个配置界面,您需要在其中输入以下内容:

  1. 服务器名称: 'tempo-filler'
  2. 启动命令: 'npx'
  3. 命令参数: '@tranzact/tempo-filler-mcp-server'
  4. 环境变量:
    • 'TEMPO_BASE_URL': 填写您的JIRA实例网址(例如 'https://jira.mycompany.com')
    • 'TEMPO_PAT': 填写您在JIRA中生成的个人访问令牌

基本使用方法

一旦MCP服务器配置并启动,您就可以通过AI助手以自然语言与之交互。以下是一个实际的对话示例:


👤 用户:

把我十月份的工时都填成和九月份一样的项目。

🤖 AI助手:

好的,我将帮您把十月份的工时填报为与九月份相同的项目。 首先,我需要检查您九月份的工时记录以了解您的模式,然后才能相应地填报十月份的工时。

🔧 mcp_tempo-filler-_get_worklogs({
  "startDate": "2025-09-01",
  "endDate": "2025-09-30"
})

很好!我看到您九月份在 PROJ-1234 (Tempo MCP Server) 项目上工作了200小时。 现在,让我获取您十月份的工作日程,看看哪些天需要填报。

🔧 mcp_tempo-filler-_get_schedule({
  "startDate": "2025-10-01", 
  "endDate": "2025-10-31"
})

太棒了!我现在已经掌握了所有必要的信息。我将把十月份所有23个工作日都填报为 PROJ-1234 (Tempo MCP Server) 项目,每天8小时。

🔧 mcp_tempo-filler-_bulk_post_worklogs({
  "billable": true,
  "worklogs": [
    {"issueKey": "PROJ-1234", "hours": 8, "date": "2025-10-01", "description": "Tempo MCP Server development"},
    {"issueKey": "PROJ-1234", "hours": 8, "date": "2025-10-02", "description": "Tempo MCP Server development"},
    // ... 21 more entries for all working days
  ]
})

十月份工时已成功填报

  • 项目: PROJ-1234 (Tempo MCP Server)
  • 总工时: 184小时,覆盖23个工作日
  • 每日工时: 8小时 (与您的标准工作时间匹配)
  • 状态: 所有条目均已成功创建,无任何失败

已调用的工具:

  • 'get_worklogs' - 检索了九月份的模式 (PROJ-1234, 200小时)
  • 'get_schedule' - 发现了十月份的23个工作日 (184小时容量)
  • 'bulk_post_worklogs' - 一次性创建了23条工时记录

您的十月份工时表现在已完成,并与您九月份使用的项目模式完全一致!


信息

分类

商业系统