An MCP (Model Context Protocol) server that exposes NI TestStand as a set of AI-callable tools. Connect Claude directly to your TestStand engine to create, edit, and run test sequences through natural language.
Developed by Zühlke.
| Requirement | Details |
|---|---|
| NI TestStand | 2019 or later (2026 recommended) |
| .NET Framework | 4.8 |
| Build toolchain | .NET SDK (for building from source) |
| Platform | Windows x86 / x64 |
| Any AI of your choice | E.g. a paid version of Claude with access to Claude Code in the Desktop App |
This MCP Server can be used with any AI tool that supports MCPs. The instructions below describe the Claude Desktop case on Windows:
-
Download the latest binary from the releases section (or build the project, see below)
-
Open (or create) the Claude Desktop configuration file:
%APPDATA%\Claude\claude_desktop_config.json -
Add the
teststandentry undermcpServers:{ "mcpServers": { "teststand": { "command": "C:\\your_download_path\\TestStandMCP.exe" } } }Adjust the path to match your actual download or build output location.
-
Restart Claude Desktop. The TestStand tools will appear automatically.
-
In your first message, ask Claude to connect to the engine:
"Connect to the TestStand engine and open my sequence file."
Claude will call
connect_engineautomatically before any other tool.
- Connect / disconnect from the TestStand engine
- Read station info, globals, options, and process model
- Validate expressions and expand path macros
- Open, create, save, and close
.seqfiles - Compare two sequence files (structured diff)
- Read and write file-level metadata and globals
- Insert, rename, duplicate, and delete sequences
- Insert, move, rename, delete, and enable/disable steps
- Set step expressions, preconditions, pass/fail actions, and loop settings
- Configure
MessagePopup,PropertyLoader,NumericLimitTest, andStringValueTeststeps - Manage local variables, sequence parameters, and file globals
- Full undo/redo support (including grouped undo transactions)
- Start executions with any entry point (
Single Pass,Test UUTs, custom sequences) - Poll status, wait for completion, and retrieve structured results
- Break, resume, abort, restart, and terminate executions
- Step over / into / out at both execution and thread level
- Set and list breakpoints; monitor watch expressions
- Load/unload adapters (LabVIEW, CVI, .NET, Python)
- Inspect adapter details and module parameters
- List step types from loaded type palettes
- Generate HTML/XML/TXT reports for completed executions
- Save reports to disk or retrieve full report text
- Export results using configured result schemas
- Create and manage Semaphores, Mutexes, Queues, Notifications, and Rendezvous objects
- Launch and close the TestStand Sequence Editor
- Open sequence files in the editor for visual inspection
- Start executions directly from the editor GUI
- Search steps by name, type, expression, or comment
- Run the NI Sequence Analyzer and return messages sorted by severity
TestStandMCP.exe --version # Print version and exit
TestStandMCP.exe --list-tools # Print all registered tool names and descriptions- The server communicates over stdin/stdout using the MCP JSON-RPC protocol. Do not write anything else to stdout in a custom build.
- Logging is written to stderr and is visible in the separate console window that opens automatically.
- Always call
save_sequence_fileafter editing a sequence to persist changes to disk. - Use
NI_Flow_If / NI_Flow_Else / NI_Flow_Endfor conditional branching — neverGoto/Label.
dotnet build --configuration Debug --framework net48 -p:Platform=x86The output executable is placed at:
bin\x86\Debug\net48\TestStandMCP.exe
To rebuild after code changes, kill any running instance first:
taskkill /F /IM TestStandMCP.exe
dotnet build --configuration Debug --framework net48 -p:Platform=x86Beta Notice
This is a beta version. The software is provided as-is for evaluation and development purposes. No warranty is given and no liability is accepted for correctness, reliability, or fitness for any particular purpose. Use in production test systems is at your own risk.