时间追踪集成服务

一个与Clockify时间追踪API集成的MCP服务器,提供项目管理、时间条目管理、报告生成、用户管理等功能。

  • by SonicWarrior1
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 SonicWarrior1/clockify-mcp

使用说明

Clockify MCP 服务器

一个模型上下文协议(MCP)服务器,提供与Clockify时间追踪API的集成。该服务器使AI助手能够与Clockify的工作区、项目、任务、时间记录、报告、用户、客户和标签进行交互。

特点/特性

  • 🕐 时钟(表示一小时) 时间记录创建、读取、更新和删除时间条目
  • 📋(清单/待办事项列表) 项目管理项目、分配用户并配置设置
  • 📊(表格) 报告生成详细报告和总结报告
  • 👥 代表“人们”或“人群”的符号,可翻译为“人们”或根据上下文译为“人群”等。 用户管理工作区用户及其权限
  • 🏢 翻译为中文是“公司/办公室”。这个表情符号通常用来代表公司、企业或办公场所。 客户处理客户信息和项目关联
  • 标签 标签使用自定义标签整理时间条目
  • ✅ 任务创建和管理项目任务

先决条件

  • Node.js(版本16或更高)
  • npm 或 yarn
  • 一个Clockify账户和API密钥
  • Clockify工作区ID

安装

  1. 克隆仓库

    git clone https://github.com/SonicWarrior1/clockify-mcp
    cd mcp
    
  2. 安装依赖项

    npm install
    
  3. 设置环境变量

    创建一个 .env 根目录下的文件:

    CLOCKIFY_API_KEY=your_clockify_api_key_here
    CLOCKIFY_WORKSPACE_ID=your_workspace_id_here
    

    获取您的Clockify API密钥:

    • 登录您的Clockify账户
    • 前往用户设置 → API
    • 生成一个新的API密钥

    获取您的工作区ID:

    • 前往您的Clockify工作区
    • 工作区ID位于URL中: https://app.clockify.me/workspaces/{WORKSPACE_ID}/dashboard
  4. 构建项目

    npm run build
    

使用

运行MCP服务器

npm run build
npx @modelcontextprotocol/inspector node ./build/index.js

或者直接:

node ./build/index.js

可用工具

项目管理

  • get_projects - 检索所有项目,并可选择应用过滤器
  • get_project_by_id - 获取详细的项目信息
  • add_project - 创建一个新项目
  • update_project - 修改现有项目
  • delete_project - 删除一个项目
  • mangage_users_project - 为项目分配/移除用户

时间跟踪

  • get_time_entries - 使用过滤器检索时间条目
  • get_time_entry_by_id - 获取具体的时间记录详情
  • add_time_entry - 创建新的时间条目
  • update_time_entry - 修改现有的时间记录
  • delete_time_entry - 删除时间条目

报告

  • get_detailed_report - 生成全面的报告
  • get_summary_report - 获取汇总统计数据

用户管理

  • get_users - 列出工作区用户
  • get_user_by_id - 获取用户详细信息
  • add_user - 邀请新用户
  • update_user - 修改用户信息
  • delete_user - 移除用户

客户管理

  • get_clients - 列出所有客户
  • get_client_by_id - 获取客户详细信息
  • add_client - 创建新客户
  • update_client - 修改客户信息
  • delete_client - 移除客户端

任务管理

  • get_tasks - 获取项目任务
  • get_task_by_id - 获取任务详情
  • add_task - 创建新任务
  • update_task - 修改任务
  • delete_task - 移除任务

标签管理

  • get_tags - 列出可用标签
  • add_tag - 创建新标签
  • update_tag - 修改标签
  • delete_tag - 移除标签

发展

项目结构

mcp/
├── src/                    # TypeScript source code
│   ├── tools/             # Individual tool implementations
│   │   ├── clients.ts     # Client management tools
│   │   ├── project.ts     # Project management tools
│   │   ├── reports.ts     # Reporting tools
│   │   ├── tags.ts        # Tag management tools
│   │   ├── tasks.ts       # Task management tools
│   │   ├── timeEntry.ts   # Time entry tools
│   │   └── users.ts       # User management tools
│   ├── constants.ts       # API constants
│   ├── env.d.ts          # Environment type definitions
│   ├── index.ts          # Main server entry point
│   ├── types.ts          # Shared TypeScript types
│   └── utils.ts          # Utility functions
├── build/                 # Compiled JavaScript output
├── package.json          # Project dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md             # This file

建筑

npm run build

这个工具用于编译TypeScript文件 src/ to build/ 目录。

检查

使用MCP Inspector来测试和调试您的服务器:

npm run inspect

这将打开MCP检查器界面,您可以在其中测试各个工具并查看它们的响应。

使用Claude桌面版进行测试

您可以直接使用Claude for Desktop测试您的Clockify MCP服务器。这使您能够通过自然语言对话与您的Clockify工作区进行交互。

先决条件

  1. 安装桌面版Claude - 从(官方/指定网站)下载最新版本 Claude Desktop(可译为“Claude桌面版”或保持原样,根据上下文判断是否需要具体翻译)
  2. 确保您的服务器已构建完成 - 跑 npm run build 编译你的TypeScript代码

配置

  1. 打开Claude桌面配置文件:

    Windows:

    code $env:AppData\Claude\claude_desktop_config.json
    

    macOS/Linux:

    code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    

    注:如果文件不存在,请创建它。

  2. 添加您的Clockify MCP服务器配置:

    {
      "mcpServers": {
        "clockify": {
          "command": "node",
          "args": ["C:\\PATH\\TO\\PARENT\\FOLDER\\mcp\\build\\index.js"]
        }
      }
    }
    

    重要提示: 将路径替换为您编译后的文件的绝对路径 index.js 文件并添加您实际的Clockify凭据。

  3. 保存文件并重新启动Claude桌面版

使用服务器

一旦配置完成,您就可以通过Claude与您的Clockify工作区进行交互。在与Claude聊天时,MCP工具将可用。例如,您可以询问:

  • “在Clockify中显示我的所有项目”
  • “为网站项目创建一个新的2小时的时间记录”
  • “为本周生成一份总结报告”
  • “列出我工作区中的所有用户”
  • “为我的项目添加一个新任务”

做出贡献

  1. 克隆该仓库
  2. 创建一个特性分支
  3. 做出你的更改
  4. 如适用,请添加测试
  5. 提交拉取请求

支持

对于以下相关问题: