Skip to content

MukundaKatta/mcp-stack-validate-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcp-stack-validate-action

Marketplace CI License: MIT

One CI gate that runs the entire @mukundakatta agent stack against your MCP / LLM-tool repo:

Step Library What it checks
1 agentfit every committed prompt is under the token budget
2 agentguard every URL field in your tool registry is on the allowlist
3 agentvet every tool definition has a name, description, snake_case
4 agentsnap every recorded trace matches its baseline
5 agentcast every example payload validates against its shape spec

Drop one action into a workflow instead of wiring five.

Quick start

- uses: actions/checkout@v4
- uses: MukundaKatta/mcp-stack-validate-action@v1

The action gracefully skips any step whose inputs aren't present (no policy file → skip agentguard, no snapshots dir → skip agentsnap, etc.). With zero config, it lints any tool defs and prompts it can find and reports the rest as SKIP.

Inputs

Input Default Description
mcp-config-path mcp.json Path to MCP config (kept for forward compat).
tools-glob **/tools/*.json,**/mcp.json,**/.mcp.json Globs of tool-definition JSON files (agentvet + agentguard).
prompts-glob **/prompts/*.md,**/prompts/*.txt Globs of prompt files for token counting (agentfit).
prompts-token-budget (empty) Fail when any single prompt exceeds this many tokens. Empty = report only.
prompts-model claude Model family for token estimation (claude / gpt / gemini / llama).
agentguard-policy-path .agentguard.json Path to agentguard policy. Skipped if missing.
agentguard-urls-glob **/tools/*.json,**/mcp.json,**/.mcp.json Files to scan for URL fields.
snapshots-dir tests/__agentsnap__ Dir of *.snap.json baselines + *.current.json runs.
shapes-glob **/examples/*.json Globs of example payloads (paired with sibling *.shape.json).
skip (empty) Comma-separated steps to skip: agentfit,agentguard,agentsnap,agentvet,agentcast.
fail-on any any = fail on any step failure; none = report only.
comment-on-pr true Post a unified summary on the PR.
report-path mcp-stack-report.json Where to write the unified JSON report.
node-version 20 Node version.

Outputs

Output Description
agentfit-passed, agentguard-passed, agentsnap-passed, agentvet-passed, agentcast-passed true if the step passed (or was skipped).
report-path Path to the unified JSON report.

Permissions

To post PR comments:

permissions:
  pull-requests: write
  contents: read

File layout this action expects

A typical MCP project that opts in to all five checks:

.
- mcp.json                            # tool defs (agentvet + agentguard)
- .agentguard.json                    # network policy (agentguard)
- prompts/
  - system.md                         # token-counted (agentfit)
- examples/
  - search-result.json                # value (agentcast)
  - search-result.shape.json          # spec (agentcast)
- tests/
  - __agentsnap__/
    - search_flow.snap.json           # baseline (agentsnap)
    - search_flow.current.json        # produced by your test run (agentsnap)

Sibling actions

If you only want one of the checks:

License

MIT

About

GitHub Action: one-stop CI gate that runs the @MukundaKatta agent stack (agentfit, agentguard, agentsnap, agentvet, agentcast).

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors