mcpField
S
standupgen

standupgen

ローカル
github.com/CloudCorpRecords生産性01 週間前に更新

standupgen について

standupgenは、入力されたGitコミットとプルリクエストの記録から、事実に基づくMarkdownのスタンドアップを作成します。状況報告を準備する人向けで、入力記録のみを使い、作者での絞り込みと件数表示にも対応します。

主な機能

  1. 01Markdownのスタンドアップを作成
  2. 02PRをマージ済み・進行中・終了に分類
  3. 03入力されたコミット順を維持
  4. 04作者による記録の絞り込み
  5. 05活動件数を返却

活用シーン

  1. 01最近のコミットから報告を準備
  2. 02状態別にプルリクエストを要約
  3. 03特定の作者の活動報告を作成
  4. 04報告内容と件数を照合

MCP 対応

MCPクライアントに`generate_standup`ツールを提供します。クライアントがコミットとプルリクエストの記録を渡し、任意で作者と日付ラベルを指定すると、報告と件数を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-standupgen": {
"command": "npx",
"args": [
"-y",
"@reneturcios/standupgen"
]
}
}
}
起動コマンドnpx -y @reneturcios/standupgen

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/standupgen0.1.0
ocighcr.io/cloudcorprecords/standupgen:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
authorstringいいえ指定すると、この作成者のコミットとプルリクエストのみを含めます(完全一致)(任意)
commitsarrayいいえ報告するコミット(任意)
date_labelstringいいえスタンドアップ見出しのラベル(任意、デフォルトは "Yesterday")
pull_requestsarrayいいえ報告するプルリクエストの活動(任意)

詳細

standupgen

記憶を頼りにスタンドアップ報告を書くと、特に大きく感じたことに偏り、実際にリリースされた小さな修正がいつの間にか抜け落ちてしまいます。standupgen は逆のアプローチを取ります。アクティビティ記録(Git のコミットとプルリクエストのアクティビティ)を渡すと、その記録だけを基にスタンドアップ報告を作成し、何も追加したり脚色したりしません。結果は事実に基づき、ローカルで生成され、どこかに貼り付ける前に自分で編集できます。

生成されるスタンドアップ報告は短い Markdown で、最大 3 つのセクションから構成されます。

  • 完了 — 渡したすべてのコミットを渡した順に表示します。それぞれハッシュの先頭 7 文字を付け、その後にマージ済みのプルリクエストを番号順に表示します。
  • 進行中 — 状態が opened または updated のプルリクエストを番号順に表示し、それぞれに状態を付けます。
  • マージせずにクローズ — 状態が closed のプルリクエストを番号順に表示します。

内容のないセクションは完全に省略されます。アクティビティがまったくない場合、スタンドアップ報告は見出しと「記録されたアクティビティはありません。」のみになります。テキストとともに、コミット、マージ済み、進行中、クローズの件数も含まれるため、数値と文章は常に一致します。

省略可能な author フィルターを使うと、特定のユーザーにスタンドアップ報告を絞り込めます。独自の author フィールドが存在し、その値が完全に一致するコミットとプルリクエストのみが含まれ、件数もその絞り込み後のセットを基に算出されます。author のない記録はフィルター後に残りません。見出しのラベルは既定で「Yesterday」で、date_label で設定できます。

不正な入力(配列ではないリスト、オブジェクトではないエントリ、ハッシュ、subject、title の欠落、空文字列、または文字列以外の値、欠落、整数以外、1 未満、または重複したプルリクエスト番号、opened / updated / merged / closed 以外の状態、空の author または date label)は、該当するパスを示す検証エラーになります(例:pull_requests[1].number must be an integer >= 1)。スタンドアップ報告が一部だけ生成されることはありません。計算は純粋かつローカルです。ネットワークも設定も使わず、リポジトリも読み込みません。読み込むのは渡された記録のみです。

CLI

npx @reneturcios/standupgen generate --input args.json
npx @reneturcios/standupgen --version

args.json には引数オブジェクト全体が含まれます。

{
  "date_label": "Yesterday",
  "commits": [
    { "hash": "a1b2c3d4e5", "subject": "Fix retry backoff", "author": "rene" },
    { "hash": "f6e7d8c9b0", "subject": "Add export button", "author": "rene" }
  ],
  "pull_requests": [
    { "number": 42, "title": "Retry backoff", "state": "merged", "author": "rene" },
    { "number": 43, "title": "Dark mode", "state": "opened", "author": "rene" },
    { "number": 40, "title": "Old experiment", "state": "closed", "author": "rene" }
  ]
}

commits と pull_requests はどちらも省略可能で、既定値は空です。出力オブジェクトは JSON として出力されます。

{
  "standup": "## Standup — Yesterday\n\n### Done\n- Fix retry backoff (a1b2c3d)\n- Add export button (f6e7d8c)\n- Merged #42: Retry backoff\n\n### In progress\n- #43: Dark mode (opened)\n\n### Closed without merging\n- #40: Old experiment",
  "counts": { "commits": 2, "merged": 1, "in_progress": 1, "closed": 1 }
}

生成されるスタンドアップ報告は次のとおりです。

スタンドアップ — Yesterday

完了
  • リトライのバックオフを修正(a1b2c3d)
  • エクスポートボタンを追加(f6e7d8c)
  • #42 をマージ:リトライのバックオフ
進行中
  • #43:ダークモード(opened)
マージせずにクローズ
  • #40:古い実験

終了コード:成功時は 0、実行時エラー時は 1(読み込み不能または無効な入力ファイル、無効な入力を含む)、使用方法エラー時は 2。

MCP サーバー

npx -y @reneturcios/standupgen mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "standupgen": {
      "command": "npx",
      "args": ["-y", "@reneturcios/standupgen", "mcp"]
    }
  }
}
ツール
  • generate_standup — Git のコミットとプルリクエストのアクティビティから、事実に基づくスタンドアップ報告を作成します。

    • commits(配列、省略可能、既定値 []) — {hash, subject, author?} オブジェクトとしてのコミット。hash は先頭 7 文字が表示されます。
    • pull_requests(配列、省略可能、既定値 []) — {number, title, state, author?} オブジェクトとしてのプルリクエスト。number は正の整数で、セット内で一意である必要があります。state は opened、updated、merged、closed のいずれかです。
    • author(文字列、省略可能) — 指定すると、この author のコミットとプルリクエストのみが含まれます(完全一致)。author のない記録は除外されます。
    • date_label(文字列、省略可能、既定値 "Yesterday") — スタンドアップ報告の見出しに付けるラベル

    {standup, counts} を返します。counts は、フィルター後のセットにおける {commits, merged, in_progress, closed} です。

Docker

docker run -i ghcr.io/cloudcorprecords/standupgen
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/standupgen generate --input /w/args.json

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。