- Notifications
You must be signed in to change notification settings - Fork1k
feat: add GitHub Actions tools for workflow management#491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Conversation
- Introduced new tools for managing GitHub Actions workflows, including listing workflows, running workflows, canceling workflow runs, and retrieving workflow run logs.- Updated README.md to include new `actions` toolset and detailed descriptions of the new tools.- Added comprehensive tests for the new functionality to ensure reliability and correctness.
…ent capabilities- Added new tools for managing GitHub Actions, including listing workflows, retrieving workflow run logs, and managing workflow runs.- Integrated the new `actions` toolset into the default toolset group for improved accessibility.
atxtechbro commentedJun 8, 2025
🚀 Excellent work@gabornyergesX! This is exactly what the community has been asking for. I've tested this implementation in my fork and it's incredibly comprehensive:
This addresses issue#268 perfectly and goes above and beyond the original request. The code quality is exceptional - well done! 👏 Looking forward to seeing this merged so the whole community can benefit from these powerful CI/CD automation capabilities. |
This looks very comprehensive. Thank you for putting this together. I hope I can review soon. One preliminary question: Is there strong motivation for allowing an agent to delete logs? I am hesitant to allow agents the ability to cover their tracks after executing something malicious. The security implications of this PR something I will need to consider. I really do want to land it though. |
atxtechbro commentedJun 8, 2025
💡 Enhancement Suggestion: Efficient Failed Job LogsGreat work on this comprehensive GitHub Actions implementation! After testing it, I noticed an opportunity to make it even more efficient for a common debugging use case. 🎯 ProblemCurrently, to get logs for failed jobs, users must either:
This doesn't match the efficiency of 💡 Proposed EnhancementInstead of adding a new tool, enhance the existing // Enhanced parameters for get_job_logsmcp.WithNumber("run_id",mcp.Description("Workflow run ID (required when using failed_only)")),mcp.WithBoolean("failed_only",mcp.Description("When true, gets logs for all failed jobs in run_id")),mcp.WithBoolean("return_content",mcp.Description("Returns actual log content instead of URLs")), 🔧 Usage Examples# Original usage (unchanged)get_job_logs --job_id=12345# New: Get failed job logs efficientlyget_job_logs --run_id=67890 --failed_only=true --return_content=true ✅ Benefits
This would make the Actions toolset perfect for real-world debugging workflows! I've created a detailed proposal in my fork:https://github.com/atxtechbro/github-mcp-server/blob/enhance/get-job-logs-failed-only/ENHANCEMENT_PROPOSAL.md What do you think about this approach? Happy to help implement it if you're interested! 🚀 |
I did not have strong motivation for that just added as an extra. I think
Let me know how to proceed. |
Uh oh!
There was an error while loading.Please reload this page.
Add GitHub Actions tools for workflow management
Overview
This PR implements comprehensive GitHub Actions support for the MCP server, adding 14 new tools that enable complete workflow and CI/CD management through the GitHub Actions API.
New Tools Added
output.mp4
Workflow Management (Read-only)
list_workflows
- List all workflows in a repositorylist_workflow_runs
- List workflow runs for a specific workflow with filtering optionsget_workflow_run
- Get detailed information about a specific workflow runget_workflow_run_logs
- Download logs for a workflow runget_workflow_run_usage
- Get usage metrics and billing information for workflow runsJob Management (Read-only)
list_workflow_jobs
- List jobs for a specific workflow runget_job_logs
- Download logs for a specific workflow jobArtifact Management (Read-only)
list_workflow_run_artifacts
- List artifacts generated by a workflow rundownload_workflow_run_artifact
- Get download URLs for workflow artifactsWorkflow Operations (Write)
run_workflow
- Trigger workflows via workflow_dispatch eventsrerun_workflow_run
- Re-run entire workflow runsrerun_failed_jobs
- Re-run only failed jobs in a workflow runcancel_workflow_run
- Cancel running workflowsAdministrative (Destructive)
delete_workflow_run_logs
- Delete workflow run logs (marked as destructive)Key Features
✅Complete CI/CD Workflow Support - Covers the full lifecycle from triggering workflows to managing artifacts
✅Proper Permission Classification - Tools are correctly categorized as read-only, write, or destructive operations
✅Comprehensive Parameter Validation - All tools include proper input validation and error handling
✅Rich Metadata - Each tool includes detailed descriptions and parameter documentation
✅Test Coverage - Full test suite with 50+ test cases covering all scenarios
✅Documentation - Updated README with detailed tool descriptions and usage examples
Implementation Details
Testing
actions_test.go
Breaking Changes
None - this is purely additive functionality.
Closes
Closes#268 - Add support for Actions APIs
Usage Example