mcpField
G
Git Worklog Mcp

Git Worklog Mcp

本地服务
github.com/CherishMvp版本控制039 周前更新

关于 Git Worklog Mcp

Git Worklog Mcp 是从 Git 提交历史整理工作日志的 MCP 服务,面向需要生成日报、周报或月报的开发者。它提供预设及自定义模板,并返回提交数据供 AI 分析撰写。

主要功能

  1. 01读取并分类 Git 提交
  2. 02获取指定提交的 diff
  3. 03按作者和日期筛选
  4. 04支持日报、周报和月报模板
  5. 05支持自定义 Markdown 模板
  6. 06输出中文或英文日志

适用场景

  1. 01汇总仓库近期提交生成日报
  2. 02筛选作者提交撰写月度报告
  3. 03查看指定提交的代码差异
  4. 04按团队格式定制工作日志

MCP 相关

该项目是 MCP 服务,向兼容客户端提供获取提交数据、差异、作者列表及模板信息的工具。AI 可结合返回的数据和模板生成工作日志。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"git-worklog": {
"command": "npx",
"args": [
"-y",
"git-worklog-mcp"
]
}
}
}
启动命令npx -y git-worklog-mcp

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

安装包
npmgit-worklog-mcp

工具

4

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

参数类型必填说明
sincestring否开始日期,如 'yesterday', '1 week ago'
untilstring否结束日期 (可选)
authorstring否按作者筛选 (可选)
repo_pathstring是Git 仓库路径
max_commitsnumber否最大提交数量

详细介绍

来自项目 README

git-worklog-mcp

一个 MCP (Model Context Protocol) 服务器,让 AI 从 Git 提交历史自动生成专业的工作日志。

npm version License: MIT

特性

  • AI 智能分析 - AI 理解代码变更语义,生成有价值的工作描述
  • 可配置模板 - 支持日报、周报、月报等预设模板,支持自定义模板文件
  • 统一工具前缀 - 所有工具使用 worklog_ 前缀,方便唤起
  • 多语言支持 - 支持中文 (zh) 和英文 (en) 输出
  • 零配置启动 - 通过 npx 直接运行,无需安装

快速开始

方式一:npx 直接使用(推荐)

无需安装,在 MCP 配置中直接使用 npx:

{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": ["git-worklog-mcp"]
    }
  }
}
方式二:全局安装
npm install -g git-worklog-mcp

安装后配置:

{
  "mcpServers": {
    "git-worklog": {
      "command": "git-worklog-mcp"
    }
  }
}

MCP 配置文件位置

工具配置文件路径
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor~/.cursor/mcp.json
VS Code.vscode/mcp.json 或用户级 MCP 配置

配置选项详解

完整配置示例
{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": [
        "git-worklog-mcp",
        "--template", "daily",
        "--lang", "zh"
      ]
    }
  }
}
所有参数说明
参数简写环境变量说明可选值默认值
--template-tWORKLOG_TEMPLATE预设模板名称daily, weekly, monthly, simpledaily
--template-file-fWORKLOG_TEMPLATE_FILE自定义模板文件的绝对或相对路径任意 .md 文件路径-
--author-aWORKLOG_AUTHOR默认筛选的 Git 作者(可用名字或邮箱)字符串-
--lang-lWORKLOG_LANG输出语言,影响分类名称显示zh(中文), en(英文)zh

优先级: --template-file > --template(当指定模板文件时,预设模板参数被忽略)


配置示例

示例 1:最简配置(中文日报)
{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": ["git-worklog-mcp"]
    }
  }
}
示例 2:周报模式
{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": [
        "git-worklog-mcp",
        "--template", "weekly",
        "--lang", "zh"
      ]
    }
  }
}
示例 3:指定作者 + 英文输出
{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": [
        "git-worklog-mcp",
        "-t", "daily",
        "-a", "[email protected]",
        "-l", "en"
      ]
    }
  }
}
示例 4:使用自定义模板文件
{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": [
        "git-worklog-mcp",
        "--template-file", "D:\\projects\\.worklog-template.md"
      ]
    }
  }
}

macOS/Linux 路径示例:

{
  "args": [
    "git-worklog-mcp",
    "-f", "/Users/yourname/projects/.worklog-template.md"
  ]
}
示例 5:使用环境变量配置
{
  "mcpServers": {
    "git-worklog": {
      "command": "npx",
      "args": ["git-worklog-mcp"],
      "env": {
        "WORKLOG_TEMPLATE": "monthly",
        "WORKLOG_AUTHOR": "cherish",
        "WORKLOG_LANG": "zh"
      }
    }
  }
}

可用工具

配置完成后,AI 可以调用以下工具(均以 worklog_ 为前缀):

工具名说明
worklog_get_data核心工具 - 获取 Git 提交数据,返回结构化 JSON + 模板内容供 AI 生成日志
worklog_get_diff获取指定提交的代码差异(diff),用于深入分析变更内容
worklog_list_authors列出仓库的所有贡献者及其提交统计
worklog_get_template获取当前配置的模板信息,查看可用模板列表
worklog_get_data 参数
参数必填类型说明示例
repo_path✅stringGit 仓库路径"D:\\my-project" 或 "."
author❌string按作者筛选"your-name"
since❌string开始日期"yesterday", "1 week ago", "2024-01-01"
until❌string结束日期"today", "2024-01-31"
max_commits❌number最大提交数量50(默认 100)

使用方法

配置好 MCP 后,直接对 AI 说:

生成今日工作日志
请用 worklog_get_data 获取 D:\my-project 仓库今天的提交,按模板生成工作日志
生成本周周报
请获取 D:\my-project 仓库最近一周的 Git 提交,生成周报
生成指定作者的月报
请获取仓库 2024 年 1 月 cherish 的所有提交,生成月度工作报告
查看当前模板配置
请调用 worklog_get_template 查看当前使用的模板

预设模板

daily - 日报模板

按分类展示今日工作内容,适合每日汇报:

# 工作日志 - {{date_range}}

## 今日概要
- 提交次数: {{total_commits}}
- 代码变更: +{{total_insertions}}/-{{total_deletions}} 行

## 工作内容

### 功能开发
- {{message}} (`{{short_hash}}`)

### Bug 修复
- ...
weekly - 周报模板

按周汇总,包含分类统计和模块分布,适合周会汇报:

# 周报 - {{date_range}}

## 本周概览
| 指标 | 数值 |
|------|------|
| 提交次数 | {{total_commits}} |
| 活跃天数 | {{active_days}} 天 |

## 工作分类
### {{category_name}} ({{count}}项)
- {{message}}
monthly - 月报模板

完整的月度工作报告,含统计表格,适合月度总结:

# 月度工作报告 - {{month}}

## 月度总览
- 总提交: {{total_commits}} 次
- 活跃天数: {{active_days}} 天

## 工作分类统计
| 类型 | 数量 | 占比 |
|------|------|------|
| {{name}} | {{count}} | {{percentage}}% |
simple - 简单列表

极简模式,仅列出提交信息,适合快速查看:

# 工作记录 {{date_range}}

- {{message}}
- {{message}}

共 {{total_commits}} 项

自定义模板

方式一:使用模板文件(推荐)
  1. 创建模板文件

在项目中创建 .worklog-template.md:

# 我的工作日志 - {{date_range}}

## 今日完成

{{#each commits}}
- [{{date_formatted}}] {{message}} (`{{short_hash}}`)
  - 变更: {{stats.files_changed}} 文件, +{{stats.insertions}}/-{{stats.deletions}}
{{/each}}

## 统计汇总
- 提交: {{total_commits}} 次
- 代码变更: +{{total_insertions}}/-{{total_deletions}} 行
- 涉及模块: {{module_count}} 个

---
*由 AI 自动生成*
  1. 在 MCP 配置中指定模板文件
{
  "args": [
    "git-worklog-mcp",
    "--template-file", "/path/to/.worklog-template.md"
  ]
}
方式二:通过环境变量指定
{
  "env": {
    "WORKLOG_TEMPLATE_FILE": "/path/to/template.md"
  }
}
模板语法
语法说明示例
{{variable}}变量替换{{total_commits}}
{{#each items}}...{{/each}}循环遍历数组{{#each commits}}...{{/each}}
{{#category:名称}}...{{/category}}按分类筛选提交{{#category:功能开发}}...{{/category}}
可用变量一览
汇总变量(全局可用)
变量说明示例值
{{date_range}}日期范围2024-01-01 ~ 2024-01-07
{{total_commits}}总提交数15
{{total_insertions}}新增代码行数342
{{total_deletions}}删除代码行数128
{{active_days}}活跃天数5
{{module_count}}涉及模块数量8
提交变量(在 {{#each commits}} 中使用)
变量说明示例值
{{hash}}完整提交哈希a1b2c3d4e5f6...
{{short_hash}}短哈希(7位)a1b2c3d
{{message}}提交信息feat: add user login
{{date_formatted}}格式化日期2024-01-15
{{category_name}}分类名称功能开发
{{author.name}}作者名cherish
{{author.email}}作者邮箱[email protected]
{{stats.files_changed}}变更文件数3
{{stats.insertions}}新增行数45
{{stats.deletions}}删除行数12
分类变量(在 {{#each categories}} 中使用)
变量说明示例值
{{name}}分类名称功能开发
{{count}}该分类的提交数8
{{percentage}}占比百分比53
模块变量(在 {{#each modules}} 中使用)
变量说明示例值
{{name}}模块名称(基于文件路径首级目录)src
{{count}}变更次数12

工作原理

┌─────────────┐     ┌─────────────────┐     ┌─────────────┐
│  Git 仓库   │ ──▶ │  MCP Server     │ ──▶ │    AI       │
│  提交历史   │     │  数据 + 模板    │     │  智能生成   │
└─────────────┘     └─────────────────┘     └─────────────┘
  1. MCP 提取数据 - 从 Git 仓库读取提交历史,自动分类
  2. 返回结构化数据 - JSON 格式的提交数据 + 模板内容
  3. AI 智能生成 - AI 按模板格式,用专业语言描述每项工作的价值
自动分类规则

基于 commit message 的前缀或关键词自动判断:

分类触发关键词
功能开发feat、add、new
Bug修复fix、bug、issue
代码优化refactor、optimize、improve
文档更新docs、readme、document
测试相关test
代码风格style、format、lint
日常维护chore、deps、upgrade
性能优化perf、performance

常见问题

Q: 如何只获取我自己的提交?

使用 --author 参数,可以填写 Git 用户名或邮箱:

{
  "args": ["git-worklog-mcp", "-a", "[email protected]"]
}
Q: 模板文件路径怎么写?
  • Windows: "D:\\project\\.worklog-template.md" 或 "D:/project/.worklog-template.md"
  • macOS/Linux: "/home/user/project/.worklog-template.md"
  • 相对路径: "./.worklog-template.md"(相对于启动 MCP 的工作目录)
Q: 支持哪些 AI 工具?

支持所有兼容 MCP 协议的工具:

  • Claude Desktop
  • Cursor
  • VS Code + Copilot(需配置 MCP)
  • 其他 MCP 兼容客户端
Q: 为什么提交统计显示 0?

首次提交(没有父提交)无法计算 diff,这是正常的。后续提交会正常显示统计。


开发

# 克隆仓库
git clone https://github.com/CherishMvp/git-worklog-mcp.git
cd git-worklog-mcp

# 安装依赖
npm install

# 开发模式(监听文件变化)
npm run dev

# 构建
npm run build

# 使用 MCP Inspector 测试
npm run inspect

License

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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