 ](https://mseep.ai/app/ko1ynnky-github-actions-mcp-server)
GitHub操作MCP服务器
](https://smithery.ai/server/@ko1ynnky/github-actions-mcp-server)
⚠️ 存档通知:一旦官方GitHub MCP服务器添加了Actions支持,此存储库将很快存档。看 了解官方实施的详细信息。
用于GitHub Actions API的MCP服务器,使人工智能助手能够管理和操作GitHub Action工作流。与多种AI编码助手兼容,包括Claude Desktop、Codeium和Windsurf。
特性
- 完整的工作流管理:列出、查看、触发、取消和重新运行工作流
- 工作流运行分析:获取有关工作流运行及其作业的详细信息
- 全面的错误处理:使用增强的详细信息清除错误消息
- 灵活的类型验证:稳健的类型检查,优雅地处理API变体
- 以安全为中心的设计:超时处理、速率限制和严格的URL验证
工具
list_workflows
- 在GitHub存储库中列出工作流 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - page (可选编号):分页页码 - perPage (可选数字):每页结果(最多100个) - 返回:存储库中的工作流列表
get_workflow
- 获取特定工作流的详细信息 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - workflowId (字符串或数字):工作流的ID或文件名 - 返回:有关工作流的详细信息
get_workflow_usage
- 获取工作流的使用统计信息 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - workflowId (字符串或数字):工作流的ID或文件名 - 返回:使用统计数据,包括计费分钟数
list_workflow_runs
- 列出存储库或特定工作流的所有工作流运行 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - workflowId (可选字符串或数字):工作流的ID或文件名 - actor (可选字符串):按触发工作流的用户筛选 - branch (可选字符串):按分支筛选 - event (可选字符串):按事件类型筛选 - status (可选字符串):按状态筛选 - created (可选字符串):按创建日期筛选(YYYY-MM-DD) - excludePullRequests (可选布尔值):排除PR触发的运行 - checkSuiteId (可选编号):按检查套件ID筛选 - page (可选编号):分页页码 - perPage (可选数字):每页结果(最多100个) - 返回:符合条件的工作流运行列表
get_workflow_run
- 获取特定工作流运行的详细信息 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - runId (number):工作流运行的ID - 返回:有关特定工作流运行的详细信息
get_workflow_run_jobs
- 获取特定工作流运行的作业 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - runId (number):工作流运行的ID - filter (可选字符串):按完成状态筛选作业(“latest”、“all”) - page (可选编号):分页页码 - perPage (可选数字):每页结果(最多100个) - 返回:工作流运行中的作业列表
trigger_workflow
- 触发工作流运行 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - workflowId (字符串或数字):工作流的ID或文件名 - ref (string):运行工作流的引用(分支、标记或SHA) - inputs (可选对象):输入工作流参数 - 返回:有关触发的工作流运行的信息
cancel_workflow_run
- 取消工作流运行 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - runId (number):工作流运行的ID - 返回:取消操作的状态
rerun_workflow
- 重新运行工作流运行 - 输入: - owner (string):存储库所有者(用户名或组织) - repo (string):存储库名称 - runId (number):工作流运行的ID - 返回:重新运行操作的状态
使用AI编码助手
此MCP服务器与多种AI编码助手兼容,包括Claude Desktop、Codeium和Windsurf。
克劳德桌面
首先,确保您已经构建了项目(请参阅下面的构建部分)。然后,将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"github-actions": {
"command": "node",
"args": [
"
/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}可待因
将以下配置添加到Codeium MCP配置文件中(通常位于 ~/.codeium/windsurf/mcp_config.json 基于Unix的系统或 %USERPROFILE%\.codeium\windsurf\mcp_config.json 在Windows上):
{
"mcpServers": {
"github-actions": {
"command": "node",
"args": [
"
/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
}
}
}帆板运动
Windsurf使用与Codeium相同的配置格式。将服务器添加到您的Windsurf MCP配置中,如上所示。
构建
Unix/Linux/macOS
克隆存储库并构建:
git clone https://github.com/ko1ynnky/github-actions-mcp-server.git
cd github-actions-mcp-server
npm install
npm run build视窗
对于Windows系统,请使用Windows特定的生成命令:
git clone https://github.com/ko1ynnky/github-actions-mcp-server.git
cd github-actions-mcp-server
npm install
npm run build:win或者,您可以使用附带的批处理文件:
run-server.bat [optional-github-token]这将在 dist 您需要运行MCP服务器的目录。
Windows特定说明
先决条件
- Node.js(v14或更高版本)
- npm(v6或更高版本)
在Windows上运行服务器
- 使用批处理文件(最简单的方法):
run-server.bat [optional-github-token]这将检查构建是否存在,必要时进行构建,并启动服务器。
- 直接使用npm:
npm run start在Windows上设置GitHub个人访问令牌
为了获得完整的功能并避免速率限制,您需要设置您的GitHub个人访问令牌。
选项:
- 将其作为参数传递给批处理文件:
run-server.bat your_github_token_here- 将其设置为环境变量:
set GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here
npm run startWindows问题疑难解答
如果您遇到问题:
- 构建错误:确保TypeScript安装正确。
npm install -g typescript- 权限问题:确保您在具有适当权限的命令提示符中运行命令。
- Node.js错误:验证您使用的是兼容的Node.js版本。
node --version使用示例
列出存储库中的工作流:
const result = await listWorkflows({
owner: "your-username",
repo: "your-repository"
});触发工作流:
const result = await triggerWorkflow({
owner: "your-username",
repo: "your-repository",
workflowId: "ci.yml",
ref: "main",
inputs: {
environment: "production"
}
});故障排除
常见问题
- 身份验证错误:
- 确保您的GitHub令牌具有正确的权限 - 检查令牌是否正确设置为环境变量
- 速率限制:
- 服务器实现速率限制以避免达到GitHub API限制 - 如果遇到速率限制错误,请减少请求频率
- 类型验证错误:
- GitHub API响应有时可能与预期的架构不同 - 服务器实现了灵活的验证来处理大多数变化 - 如果您遇到持续错误,请打开问题
许可证
此MCP服务器根据MIT许可证获得许可。
