项目简介
本项目是一个实现了Model Context Protocol (MCP) 协议的服务器,旨在为AI助手提供与GitHub Actions交互的能力。通过此服务器,AI助手可以安全、可控地管理GitHub仓库的工作流,例如查看、触发、取消和重新运行工作流等。
主要功能点
- 全面的工作流管理: 支持列出、查看、触发、取消和重新运行GitHub仓库中的工作流。
- 工作流运行分析: 能够获取工作流运行的详细信息,包括运行日志和作业信息。
- 详细的错误处理: 提供清晰的错误信息,方便用户排查问题。
- 灵活的类型验证: 采用严格的类型检查,确保数据传输的准确性。
- 安全设计: 内置超时处理、速率限制和URL验证等安全机制,保障服务器稳定运行。
工具列表:
- 'list_workflows': 列出仓库中的工作流。
- 'get_workflow': 获取特定工作流的详细信息。
- 'get_workflow_usage': 获取工作流的资源使用统计。
- 'list_workflow_runs': 列出仓库或特定工作流的工作流运行记录。
- 'get_workflow_run': 获取特定工作流运行的详细信息。
- 'get_workflow_run_jobs': 获取特定工作流运行中的作业列表。
- 'trigger_workflow': 触发一个新的工作流运行。
- 'cancel_workflow_run': 取消正在运行的工作流。
- 'rerun_workflow': 重新运行一个已完成的工作流。
安装步骤
-
克隆仓库
git clone https://github.com/ko1ynnky/github-actions-mcp-server.git cd github-actions-mcp-server -
安装依赖
npm install -
构建项目
npm run build构建完成后,所需文件将生成在 'dist' 目录下。
服务器配置
为了让MCP客户端(例如Claude Desktop)连接到此MCP服务器,您需要在客户端的配置文件中添加服务器信息。以下是一个 'claude_desktop_config.json' 文件的配置示例,您需要根据实际情况进行修改:
{ "mcpServers": { "github-actions": { "command": "node", "args": [ "<项目路径>/dist/index.js" // 将 "<项目路径>" 替换为您的项目绝对路径 ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<您的GitHub Personal Access Token>" // 将 "<您的GitHub Personal Access Token>" 替换为您的GitHub个人访问令牌 } } } }
配置参数说明:
- 'server name': 'github-actions' (服务器名称,客户端用于识别和调用)
- 'command': 'node' (运行服务器的命令,这里使用 Node.js)
- 'args': '["<项目路径>/dist/index.js"]' (启动服务器的参数,指向构建后的 'index.js' 文件)
- 'env': '{ "GITHUB_PERSONAL_ACCESS_TOKEN": "<您的GitHub Personal Access Token>" }' (环境变量配置,用于设置GitHub API的访问令牌。请务必替换为您的有效Token,并注意Token的权限设置,至少需要 'workflow' 权限。)
基本使用方法
配置完成后,MCP客户端将能够通过 'github-actions' 这个服务器名称来调用上述列出的工具。例如,AI助手可以通过自然语言指令,指示客户端调用 'list_workflows' 工具来获取指定仓库的工作流列表,或者调用 'trigger_workflow' 工具来触发工作流运行。
具体的工具调用和参数传递方式取决于MCP客户端的功能和界面,但通常AI助手可以通过自然语言理解,将用户的指令转换为对MCP服务器特定工具的调用请求。
信息
分类
开发者工具