gha-intel-mcp
Provides MCP tools to inspect GitHub Actions run timing, audit workflow configuration, and retrieve cache/billing usage.
Compute job-level timing statistics (avg, min, max, p95) for recent workflow runs to identify slow jobs and trends.
Analyze workflow YAML for optimization opportunities across caching, matrix strategy, concurrency, artifacts, checkout depth, timeouts, runner pinning, Docker caching, and trigger filters.
Retrieve repository cache usage and recent run timing, with account billing limited by retired GitHub endpoints.
Provides tools to analyze GitHub Actions workflow performance, audit workflow configurations, and retrieve billing usage data from GitHub.
Offers MCP tools for GitHub Actions workflow timing analysis, configuration auditing, and billing/cache usage insights.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gha-intel-mcp What's the p95 runtime for our CI workflow runs?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gha-intel-mcp
Inspect GitHub Actions run timing and review workflow configuration through MCP.
Tools
Tool | Description |
| Computes average, min, max, and p95 duration statistics for recent workflow runs. |
| Evaluates workflow YAML for caching, parallelism, concurrency, artifacts, checkout depth, timeouts, runner pinning, Docker caching, and triggers. |
| Reads repository cache usage and recent run timing. Account billing uses retired endpoints; see limitations below. |
Related MCP server: copilot-usage-mcp
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.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
%APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"gha-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/gha-intel-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}claude mcp add gha-intel -e GITHUB_TOKEN=ghp_your_token -- npx -y @barissozudogru/gha-intel-mcp~/.cursor/mcp.json
{
"mcpServers": {
"gha-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/gha-intel-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"gha-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/gha-intel-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}.vscode/mcp.json (workspace) or user settings
{
"servers": {
"gha-intel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@barissozudogru/gha-intel-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}Open Cline settings, navigate to MCP Servers, and add:
{
"mcpServers": {
"gha-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/gha-intel-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}~/.continue/config.yaml
mcpServers:
- name: gha-intel
command: npx
args:
- -y
- "@barissozudogru/gha-intel-mcp"
env:
GITHUB_TOKEN: ghp_your_token~/.config/zed/settings.json
{
"context_servers": {
"gha-intel": {
"command": {
"path": "npx",
"args": ["-y", "@barissozudogru/gha-intel-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}
}Go to Settings > Tools > AI Assistant > MCP and add:
{
"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:
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/healthOr set via environment variable instead of the flag:
TRANSPORT=http PORT=3000 GITHUB_TOKEN=ghp_your_token npx @barissozudogru/gha-intel-mcp~/.cursor/mcp.json
{
"mcpServers": {
"gha-intel": {
"url": "http://localhost:3000/mcp"
}
}
}.vscode/mcp.json
{
"servers": {
"gha-intel": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"gha-intel": {
"serverUrl": "http://localhost:3000/mcp"
}
}
}~/.continue/config.yaml
mcpServers:
- name: gha-intel
url: http://localhost:3000/mcpOption C: Docker
docker build -t gha-intel-mcp .
docker run -p 3000:3000 -e GITHUB_TOKEN=ghp_your_token gha-intel-mcpThe 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.
Parameter | Type | Required | Description |
| string | yes | GitHub owner (user or org) |
| string | yes | Repository name |
| string | yes | Workflow file name (e.g. |
| number | no | Number 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.
Parameter | Type | Required | Description |
| string | yes | Full 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.
Parameter | Type | Required | Description |
| string | yes | GitHub username or organisation |
| string | no | Repository 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
Variable | Required | Description |
| yes | GitHub personal access token. Access must match the requested repository and endpoint. Keep the token outside version control. |
| no | Set to |
| no | HTTP port when running in HTTP mode (default: |
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:
npm ci
npm test
npm run buildThe default branch can contain changes that have not yet been published to npm.
License
Available Tools
3 toolsanalyze_workflow_configAnalyze Workflow ConfigA
Parse a GitHub Actions workflow YAML (provided as a string) and identify optimization opportunities: missing caches, matrix strategy, concurrency controls, slow dependency installs, artifact handling, and more.
Inputs: workflow_content (required).
get_billing_usageGet Billing UsageA
Retrieve GitHub Actions billing and cache usage statistics for an owner (user or org), optionally scoped to a specific repository.
Inputs: owner (required), repo.
list_workflow_performanceList Workflow PerformanceA
Fetch the last N workflow runs and compute job-level timing statistics (avg, min, max, p95) across those runs. Useful for identifying slow jobs and trends.
Inputs: repo (required), owner (required), workflow_id (required), count.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool addresses a clearly distinct aspect: runtime performance metrics, static configuration analysis, and billing/cost usage. There is no overlap in purpose or data source, so an agent can reliably select the right tool.
All tool names follow a consistent verb_noun pattern: list_workflow_performance, analyze_workflow_config, get_billing_usage. The verbs (list, analyze, get) and nouns clearly indicate the action and subject, maintaining uniformity across the set.
With only 3 tools, the server is minimally scoped but each tool serves a distinct, valuable function within the GitHub Actions intel domain. The count is within the typical 3-15 range, though one could argue it's slightly on the lower end for comprehensive coverage.
The tools cover performance metrics, config analysis, and billing, but there's a notable gap: no tool to fetch the workflow YAML directly, forcing an external step for configuration analysis. Additionally, lifecycle operations like listing workflows or runs are missing, though performance stats partially address that.
Maintenance
Related MCP Connectors
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Finds the GitHub Actions workflow eating your CI bill and suggests fix diffs, verified against runs.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for Appcircle mobile CI/CD platform.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for GitHub Actions — view workflow runs, read logs, re-run failed jobs, and manage CI/CD.961 npm4MIT
- AlicenseAqualityDmaintenanceAn MCP server that retrieves GitHub Copilot usage metrics and seat assignment data across Enterprise, Organization, and Team levels. It allows users to monitor code completions, chat activity, and active user counts through integrated tools.54 npmMIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server that provides AI assistants with comprehensive GitHub developer tooling including PR analysis, code review, changelog generation, dependency auditing, commit summarization, and refactoring suggestions.7 npmISC
- AlicenseAqualityDmaintenanceAn MCP server that enables AI agents to perform comprehensive GitHub security audits across org settings, repositories, Actions workflows, secrets, supply chain, and access control using 39 tools and 45 checks.39207 npm15MIT