mcpField
S
Standup from your activity

Standup from your activity

本地服务
github.com生产力019 周前更新

关于 Standup from your activity

Standup from your activity 是一个本地只读 MCP 服务,面向需要从 GitHub、Jira、Linear 和 Slack 活动整理每日站会草稿的个人。它按工作项合并跨工具记录,并从活动信号识别阻塞事项,不会代为发布。

主要功能

  1. 01生成每日站会草稿
  2. 02按工作项合并活动
  3. 03识别并排序阻塞事项
  4. 04汇总每周活动
  5. 05按时间整理活动记录
  6. 06只读访问数据源

适用场景

  1. 01根据近期工作活动准备每日站会更新
  2. 02查找阻塞事项或整理每周工作总结

MCP 相关

MCP 服务提供五种工具,供客户端生成站会草稿、扫描阻塞事项、汇总每周活动、整理活动记录和查看数据源。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"sathvic-kollu-standup": {
"command": "npx",
"args": [
"-y",
"standup-mcp"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"JIRA_BASE_URL": "<JIRA_BASE_URL>",
"JIRA_EMAIL": "<JIRA_EMAIL>",
"JIRA_API_TOKEN": "<JIRA_API_TOKEN>",
"LINEAR_API_KEY": "<LINEAR_API_KEY>",
"SLACK_TOKEN": "<SLACK_TOKEN>",
"SLACK_CHANNELS": "<SLACK_CHANNELS>",
"STANDUP_NAME": "<STANDUP_NAME>",
"STANDUP_DEMO_MODE": "<STANDUP_DEMO_MODE>"
}
}
}
}
启动命令npx -y standup-mcp
需要配置的环境变量
GITHUB_TOKEN密钥GitHub read-only personal access token. Enables commits, PRs, and reviews. Leave all sources unset to use the built-in demo data.
JIRA_BASE_URLYour Jira Cloud site, e.g. https://your-company.atlassian.net.
JIRA_EMAILAtlassian account email the API token belongs to.
JIRA_API_TOKEN密钥Jira API token from id.atlassian.com. Read-only use.
LINEAR_API_KEY密钥Linear personal API key (read-only). Enables issue state changes and comments.
SLACK_TOKEN密钥Slack token with read scopes. Enables scanning your own messages for blocker language.
SLACK_CHANNELSOptional comma-separated channel ids to scan when message search is unavailable.
STANDUP_NAMEOptional display name for the standup's owner.
STANDUP_DEMO_MODESet to true to force the demo dataset even when credentials are present.

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

安装包
npmstandup-mcp0.1.0

工具

5

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

参数类型必填说明
daysinteger否从现在起向前回溯的天数,取代默认时间范围。
sincestring否时间范围的 ISO 日期/时间起点,例如 2026-06-16。覆盖默认值。默认范围为上一个工作日(周一会追溯至周五)。

详细介绍

standup-mcp

根据你在 GitHub、Jira、Linear 和 Slack 上实际完成的工作,生成每日站会汇报。

npm version license node MCP

每次站会前,你都得停下来凭记忆还原昨天的工作:提交了哪些 commit、开了哪个 PR、推进了哪张工单,还有那条说自己卡住了的 Slack 讨论串。工作早已记录在各个工具中。重新输入这些内容是大家都讨厌的麻烦事,所以汇报往往含糊不清(“做了那个东西”),真正的阻塞问题也没有说出来。

standup-mcp 会读取这些活动记录,并替你写好草稿。你只需问 AI 助手“今天站会我该说什么?”,它就会根据你在 GitHub、Jira、Linear 和 Slack 上的真实活动作答:按工作项分组,具体说明进展变化,并主动发现阻塞问题。

它是标准的 Model Context Protocol 服务,因此可在任何模型上搭配任意 MCP 客户端(Claude、Cursor、Cline 等)使用。它是本地运行且只读的:除了调用这些工具各自的 API,你的活动信息不会离开你的设备,而且不需要自己的 AI API 密钥。模型由宿主客户端提供。

30 秒快速体验(无需账号)

服务自带一套真实感十足的演示数据,未设置凭据时会自动使用这些数据运行,让你在连接任何服务之前就能看到输出:

npx -y standup-mcp --demo

这会根据涵盖全部四种工具的一天模拟活动,生成完整的站会汇报。以下是主要工具的输出:

# Standup: Jordan Lee
_since Tue Jun 16. Demo data, no credentials configured._

## Yesterday
- **PROJ-412 Biometric re-auth** · opened PR #128, 3 commits, latest "handle expired challenge edge case", moved to In Progress, posted an update
- **ENG-88 Rate-limit the export endpoint** · 2 commits, latest "tests for limiter window", moved to In Progress, posted an update
- **PROJ-407 Card dispute webhook** · merged PR #125, moved to In Review
- Reviewed PR #129: Tidy currency formatting helpers

## Today
- Continue **PROJ-412 Biometric re-auth**
- Continue **ENG-88 Rate-limit the export endpoint**
- Land PR #128: Add biometric re-auth (review pending)
- Review PR #130: Refactor request logging

## Blockers
- 🔴 **PROJ-412 Biometric re-auth** · flagged blocked: "Blocked on the vendor sandbox creds for PROJ-412. Waiting on infra to provision them before I can test the re-auth flow…"; awaiting review

请注意,GitHub commit、GitHub PR 和 Jira 状态变更都归并到了 PROJ-412 下;阻塞问题则由工具自动从 Slack 消息中提取。全程无需手动输入。

(不带参数运行 npx -y standup-mcp 会通过 stdio 启动 MCP 服务,供 MCP 客户端调用。在普通终端中查看输出,请使用 --demo。)

功能

共有五种工具。默认情况下,每种工具都会查询最近一个工作日;星期一会自动回溯整个周末,因此你很少需要传入参数。

工具输出内容
standup_draft你的站会汇报:按工作项分组,具体说明进展变化,并分为“昨天/今天/阻塞问题”。回答“站会我该说什么?”
blocker_scan列出所有阻塞你的事项,并按严重程度排序;综合识别明确提到“受阻/等待”的内容、等待评审的 PR、停滞中的进行中工单,以及求助请求。
weekly_summary将一周的活动汇总为“已交付”和“进行中”,并列出评审情况和统计数据。适用于 1:1 沟通、每周状态汇报和自我评估。
activity_digest按时间顺序汇总所有工具中的“实际活动”,最新的排在最前,并按日期分组。
list_sources显示已接入的数据源,或说明你当前使用的是演示数据。
你可以这样提问

通过 AI 客户端用自然语言提问:

  • “今天站会我该说什么?”
  • “给我一份周一的站会汇报,涵盖周末。”
  • “我现在被什么事情卡住了?”
  • “总结一下我这周交付的内容,用于 1:1 沟通。”
  • “我昨天实际做了什么?”
遵循的原则
  • 只报告观察到的活动。 它会报告实际存在的提交、PR、工单流转和消息。它绝不会为了填补安静的一天而编造进展;如果某天没有活动,就如实报告。
  • 按工作项分组,而非按工具分组。 审阅者以工单为单位思考,因此 PROJ-412 的提交、PR、Jira 流转和 Slack 讨论串会合并为一条,而不是四条。
  • 根据信号识别阻塞,而非依靠自我报告。 人们会忘记说明自己遇到了阻碍,因此它会推断出来。
  • 提供草稿,而非自动发布。 你会获得可编辑的 Markdown,可以粘贴到团队现有的站会工具中(Slack、Geekbot、文档或工单)。它不会替你发布。
示例:blocker_scan
# Blockers
_since Tue Jun 16. Demo data._

**1 blocker**: 1 high, 0 medium, 0 low.

- 🔴 **PROJ-412 Biometric re-auth** (slack) · flagged blocked: "Blocked on the vendor sandbox creds for PROJ-412. Waiting on infra to provision them before I can test the re-auth flow…"; awaiting review
示例:weekly_summary
# Weekly summary: Jordan Lee
_the last 7 days. Demo data._

## Shipped
- **PROJ-407 Card dispute webhook**

## In progress
- **PROJ-412 Biometric re-auth**
- **ENG-88 Rate-limit the export endpoint**

## Reviews and support
- Reviewed 1 PR for teammates

_3 work items touched, 1 PR merged, 5 commits._

隐私

这是大多数工具避而不谈的部分。standup-mcp 的设计宗旨是,让你使用它时不会觉得自己在监视自己:

  • 本地运行。 它在你的设备上、AI 客户端内部运行。没有 standup-mcp 服务或账户。
  • 只读。 它请求的每个令牌都只用于读取你的活动。它绝不会写入、发布或移动任何内容。
  • 无需 AI 密钥,也不涉及第三方。 它不会自行调用大模型。你的活动只会发送到你所连接工具的 API,以及你现有 AI 客户端使用的模型。它不会发送给我或其他任何人。
  • 它属于你,而非你的经理。 它为你生成自己的更新,供你审阅和编辑,而不是生成一份供他人查看的活动动态。

连接你的工具

按需配置任意子集。配置了什么,它就使用什么;如果什么都没配置,它就保持演示模式。更改后请重启服务。

变量来源说明
GITHUB_TOKENGitHub只读 PAT。读取你的提交、PR 和审查记录。
JIRA_BASE_URL JIRA_EMAIL JIRA_API_TOKENJira云站点、账户邮箱和 API 令牌。读取你的工单流转情况。
LINEAR_API_KEYLinear个人 API 密钥。读取你的问题状态变更和评论。
SLACK_TOKENSlack用户令牌(xoxp)需具备 search:read 权限,用于扫描你自己的消息,查找表示受阻的内容。如果改用机器人令牌,还需设置 SLACK_CHANNELS(以逗号分隔的频道 ID),因为机器人无法搜索。
STANDUP_NAME可选站会更新作者的显示名称。不设置时,将使用 GitHub 用户名。

将它连接到客户端之前,请先验证连接:

GITHUB_TOKEN=ghp_xxx LINEAR_API_KEY=lin_xxx npx -y standup-mcp --check

它会按来源显示已通过身份验证的用户,或明确的错误信息。

连接你的 AI 客户端

standup-mcp 支持 Model Context Protocol,因此任何兼容 MCP 的客户端都可以使用它,无论客户端运行的是什么模型:Claude Desktop、Claude Code、Cursor、Cline、Continue、Zed、Windsurf 等。该服务本身无需 AI API 密钥。

Claude Desktop

将以下内容添加到 claude_desktop_config.json(Settings、Developer、Edit Config),然后重启 Claude Desktop:

{
  "mcpServers": {
    "standup": {
      "command": "npx",
      "args": ["-y", "standup-mcp"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token",
        "JIRA_BASE_URL": "https://your-company.atlassian.net",
        "JIRA_EMAIL": "[email protected]",
        "JIRA_API_TOKEN": "your-jira-token",
        "LINEAR_API_KEY": "lin_api_your_key",
        "SLACK_TOKEN": "xoxp-your-token"
      }
    }
  }
}

首次运行时,可以完全省略 env 区块以使用演示模式。只需包含你会用到的数据源。

Claude Code
claude mcp add standup \
  -e GITHUB_TOKEN=ghp_your_token \
  -e LINEAR_API_KEY=lin_api_your_key \
  -- npx -y standup-mcp
Cursor、Cline、Continue、Zed、Windsurf 等

这些客户端会在各自的 MCP 配置中读取与 Claude Desktop 相同的 mcpServers JSON。使用上面的配置块即可。服务完全相同;区别仅在于驱动客户端的模型。

工作原理

设计目标是在每个工具与站会逻辑之间建立清晰的边界。

  • 统一的活动模型。 GitHub 提交、Jira 状态变更、Linear 状态变更和 Slack 消息都会归一化为统一的 ActivityEvent。下游逻辑无需知道事实来自哪个工具,因此可以跨工具按工作项分组。
  • 一个提供方,多个来源。 每个来源都是一个独立的只读客户端,遵循统一接口。聚合器会并行调用已配置的来源,并能容忍任意一个来源故障,因此 Slack 令牌配置错误也不会让你的站会无法进行。
  • 纯函数引擎。 分组、阻塞项检测和草稿生成都是基于归一化事件的纯函数。它们在演示数据和实时数据上运行方式一致,测试也会直接运行这些函数。
  • 服务中不包含模型。 服务会整理出基于事实的草稿,由你的 AI 客户端润色措辞。因此它无需 AI 密钥,也能保证绝不凭空编造工作内容。
src/
  index.ts            MCP server, stdio transport, --demo/--check/--help
  config.ts           per-source env resolution, demo-mode detection
  window.ts           the weekend-aware "since last standup" window
  provider.ts         aggregator that fans out to configured sources
  types.ts            ActivityEvent and the source/provider interfaces
  normalize.ts        work-item key extraction, signal and noise detection
  sources/            github, jira, linear, slack clients, plus the demo provider
  analytics/          grouping, blockers, draft, weekly, digest (pure functions)
  tools/              one MCP tool per file, thin wrappers over analytics

已验证内容

  • 所有五个工具都通过真实的 MCP stdio 端到端运行(npm test)。
  • 解析启发式规则(工作项键、阻塞项措辞、噪声过滤器)均经过单元测试(test/normalize.test.ts)。
  • 引擎经过单元测试,涵盖周一包含周末的时间窗口、工作项分组、阻塞项严重程度以及整理好的草稿(test/draft.test.ts)。
  • 整个引擎都使用演示数据进行测试,并能跨工具核对结果(npm run smoke)。

演示数据可以验证引擎,但无法证明每个实时客户端都适用于各种真实账户配置。因此,解析层会单独进行单元测试,并且每个来源都保持精简且具备容错能力。运行 --check 确认你自己的连接;如果某个响应格式在你的账户上无法正确解析,请提交 issue。

路线图

  • 增加 team_standup 视图,为主持会议的 PM 汇总多位成员的情况
  • 增加日历来源(将会议视为活动,让会议繁多的一天也能如实呈现)
  • 支持 GitLab 和 Bitbucket
  • 增加周期时间和“自上次查看后有哪些变化”的摘要
  • 除令牌外,增加 OAuth 流程

由 Sathvic Kollu 构建

我负责 SaaS 和金融科技团队的交付,也使用 Claude Code 构建这类工具。如果它能帮你省去每天准备站会的琐事,我很想了解你是如何使用它的。

欢迎提交 issue 和拉取请求。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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