Gha Intel

io.github.barissozudogru由 GitHub 帳號 barissozudogru 發布v0.4.3更新於 Oct 25, 2026

Workflow timing analysis, configuration audit and billing insight for GitHub Actions.

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理檢視 GitHub Actions 執行耗時、審查工作流程 YAML 的優化空間,並讀取儲存庫快取用量。

可以做什麼
統計近期工作流程執行的耗時:依作業與步驟計算平均值、最小值、最大值與 p95,並列出近期執行結論,可分析最多 100 次執行。審查工作流程 YAML 的優化空間,涵蓋相依套件快取、矩陣策略、並行群組、產物上傳、檢出深度、逾時、執行器版本固定、Docker 快取與觸發路徑篩選,依嚴重程度列出發現與建議。依擁有者與選用儲存庫讀取儲存庫快取消耗與近期執行耗時估算。
適用情境
適合讓助理說明 CI 為何變慢、比較工作流程執行耗時,或在合併變更前審查 GitHub Actions 工作流程檔案中的快取、並行與逾時設定。
執行需求
以 Node.js 本機程序執行(需 Node.js 18 以上),透過 npm 套件通常以 npx 經 stdio 啟動;文件另提供 HTTP 與 Docker 模式。需設定 GITHUB_TOKEN 環境變數,並具備所檢查儲存庫與端點的讀取權限。需要連線至 GitHub API 的網路存取。
安裝前請注意
需在設定中保存 GitHub 權杖,應避免提交至版本控制,並只授予所需的儲存庫與端點權限。HTTP 模式監聽所有網路介面且沒有用戶端驗證,並以設定的權杖處理請求,應僅在可信網路使用或置於具驗證的閘道之後。帳戶帳單端點已停用,費用估算採用歷史費率,不應據此做預算決策。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Gha Intel,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[gha-intel-mcp]

gha-intel-mcp

[npm version] [License: MIT]

npm · Source · Issues

Inspect GitHub Actions run timing and review workflow configuration through MCP.

Tools

ToolDescription
list_workflow_performanceComputes average, min, max, and p95 duration statistics for recent workflow runs.
analyze_workflow_configEvaluates workflow YAML for caching, parallelism, concurrency, artifacts, checkout depth, timeouts, runner pinning, Docker caching, and triggers.
get_billing_usageReads repository cache usage and recent run timing. Account billing uses retired endpoints; see limitations below.

Requirements

  • Node.js >= 18 (uses native fetch)
  • A GitHub token with access to the repositories you want to inspect. See your token type and endpoint permissions before granting access.

Setup

Three transport modes are available. Choose whichever fits your deployment:


Option A: stdio (local, recommended for desktop clients)

The server runs as a subprocess of the MCP client over stdin/stdout. No network port required.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) %APPDATA%\Claude\claude_desktop_config.json (Windows)

json
{  "mcpServers": {    "gha-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/gha-intel-mcp"],      "env": {        "GITHUB_TOKEN": "ghp_your_token"      }    }  }}
Claude Code
bash
claude mcp add gha-intel -e GITHUB_TOKEN=ghp_your_token -- npx -y @barissozudogru/gha-intel-mcp
Cursor

~/.cursor/mcp.json

json
{  "mcpServers": {    "gha-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/gha-intel-mcp"],      "env": {        "GITHUB_TOKEN": "ghp_your_token"      }    }  }}
Windsurf

~/.codeium/windsurf/mcp_config.json

json
{  "mcpServers": {    "gha-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/gha-intel-mcp"],      "env": {        "GITHUB_TOKEN": "ghp_your_token"      }    }  }}
VS Code + Copilot

.vscode/mcp.json (workspace) or user settings

json
{  "servers": {    "gha-intel": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@barissozudogru/gha-intel-mcp"],      "env": {        "GITHUB_TOKEN": "ghp_your_token"      }    }  }}
Cline

Open Cline settings, navigate to MCP Servers, and add:

json
{  "mcpServers": {    "gha-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/gha-intel-mcp"],      "env": {        "GITHUB_TOKEN": "ghp_your_token"      }    }  }}
Continue.dev

~/.continue/config.yaml

yaml
mcpServers:  - name: gha-intel    command: npx    args:      - -y      - "@barissozudogru/gha-intel-mcp"    env:      GITHUB_TOKEN: ghp_your_token
Zed

~/.config/zed/settings.json

json
{  "context_servers": {    "gha-intel": {      "command": {        "path": "npx",        "args": ["-y", "@barissozudogru/gha-intel-mcp"],        "env": {          "GITHUB_TOKEN": "ghp_your_token"        }      }    }  }}
JetBrains (IntelliJ, PyCharm, WebStorm, etc.)

Go to Settings > Tools > AI Assistant > MCP and add:

json
{  "mcpServers": {    "gha-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/gha-intel-mcp"],      "env": {        "GITHUB_TOKEN": "ghp_your_token"      }    }  }}

Option B: HTTP (remote or cloud clients)

Start the server in HTTP mode and point clients at the endpoint:

bash
GITHUB_TOKEN=ghp_your_token npx @barissozudogru/gha-intel-mcp --http# Server listens on http://0.0.0.0:3000/mcp# Health check: http://localhost:3000/health

Or set via environment variable instead of the flag:

bash
TRANSPORT=http PORT=3000 GITHUB_TOKEN=ghp_your_token npx @barissozudogru/gha-intel-mcp
Cursor (HTTP)

~/.cursor/mcp.json

json
{  "mcpServers": {    "gha-intel": {      "url": "http://localhost:3000/mcp"    }  }}
VS Code + Copilot (HTTP)

.vscode/mcp.json

json
{  "servers": {    "gha-intel": {      "type": "http",      "url": "http://localhost:3000/mcp"    }  }}
Windsurf (HTTP)

~/.codeium/windsurf/mcp_config.json

json
{  "mcpServers": {    "gha-intel": {      "serverUrl": "http://localhost:3000/mcp"    }  }}
Continue.dev (HTTP)

~/.continue/config.yaml

yaml
mcpServers:  - name: gha-intel    url: http://localhost:3000/mcp

Option C: Docker

bash
docker build -t gha-intel-mcp .docker run -p 3000:3000 -e GITHUB_TOKEN=ghp_your_token gha-intel-mcp

The container starts in HTTP mode by default. Point your client at http://localhost:3000/mcp.


Tool Reference

list_workflow_performance

Fetch real run timing data and compute job-level statistics.

ParameterTypeRequiredDescription
ownerstringyesGitHub owner (user or org)
repostringyesRepository name
workflow_idstringyesWorkflow file name (e.g. ci.yml) or numeric ID
countnumbernoNumber of recent runs to analyse (default: 10, max: 100)

Output: Per-job and per-step timing stats (avg, min, max, p95), overall run timing, and a list of recent run conclusions.


analyze_workflow_config

Parse and audit a workflow YAML for optimisation opportunities.

ParameterTypeRequiredDescription
workflow_contentstringyesFull YAML content of the workflow file

Output: Findings grouped by severity (critical / warning / info / good) across nine categories, each with a concrete recommendation.

Categories analysed: Dependency caching, matrix strategy and fail-fast, concurrency groups and cancel-in-progress, artifact uploads, git checkout depth, job timeout-minutes, runner version pinning, Docker layer caching, and trigger path filters.


get_billing_usage

Retrieve repository cache consumption and recent run estimates. Account billing is currently limited by a retired API integration.

ParameterTypeRequiredDescription
ownerstringyesGitHub username or organisation
repostringnoRepository name for repo-scoped cache and run stats

Output: With repo supplied, cache usage and recent run timing where accessible. Account billing requests use retired GitHub endpoints and can fail. Existing cost estimates use a historical rate table and should not be treated as current charges.


Environment Variables

VariableRequiredDescription
GITHUB_TOKENyesGitHub personal access token. Access must match the requested repository and endpoint. Keep the token outside version control.
TRANSPORTnoSet to http to enable HTTP mode (default: stdio).
PORTnoHTTP port when running in HTTP mode (default: 3000).

Limitations and deployment

  • Account billing uses /settings/billing/actions, which GitHub retired in September 2025. Granting broader token scopes does not restore those endpoints. Repository cache and run timing requests use separate endpoints.
  • Current cost estimates use historical rates, and cache utilisation assumes a fixed 10 GB limit. Review account configuration before using either for capacity or budget decisions.
  • HTTP mode listens on all interfaces and does not implement client authentication. Keep it on a trusted network or place an authenticated gateway in front of it. The server uses its configured GitHub token for client requests.
  • Timing statistics describe the fetched runs, rather than predicting a future run.

Development and support

Report problems through GitHub issues. See CONTRIBUTING.md for the contribution workflow.

To build and test a source checkout with Node.js 22:

bash
npm cinpm testnpm run build

The default branch can contain changes that have not yet been published to npm.

License

MIT

來源:README.md,提交 6ca9015

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.4.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分