npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

git-worklog-mcp

v1.0.1

Published

MCP server for generating AI-powered work logs from Git commit history

Downloads

195

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 | -t | WORKLOG_TEMPLATE | 预设模板名称 | daily, weekly, monthly, simple | daily | | --template-file | -f | WORKLOG_TEMPLATE_FILE | 自定义模板文件的绝对或相对路径 | 任意 .md 文件路径 | - | | --author | -a | WORKLOG_AUTHOR | 默认筛选的 Git 作者(可用名字或邮箱) | 字符串 | - | | --lang | -l | WORKLOG_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 | ✅ | string | Git 仓库路径 | "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 的前缀或关键词自动判断:

| 分类 | 触发关键词 | |------|-----------| | 功能开发 | feataddnew | | Bug修复 | fixbugissue | | 代码优化 | refactoroptimizeimprove | | 文档更新 | docsreadmedocument | | 测试相关 | test | | 代码风格 | styleformatlint | | 日常维护 | choredepsupgrade | | 性能优化 | perfperformance |


常见问题

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