MCP server for testing GitHub Actions workflows locally using nektos/act
The server defines 4 tools with explicit schemas and descriptions visible in index.js. Naming follows verb_noun convention (list_, run_, validate_, act_) which is appropriate. Descriptions are present and reasonably clear (average ~120 chars). However, several parameter descriptions lack actionable detail (e.g., 'env' and 'secrets' objects lack type constraints or examples of expected structure). Output schemas are not documented, callers cannot predict response structure. Error handling is basic (returns text messages but does not guide recovery or classify errors). The run_workflow tool exposes significant complexity (eventData, secrets) without clear guidance on format. STDIO-only transport caps potential regardless of definition quality.
Check act configuration and Docker setup
List all available GitHub Actions workflows in the repository
Run a GitHub Actions workflow locally using act
Validate a workflow file syntax and structure
Parameter 'env' and 'secrets' in run_workflow lack type constraints and format guidance. Described only as 'object' with no hint of expected key-value structure, nested depth, or value types. LLMs will guess at structure.
Output schemas not documented for any tool. Callers cannot predict response structure (field names, types, pagination). Response in code is always {content: [{type: 'text', text: '...'}]} but this structure is not declared in tool definitions.
Error handling does not classify errors or guide recovery. run_workflow returns a boolean success flag and text, but does not indicate whether the error is retryable, user-fixable, or fatal. No hints like 'Check workflow file syntax' or 'Ensure Docker is running'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
The 'eventData' parameter description says 'Custom event data to simulate specific scenarios' but does not explain the expected structure or how it maps to GitHub Actions event payloads. LLMs cannot construct valid event data without examples or schema.
No idempotent or dry-run semantics documented. run_workflow accepts a dryRun flag, but the description does not clarify whether dryRun calls are safe to retry or if they have side effects. Agents need to know which operations are safe.
list_workflows has no pagination support or limit parameter. If many workflows exist, the response could be very large. No indication of whether results are truncated or how to retrieve more.