Model Context Protocol server for PACT — provides tools for validating, listing, running, and scaffolding PACT agent workflow files
pact-mcp provides 5 tools with reasonable naming (verb_noun pattern) and basic descriptions. However, critical gaps undermine production readiness: parameter descriptions are sparse or missing entirely, output schemas are not documented, and error handling lacks recovery guidance. The pact_scaffold tool accepts complex nested objects without clear validation rules. pact_run is a WRITE operation but lacks confirmation/dry-run patterns. Most tools describe WHAT they do but not WHEN to use them or what the LLM should expect in responses. Average description length ~120 chars (below 194-char baseline). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications.
Validate a .pact source string for syntax and semantic errors. Returns 'OK' or a list of errors with locations.
List all declarations (agents, tools, flows, schemas, etc.) in a .pact source string.
Execute a flow from a .pact source string using mock dispatch. Returns the flow result.
Generate a .pact file from a high-level description. Provide agent names, their tools, and permissions.
Check if agents in a .pact source have safe, minimal permission boundaries. Returns warnings for overly broad permissions.
Output schemas not documented. Tools return results but LLMs cannot plan downstream calls or extract fields without trial-and-error. pact_check returns 'OK' or errors, pact_list returns declarations, pact_run returns flow result, none have documented response structures.
pact_scaffold accepts agents array with nested objects (name, tools, permissions, description) but provides no validation rules, constraints, or examples. LLMs cannot infer valid tool names or permission formats.
pact_run is a WRITE operation (executes flows) but lacks confirmation/dry-run pattern. No guidance on retryability or side effects. LLMs cannot safely reason about idempotency.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Parameter descriptions are minimal or absent. 'source' param in pact_check/pact_list/pact_run lacks format guidance (is it a file path? raw string? URL?). 'flow' param in pact_run has no description of valid flow names or discovery mechanism.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications (READ_ONLY vs WRITE). MCP clients cannot auto-detect safe vs dangerous tools.