PesterForge MCP

Set up
PesterForge MCP.

PesterForge MCP runs on your machine as a child process of your MCP client and puts PesterForge's testing tools in front of your AI agent: generate Pester tests, run them, audit coverage, profile a function.

01 What you need
02 Register it with your client

PesterForge MCP is a stdio server by default: your MCP client starts PesterForge.MCP.exe as a child process and talks JSON-RPC over stdin/stdout. No command-line arguments are required or read for configuration. Every setting is an environment variable with the PESTERFORGE_ prefix, set on the child process by your client:

VariableWhat it doesDefault
PESTERFORGE_TRANSPORTstdio or httpstdio
PESTERFORGE_PORTPort for HTTP mode5150
PESTERFORGE_MODULE_PATHPath to PesterForge.psd1Bare name PesterForge, resolved via PSModulePath
PESTERFORGE_MCP_CONFIGPath to the server's one config filePesterForge.MCP.config.json beside the exe
PESTERFORGE_ENTITLEMENT_CODEEntitlement code for gated tools(none)

So a client entry needs three things: the path to PesterForge.MCP.exe as the command, no arguments, and any PESTERFORGE_* variables you want to set.

[NEEDS VERIFICATION: exact client config. The copy-paste JSON block for Claude Code, Claude Desktop, and other clients belongs here once it has been verified against the shipped server, per the no-guessed-config rule. Until then, the facts above are the complete contract any MCP client entry has to satisfy.]

You can tell it started: the server prints PesterForge.MCP (stdio) ready. to stderr. All logging goes to stderr, and stdout carries JSON-RPC lines only. The server's conformance gate checks that separation on every run; the passing step reads "stdio clean: stdout carried JSON-RPC lines only, all session -- no contamination".

Prefer HTTP? Set PESTERFORGE_TRANSPORT=http and the server serves MCP at /mcp, with a /health endpoint, on PESTERFORGE_PORT.

03 Try it

Ask your client, in plain English:

Generate Pester tests for the function in .\Get-InventoryReport.ps1

Your agent calls the generate_tests tool and comes back with Pester tests for that function. The full tool list, with arguments and behavior for each, is on the tool reference page.

For a quick liveness check, ask for the server version. get_version returns the provenance block that every tool response also carries:

{
  "pesterForgeVersion": "2.0.0",
  "mcpServerVersion": "1.0.0",
  "schemaVersion": "1.0",
  "pwshVersion": "7.6.3"
}

The server reads the module version live from the manifest on your machine each time. Every response is stamped with these four fields, so you can tie any answer back to the module version that produced it.

04 Where next