GitHub项目管理仪表盘

一个全面的GitHub项目仪表盘,用于监控多个仓库的提交、拉取请求、问题和部署状态,并提供健康检查功能。

  • by artik0din
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 globodai-group/mcp-github-dashboard

使用说明

📊 MCP GitHub仪表板

一个全面的GitHub项目仪表板,用于模型上下文协议(MCP)。通过Claude等人工智能助手监控多个存储库,提取请求、问题、部署和健康状态。

✨ 特性

  • 📋 多项目管理 -从一个地方监视多个存储库
  • 🔍 存储库状态 -查看提交、PR、问题和工作流状态
  • 🚀 部署跟踪 -监控GitHub操作和Heroku部署
  • 🏥 健康监测 -检查生产/暂存环境的URL运行状况
  • 📊 综合仪表板 -一目了然地获得完整的项目概述
  • 🔒 安全 -使用具有适当范围的GitHub令牌

📋 先决条件

  • GitHub个人访问令牌 - 在此处生成
  • Node.js 16+用于运行MCP服务器
  • 存储库访问 -令牌必须能够访问要监视的存储库

需要GitHub令牌范围

  • repo -访问存储库数据
  • workflow -访问GitHub操作(可选,用于部署监控)

🚀 快速开始

与npx一起使用(推荐)

GITHUB_TOKEN=your-token GITHUB_PROJECTS='[{"id":"test","name":"Test","github":{"owner":"user","repo":"repo"}}]' npx @artik0din/mcp-github-dashboard

全局安装

npm install -g @artik0din/mcp-github-dashboard
export GITHUB_TOKEN=your-token
export GITHUB_PROJECTS='[...]'
mcp-github-dashboard

🔧 配置

环境变量

必需

  • GITHUB令牌 -您的GitHub个人访问令牌
  • GITHUB项目 -项目配置的JSON数组

可选的

  • HEROKU_API关键字 -用于Heroku部署监控

项目配置

这 GITHUB_PROJECTS 环境变量应包含项目配置的JSON数组:

[
  {
    "id": "my-app",
    "name": "My Application",
    "description": "Main web application",
    "github": {
      "owner": "my-org",
      "repo": "my-app"
    },
    "heroku": {
      "appName": "my-app-production"
    },
    "urls": {
      "production": "https://my-app.com",
      "staging": "https://staging.my-app.com"
    },
    "tags": ["web", "production"]
  },
  {
    "id": "my-api",
    "name": "My API",
    "description": "Backend API service",
    "github": {
      "owner": "my-org",
      "repo": "my-api"
    },
    "tags": ["api", "backend"]
  }
]

配置选项

  • ID (必需)-唯一项目标识符
  • 名字 (必填)-人类可读的项目名称
  • 描述 (可选)-项目描述
  • GitHub (可选)-GitHub存储库信息
    • 所有者 -GitHub用户名或组织
    • 仓库 -存储库名称
  • 希罗库 (可选)-Heroku应用程序信息
    • 应用程序名称 -Heroku应用程序名称
  • 网址 (可选)-用于健康检查的环境URL
    • 生产 -生产URL
    • 暂存 -暂存URL
  • 标签 (可选)-用于过滤的标签数组

🔧 MCP客户端设置

将此服务器添加到MCP客户端配置中:

Claude桌面配置

{
  "mcpServers": {
    "github-dashboard": {
      "command": "npx",
      "args": ["@artik0din/mcp-github-dashboard"],
      "env": {
        "GITHUB_TOKEN": "your-github-token",
        "GITHUB_PROJECTS": "[{\"id\":\"my-project\",\"name\":\"My Project\",\"github\":{\"owner\":\"user\",\"repo\":\"repo\"}}]",
        "HEROKU_API_KEY": "your-heroku-api-key"
      }
    }
  }
}

使用.env文件

  1. 复制 .env.example 到 .env
  2. 填写您的配置
  3. 在MCP配置中不使用env:
{
  "mcpServers": {
    "github-dashboard": {
      "command": "npx",
      "args": ["@artik0din/mcp-github-dashboard"]
    }
  }
}

📚 可用工具

项目管理

  • list_项目 -列出所有已配置的项目
    • tag (字符串,可选)-按标签筛选

存储库状态

  • 获取项目状态 -获取全面的项目状态

    • project_id (字符串,必填)-项目ID
    • 返回:提交、PR/问题计数、工作流状态、健康检查
  • list_prs -列出项目的拉取请求

    • project_id (字符串,必填)-项目ID
    • state (string)-PR状态:打开、关闭、全部(默认:打开)
    • limit (number)-要返回的最大PR(默认值:20)
  • list_issues -列出项目的问题

    • project_id (字符串,必填)-项目ID
    • state (string)-问题状态:打开、关闭、全部(默认:打开)
    • labels (数组)-按标签名称筛选
    • limit (number)-要返回的最大问题数(默认值:20)

部署监控

  • get_部署 -获取最近的部署
    • project_id (字符串,必填)-项目ID
    • limit (number)-要返回的最大部署数(默认值:10)
    • 返回:GitHub操作运行,Heroku发布

💡 用法示例

监控项目运行状况

// Use get_project_status tool with:
// project_id: "my-app"
// Returns overview of commits, PRs, issues, workflows, URL health

检查拉取请求

// Use list_prs tool with:
// project_id: "my-app"
// state: "open"
// limit: 10

查看最近的部署

// Use get_deployments tool with:
// project_id: "my-app"
// limit: 5
// Returns GitHub Actions and Heroku deployment status

按标签筛选项目

// Use list_projects tool with:
// tag: "production"
// Returns only projects tagged with "production"

🏥 健康监测

仪表板会自动监控已配置环境的URL运行状况:

  • 生产/暂存URL -HTTP HEAD请求检查可用性
  • 响应代码 -跟踪HTTP状态和响应时间
  • 状态摘要 -快速概述所有环境健康状况

📈 GitHub集成

监控以下GitHub数据:

  • 最近提交 -最后5次提交,包含作者和消息
  • 拉取请求 -带有审阅者和标签的开放/封闭PR
  • 问题 -与受让人之间的存储库问题(不包括PR)
  • GitHub操作 -工作流运行和部署状态
  • 存储库运行状况 -总体活动和状态

🚀 Heroku集成

配置Heroku应用程序名称时 HEROKU_API_KEY 提供:

  • 发布历史 -最近的部署和发布
  • 部署状态 -部署成功/失败
  • 用户归因 -谁部署了什么以及何时部署

🔒 安全

  • 使用具有最小所需范围的个人GitHub令牌
  • 无凭据存储-仅从环境中读取
  • 仅限HTTPS的API通信
  • 尊重GitHub API费率限制

🛠️ 发展

# Clone and setup
git clone https://github.com/artik0din/mcp-github-dashboard.git
cd mcp-github-dashboard
npm install

# Configure environment
cp .env.example .env
# Edit .env with your settings

# Build and run
npm run build
npm start

# Development mode
npm run dev

📝 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🤝 贡献

欢迎投稿!请随时提交拉取请求。

🔗 相关