gha-intel-mcp

gha-intel-mcp

MCP server that analyzes GitHub Actions workflow performance, audits configuration for optimization, and provides billing and cache usage insights.

Category
访问服务器

README

<img src="./assets/banner-gha-intel.svg" alt="gha-intel-mcp" width="888" />

An MCP server for GitHub Actions workflow timing analysis, configuration auditing, and billing insights.

Tools

Tool Description
list_workflow_performance Computes average, min, max, and p95 duration statistics for recent workflow runs.
analyze_workflow_config Evaluates workflow YAML for caching, parallelism, concurrency, artifacts, checkout depth, timeouts, runner pinning, Docker caching, and triggers.
get_billing_usage Returns Actions billing minutes and estimated cost by runner type, plus per-repo cache utilisation.

Requirements

  • Node.js >= 18 (uses native fetch)
  • A GitHub personal access token with repo and read:org scopes

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)

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

Claude Code

claude mcp add gha-intel -e GITHUB_TOKEN=ghp_your_token -- npx -y @barissozudogru/gha-intel-mcp

Cursor

~/.cursor/mcp.json

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

Windsurf

~/.codeium/windsurf/mcp_config.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

{
  "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:

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

Continue.dev

~/.continue/config.yaml

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

Zed

~/.config/zed/settings.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:

{
  "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/health

Or set via environment variable instead of the flag:

TRANSPORT=http PORT=3000 GITHUB_TOKEN=ghp_your_token npx @barissozudogru/gha-intel-mcp

Cursor (HTTP)

~/.cursor/mcp.json

{
  "mcpServers": {
    "gha-intel": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

VS Code + Copilot (HTTP)

.vscode/mcp.json

{
  "servers": {
    "gha-intel": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Windsurf (HTTP)

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "gha-intel": {
      "serverUrl": "http://localhost:3000/mcp"
    }
  }
}

Continue.dev (HTTP)

~/.continue/config.yaml

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

Option C: Docker

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.

Parameter Type Required Description
owner string yes GitHub owner (user or org)
repo string yes Repository name
workflow_id string yes Workflow file name (e.g. ci.yml) or numeric ID
count 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
workflow_content 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 billing and cache consumption data.

Parameter Type Required Description
owner string yes GitHub username or organisation
repo string no Repository name for repo-scoped cache and run stats

Output: Total minutes used, plan utilisation, estimated cost broken down by runner type (Ubuntu / macOS / Windows / large runners), plus per-repo cache size and utilisation percentage.


Environment Variables

Variable Required Description
GITHUB_TOKEN yes GitHub personal access token. Requires repo scope for private repos, read:org for org billing.
TRANSPORT no Set to http to enable HTTP mode (default: stdio).
PORT no HTTP port when running in HTTP mode (default: 3000).

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选