Feature Request: Expose GitHub Project Item History/Timeline Events

オープン
#1,169 コメント 1 件 リアクション 3 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
静か
技術スタック
github, go, graphql

調査の方向性

まず既存の get_project_item ツールと list_project_items ツールを確認し、次にリクエストで言及されている ProjectV2 GraphQL API と issue timeline API を比較します。要求された履歴イベントと actor データが利用可能かを判断し、ツールの設計を選択して、タイムスタンプ、値の変更、actor を含むサポート対象のアイテム履歴を返すことを完了条件として定義します。

索引モデルが issue の本文から書いたものです。

説明

stale

Problem Statement

Currently, the GitHub MCP server provides tools to view the current state of GitHub Project items (issues/PRs in projects), but there's no way to access the historical data about when items moved between columns or how long they spent in each status.

This limits the ability to:

  • Track cycle time metrics (time from "In Progress" to "Done")
  • Understand bottlenecks in workflows
  • Generate velocity and throughput reports
  • Analyze team performance over time

Use Case

As a user working with GitHub Projects, I want to be able to ask questions like:

  • "How long did issue #14560 spend in each column of the Move project board?"
  • "What's the average time issues spend in 'Review/QA' status?"
  • "Show me the timeline of when this issue moved between statuses"

Current Behavior

The get_project_item and list_project_items tools only return the current state of items, including their current field values. There's no historical tracking exposed through the MCP server.

Proposed Solution

Add new tool(s) to expose GitHub Project item timeline/history events. This could be:

Option 1: New dedicated tool
get_project_item_history({
  owner: string,
  owner_type: 'user' | 'org',
  project_number: number,
  item_id: number
})

Returns an array of events showing when the item was:

  • Added to the project
  • Moved between columns/status values
  • Field values were changed
  • Removed from the project (if applicable)

Each event should include:

  • Timestamp
  • Field that changed (e.g., "Status")
  • Previous value
  • New value
  • Actor (who made the change)
Option 2: Enhance existing tools

Add an optional include_history parameter to get_project_item that when set to true, includes the historical events alongside the current state.

GitHub API Support

GitHub's ProjectV2 API supports querying project item events through GraphQL. Example query:

query {
  node(id: "ITEM_NODE_ID") {
    ... on ProjectV2Item {
      fieldValueByName(name: "Status") {
        ... on ProjectV2ItemFieldSingleSelectValue {
          name
          updatedAt
        }
      }
    }
  }
}

Additionally, the REST API's timeline events endpoint could be used for issue/PR specific events.

Benefits

  • Enables workflow analytics and metrics tracking
  • Provides transparency into project management processes
  • Allows LLMs to answer time-based questions about project items
  • Supports building reports and dashboards through AI

Additional Context

This feature request came from a real-world scenario where a user wanted to track how long an issue spent in each column of their project board, but the current MCP server tools couldn't provide this information.

Related GitHub API documentation:

主要言語
Go
スター
33.1k
フォーク
5k
平均マージ
2日 1時間
マージ済み PR(30日)
25

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/github-mcp-server のほかの issue

github/github-mcp-server の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。