act-testing-mcp
Provides tools to list, run, and validate GitHub Actions workflows locally using act.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@act-testing-mcplist my workflows"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Act Testing MCP
Model Context Protocol (MCP) server for testing GitHub Actions workflows locally using nektos/act.
Purpose
This MCP provides AI assistants (like Claude) with direct access to test GitHub Actions workflows locally, eliminating trial-and-error development cycles when working with CI/CD pipelines.
Related MCP server: buildkite-mcp-server
Features
🔍 List Workflows: Discover all available GitHub Actions workflows in any repository
▶️ Run Workflows: Execute workflows locally with act
✅ Validate Syntax: Check workflow files for errors before committing
🎭 Custom Events: Test workflows with custom event data to simulate different scenarios
🐛 Debug Support: Detailed logging and error reporting
📊 Dependency Monitoring: Track
actcompatibility and detect breaking changes🔐 Supply Chain Security: Published with npm provenance attestations for verifiable builds
Prerequisites
Docker Desktop (running)
nektos/act installed (Installation Guide)
Node.js 20+
Installing nektos/act
# macOS
brew install act
# Linux (with curl)
curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
# Windows (with chocolatey)
choco install act-cli
# Or download from releases
# https://github.com/nektos/act/releasesInstallation
npm install -g act-testing-mcpVerifying Package Integrity
This package is published with npm provenance for enhanced supply-chain security. You can verify the package's attestations:
npm audit signaturesOr clone and run locally:
git clone https://github.com/GarthDB/act-testing-mcp.git
cd act-testing-mcp
npm installConfiguration
MCP Setup
Add to your MCP configuration (e.g., .cursor/mcp.json for Cursor IDE):
Option 1: Using npx (Recommended)
{
"mcpServers": {
"act-testing": {
"command": "npx",
"args": ["act-testing-mcp"]
}
}
}Option 2: Using global installation
{
"mcpServers": {
"act-testing": {
"command": "act-testing-mcp"
}
}
}Option 3: With custom project path (if needed)
{
"mcpServers": {
"act-testing": {
"command": "npx",
"args": ["act-testing-mcp"],
"env": {
"PROJECT_ROOT": "/path/to/your/project"
}
}
}
}Option 4: Local development
{
"mcpServers": {
"act-testing": {
"command": "node",
"args": ["./path/to/act-testing-mcp/index.js"],
"env": {
"PROJECT_ROOT": "/path/to/your/project",
"ACT_BINARY": "act"
}
}
}
}Note: Using
npx(Option 1) is recommended as it avoids PATH issues and ensures you always use the latest version. The MCP server automatically detects the current working directory, soPROJECT_ROOTis only needed if you want to override the default behavior. This approach mirrors other MCP servers like Browser MCP and resolves common NPX availability problems as mentioned in continuedev/continue#4791.
Act Configuration
Create an .actrc file in your project root (copy from the example):
# Copy example configuration and customize paths
cp mcp-config.example.json .cursor/mcp.json
# Edit .cursor/mcp.json to set your PROJECT_ROOT path
# Copy act configuration (optional)
cp .actrc /path/to/your/project/.actrcTools Provided
list_workflows
Lists all available GitHub Actions workflows in the repository.
Parameters: None
Example:
📋 **CI** (ci.yml)
Job: test (test)
Events: push, pull_request
📋 **Release** (release.yml)
Job: release (release)
Events: workflow_dispatchrun_workflow
Runs a workflow locally using act.
Parameters:
workflow(required): Workflow file name or job IDevent(optional): Event type (push, pull_request, etc.)dryRun(optional): Show execution plan without runningverbose(optional): Enable detailed outputenv(optional): Environment variablessecrets(optional): Secrets to provideeventData(optional): Custom event data for testing
Examples:
# Run CI workflow
run_workflow workflow="ci.yml" event="push"
# Dry run with custom event data
run_workflow workflow="ci.yml" event="pull_request" dryRun=true eventData='{"number": 123}'
# Run with environment variables
run_workflow workflow="release.yml" env='{"NODE_ENV": "production"}'validate_workflow
Validates workflow syntax and structure.
Parameters:
workflow(required): Workflow file name to validate
act_doctor
Checks act configuration and Docker setup.
Parameters: None
Usage Examples
With AI Assistant (Claude)
Once configured, you can ask your AI assistant to test workflows directly:
"Test my CI workflow"
"Run the release workflow in dry-run mode"
"Check if my new workflow file is valid"
"Test the pull request workflow with custom PR data"
Direct Usage
# Start the MCP server
npm start
# Run tests
npm test
# Run with coverage
npm run test:coverage
# Debug mode
npm run devDevelopment
Running Tests
# Install dependencies
npm install
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run in watch mode
npm run test:watchTesting Coverage
The tool includes comprehensive testing:
Unit tests with AVA framework
Integration testing with real act and Docker
Code coverage with c8 (targeting 70%+ for core logic)
ES modules with native Node.js support
Compatibility Monitoring
Track act compatibility over time:
# Create baseline
npm run compatibility:baseline
# Check for changes
npm run compatibility:check
# Generate detailed report
npm run compatibility:reportProject Structure
act-testing-mcp/
├── index.js # Main MCP server
├── package.json # Dependencies and scripts
├── README.md # This file
├── LICENSE # Apache 2.0 license
├── .actrc # Act configuration example
├── ava.config.js # Test configuration
├── mcp-config.example.json # MCP configuration example
├── utils/ # Utility modules
│ ├── act-helpers.js # Core act integration
│ └── act-monitor.js # Compatibility monitoring
├── scripts/ # Utility scripts
│ └── check-act-compatibility.js
├── test/ # Test suites
│ ├── index.test.js
│ ├── act-compatibility.test.js
│ ├── act-monitor.test.js
│ └── utils.test.js
└── docs/ # Additional documentation
├── SETUP.md
├── GUIDE.md
├── TESTING.md
└── DEPENDENCY_MONITORING.mdTroubleshooting
Docker Issues
# Check Docker is running
docker ps
# Pull required images
docker pull catthehacker/ubuntu:act-latestAct Issues
# Check act installation
act --version
# Test act with simple workflow
act --listMCP Connection Issues
Verify the MCP configuration file path
Check that Node.js path is correct
Ensure PROJECT_ROOT environment variable is set
Check that the project has a
.github/workflows/directory
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Ensure all tests pass
Submit a pull request
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Related Projects
nektos/act - Run your GitHub Actions locally
Model Context Protocol - Protocol for AI assistant tool integration
Support
Create an issue for bug reports or feature requests
Check the documentation for detailed guides
Review existing issues for solutions
Note: This tool was originally developed for the Adobe Spectrum Tokens project and has been extracted as a standalone, reusable MCP server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GarthDB/act-testing-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server