← Package directory
Available on winget

Install mcp-assert

Deterministic correctness testing for MCP servers. CLI, CI, and zero-config audit.

Install with winget
winget install --id BlackwellSystems.mcp-assert
Upgrade
winget upgrade --id BlackwellSystems.mcp-assert
Uninstall
winget uninstall --id BlackwellSystems.mcp-assert

About mcp-assert

A single Go binary that connects to your MCP server over stdio, SSE, or HTTP, calls your tools, and asserts the results. Define assertions in YAML, run them in CI. Works with servers written in Go, TypeScript, Python, Rust, Java, or anything else that speaks MCP.

What's new in 0.12.3

v0.12.3: Lint False Positive Fix Fixed E105/E107 false positive reduction (#23) On servers with many tools sharing path/ID/content params (e.g., 65-tool code intelligence servers), E105 and E107 were generating thousands of unusable findings. This release eliminates the noise: - E105 now skips params that are unconstrained by design: filesystem paths (*_path, *_file, *_dir), identifiers (*_id, *_uri), and free-text content (new_text, query, filter, command, description, scope, etc.) - E107 collapses cycle variants to one finding per unique cycle (was reporting every path permutation) - E107 downgraded from error to warning (circular deps are advisory) Before (65-tool server): 2,784 E105 errors + 751 E107 errors = 3,535 unusable findings After: 0 E105 errors, 2 E107 warnings Real issues (missing descriptions, missing examples, schema drift) are no longer buried. Upgrade Notes If you pinned --threshold to a high number to work around E105/E107 noise, you can lower it now. --threshold 0 should work for well-documented servers.

Read release notes

Version history

Version Updated Notes
0.12.3 Unknown v0.12.3: Lint False Positive Fix Fixed E105/E107 false positive reduction (#23) On servers with many tools sharing path/ID/content params (e.g., 65-tool code intelligence servers), E105 and E107 were generating thousands...
0.6.0 Unknown Release notes