{"id":28475260,"url":"https://github.com/onemarc/github-actions-mcp-server","last_synced_at":"2026-04-11T11:03:30.104Z","repository":{"id":295134705,"uuid":"986847613","full_name":"onemarc/github-actions-mcp-server","owner":"onemarc","description":"GitHub Actions Model Context Protocol Server that allows you to create, manage, monitor, and interact with workflows.","archived":false,"fork":false,"pushed_at":"2025-05-23T19:50:12.000Z","size":239,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-07T18:58:10.780Z","etag":null,"topics":["agent-tools","agents","github-actions","github-actions-mcp","github-actions-mcp-server","mcp","mcp-client","mcp-server"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onemarc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-20T07:57:53.000Z","updated_at":"2025-05-25T17:37:35.000Z","dependencies_parsed_at":"2025-05-23T20:37:47.034Z","dependency_job_id":"ec9d57c6-525e-421b-897e-3f6a2b289ff9","html_url":"https://github.com/onemarc/github-actions-mcp-server","commit_stats":null,"previous_names":["onemarc/github-actions-mcp-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/onemarc/github-actions-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onemarc%2Fgithub-actions-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onemarc%2Fgithub-actions-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onemarc%2Fgithub-actions-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onemarc%2Fgithub-actions-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onemarc","download_url":"https://codeload.github.com/onemarc/github-actions-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onemarc%2Fgithub-actions-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31677819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tools","agents","github-actions","github-actions-mcp","github-actions-mcp-server","mcp","mcp-client","mcp-server"],"created_at":"2025-06-07T14:05:49.654Z","updated_at":"2026-04-11T11:03:30.066Z","avatar_url":"https://github.com/onemarc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg\n        src=\"assets/gh-mcp-server-banner.png\"\n        alt=\"GitHub Actions MCP Server Banner\"\n    /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://visitorbadge.io/status?path=https%3A%2F%2Fgithub.com%2Fonemarc%2Fgithub-actions-mcp-server\"\u003e\n        \u003cimg\n            src=\"https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fonemarc%2Fgithub-actions-mcp-server\u0026label=VISITORS\u0026labelColor=%23333337\u0026countColor=%23dedede\"\n        /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n# GitHub Actions MCP Server\n\nA Model Context Protocol (MCP) server that provides comprehensive GitHub Actions management capabilities. This server allows you to create, manage, monitor, and interact with GitHub Actions workflows through a standardized interface.\n\n## Content\n- [Features](#features)\n- [Installation](#installation)\n- [Setup](#setup)\n- [Usage](#usage)\n- [Tools](#tools)\n- [Configuration File Integration](#configuration-file-integration)\n- [Error Handling](#error-handling)\n- [Troubleshooting](#troubleshooting)\n- [Common Use Cases](#common-use-cases)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n### Workflow Management\n- **Create Workflow**: Create new GitHub Actions workflow files\n- **List Workflows**: Get all workflows in a repository\n- **Get Workflow**: Retrieve detailed information about a specific workflow\n- **Get Workflow Usage**: View usage statistics and billing information\n\n### Workflow Runs\n- **List Workflow Runs**: List all workflow runs with filtering options\n- **Get Workflow Run**: Get detailed information about a specific run\n- **Get Workflow Run Jobs**: View jobs and steps for a workflow run\n- **Trigger Workflow**: Manually trigger a workflow dispatch event\n- **Cancel Workflow Run**: Cancel a running workflow\n- **Rerun Workflow**: Re-execute a failed or completed workflow\n\n## Installation\n\n1. Clone or download the server files\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Build the TypeScript code:\n   ```bash\n   npm run build\n   ```\n\n## Setup\n\n### Prerequisites\n- Node.js 18+\n- GitHub Personal Access Token with appropriate permissions\n\n### GitHub Token Setup\n1. Generate a GitHub Personal Access Token:\n   - Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens\n   ```bash\n   https://github.com/settings/personal-access-tokens\n   ```\n   - Create a token with these scopes:\n     - `repo` (full repository access)\n     - `workflow` (update GitHub Action workflows)\n     - `contents:read` (read access to see GitHub Action workflows)\n     - `contents:write` (write access GitHub Action workflows)\n     - `actions:read` (read access to GitHub Actions)\n     - `actions:write` (write access to GitHub Actions)\n\n2. Set the environment variable:\n   ```bash\n   export GITHUB_TOKEN=your_token_here\n   ```\n   \n    #### OR\n   \n2. Navigate to your project directory and run the setup script:\n    ```bash\n    cd github-actions-mcp\n    chmod +x setup.sh\n    ./setup.sh\n    ```\n\n### Required Permissions\nYour GitHub token needs the following permissions for the target repositories:\n- **Read**: List workflows, get workflow details, view runs and jobs\n- **Write**: Create/update workflow files, trigger workflows\n- **Actions**: Cancel and rerun workflows\n\n## Usage\n\n### Running the Server\n```bash\nnpm start\n```\n#### or for development\n```bash\nnpm run dev\n```\n\n### Tools\n\n#### create_workflow\nCreate a new GitHub Actions workflow file in a repository.\n\n**Required inputs:**\n- `owner`: Repository owner (username/organization)\n- `repo`: Repository name\n- `path`: Workflow file path (e.g., '.github/workflows/ci.yml')\n- `name`: Workflow name - should be descriptive and related to the workflow's purpose\n- `on`: Trigger events configuration\n- `jobs`: Jobs configuration\n\n**Optional inputs:**\n- `branch`: Target branch (default: 'main')\n- `commitMessage`: Commit message (default: 'Add GitHub Actions workflow')\n\n**Example:**\n```json\n{\n  \"owner\": \"myorg\",\n  \"repo\": \"myrepo\",\n  \"path\": \".github/workflows/ci.yml\",\n  \"name\": \"CI Pipeline\",\n  \"on\": {\n    \"push\": {\n      \"branches\": [\"main\"]\n    },\n    \"pull_request\": {}\n  },\n  \"jobs\": {\n    \"test\": {\n      \"runs-on\": \"ubuntu-latest\",\n      \"steps\": [\n        {\n          \"name\": \"Checkout code\",\n          \"uses\": \"actions/checkout@v4\"\n        },\n        {\n          \"name\": \"Setup Node.js\",\n          \"uses\": \"actions/setup-node@v4\",\n          \"with\": {\n            \"node-version\": \"18\"\n          }\n        },\n        {\n          \"name\": \"Install dependencies\",\n          \"run\": \"npm install\"\n        },\n        {\n          \"name\": \"Run tests\",\n          \"run\": \"npm test\"\n        }\n      ]\n    }\n  }\n}\n```\n\n#### list_workflows\nList all workflows in a repository.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n\n**Optional inputs:**\n- `page`: Page number for pagination\n- `perPage`: Results per page (max 100)\n\n#### get_workflow\nGet detailed information about a specific workflow.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `workflowId`: Workflow ID or filename\n\n#### get_workflow_usage\nGet usage statistics for a workflow (billing information).\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `workflowId`: Workflow ID or filename\n\n#### list_workflow_runs\nList workflow runs with extensive filtering options.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n\n**Optional inputs:**\n- `workflowId`: Filter by specific workflow\n- `actor`: Filter by user who triggered the run\n- `branch`: Filter by branch\n- `event`: Filter by trigger event\n- `status`: Filter by run status\n- `created`: Filter by creation date (YYYY-MM-DD)\n- `excludePullRequests`: Exclude PR-triggered runs\n- `checkSuiteId`: Filter by check suite ID\n- `page`: Page number\n- `perPage`: Results per page\n\n#### get_workflow_run\nGet detailed information about a specific workflow run.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `runId`: Workflow run ID\n\n#### get_workflow_run_jobs\nGet jobs and steps for a specific workflow run.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `runId`: Workflow run ID\n\n**Optional inputs:**\n- `filter`: Filter jobs ('latest' or 'all')\n- `page`: Page number\n- `perPage`: Results per page\n\n#### trigger_workflow\nManually trigger a workflow using workflow_dispatch.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `workflowId`: Workflow ID or filename\n- `ref`: Branch, tag, or commit SHA to run on\n\n**Optional inputs:**\n- `inputs`: Input parameters for the workflow\n\n#### cancel_workflow_run\nCancel a running workflow.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `runId`: Workflow run ID\n\n#### rerun_workflow\nRe-run a completed workflow.\n\n**Required inputs:**\n- `owner`: Repository owner\n- `repo`: Repository name\n- `runId`: Workflow run ID\n\n## Configuration File Integration\n\nYou can also use this server with MCP configuration files. Add to your MCP settings:\n\n```json\n{\n  \"mcp\": {\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"github-token\",\n        \"description\": \"GitHub personal access token\",\n        \"password\": true\n      }\n    ],\n    \"servers\": {\n      \"GitHub Actions\": {\n        \"command\": \"node\",\n        \"args\": [\"/path/to/github-actions-mcp-server/dist/index.js\"],\n        \"env\": {\n          \"GITHUB_TOKEN\": \"${input:github-token}\"\n        }\n      }\n    }\n  }\n}\n```\n\n## Error Handling\n\nThe server provides comprehensive error handling:\n\n- **Authentication errors**: Invalid or expired GitHub tokens\n- **Permission errors**: Insufficient repository access\n- **Rate limiting**: GitHub API rate limit exceeded\n- **Validation errors**: Invalid input parameters\n- **Network errors**: Connection issues with GitHub API\n\n## Troubleshooting\n\n### Common Issues\n\n**Token Authentication Fails**\n- Verify your GitHub token is valid and not expired\n- Check that the token has the required scopes\n- Ensure the `GITHUB_TOKEN` environment variable is set\n\n**Permission Denied**\n- Verify your token has access to the target repository\n- For organization repositories, check if additional permissions are needed\n- Ensure your token has the `workflow` scope for creating/modifying workflows\n\n**Rate Limiting**\n- GitHub API has rate limits (5000 requests/hour for authenticated requests)\n- Implement retry logic with exponential backoff if needed\n- Consider using multiple tokens for high-volume operations\n\n**Workflow Creation Fails**\n- Check that the workflow path starts with `.github/workflows/`\n- Ensure the YAML syntax is valid\n- Verify the target branch exists\n\n### Debug Mode\n\nFor debugging, you can run the server with additional logging:\n\n```bash\nDEBUG=* npm start\n```\n\n## Common Use Cases\n\n### 1. Monitoring Workflow Health\n```bash\n# List recent workflow runs to check status\nlist_workflow_runs --owner myorg --repo myapp --status completed --per_page 10\n\n# Get details of a failed run\nget_workflow_run --owner myorg --repo myapp --run_id 12345\n\n# View job details to identify failure points\nget_workflow_run_jobs --owner myorg --repo myapp --run_id 12345\n```\n\n### 2. Managing Deployments\n```bash\n# Trigger a deployment workflow\ntrigger_workflow --owner myorg --repo myapp --workflow_id deploy.yml --ref main --inputs '{\"environment\": \"production\"}'\n\n# Monitor the deployment\nlist_workflow_runs --owner myorg --repo myapp --workflow_id deploy.yml --status in_progress\n\n# Cancel if needed\ncancel_workflow_run --owner myorg --repo myapp --run_id 67890\n```\n\n### 3. Workflow Maintenance\n```bash\n# List all workflows to review\nlist_workflows --owner myorg --repo myapp\n\n# Check workflow usage for billing\nget_workflow_usage --owner myorg --repo myapp --workflow_id ci.yml\n\n# Get workflow details for optimization\nget_workflow --owner myorg --repo myapp --workflow_id ci.yml\n```\n\n## Contributing\n\nWe welcome contributions to the GitHub Actions MCP Server! Whether you're fixing bugs, improving documentation, adding new features, or providing feedback, your help is appreciated.\n\n## License\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonemarc%2Fgithub-actions-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonemarc%2Fgithub-actions-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonemarc%2Fgithub-actions-mcp-server/lists"}