Lake Shore Temperature Controller — Claude Code MCP Server: Setup
Connects Lake Shore 335, 336, and 350 temperature controllers to AI assistants. It monitors cryostat sensors, adjusts loop settings, and shuts off heaters.
claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio lakeshore-temperature -- uvx labmcp-lakeshoreWhat Lake Shore Temperature Controller does
The server links AI agents to Lake Shore cryogenic hardware using ASCII commands. It queries sensor readings in kelvin, inspects heater status, and updates PID parameters. Supported hardware includes Models 335, 336, and 350. Connecting unsupported devices like Model 331 or 372 causes the server to reject the session after checking *IDN?.
Communication travels over serial USB at 57600 baud, TCP port 7777 for Ethernet on Models 336 and 350, or GPIB using VISA. Built-in guardrails include a default setpoint ceiling of 325 K and a heater range cap of 3. Running with --read-only prevents changing loop parameters while preserving the all_heaters_off emergency cut-off.
A physical controller is not mandatory during testing because the package includes a 4.2 K cryostat thermal simulator. Keep in mind that the repository code relies on simulator validation and still awaits hardware confirmation reports.
What it helps with
- read cryostat sensor channels in kelvin and raw units
- adjust control loop setpoints with ramping rates
- configure PID parameters on selected outputs
- kill all heater outputs during an emergency
- wait for loop temperatures to settle within designated tolerances
Example prompts for the agent
- Read all sensor inputs and report any errors.
- Set output 1 setpoint to 50 K with a ramp rate enabled.
- Turn off every heater output immediately.
How to install Lake Shore Temperature Controller
Platform CLI
claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio lakeshore-temperature -- uvx labmcp-lakeshoreReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-lakeshore <command>
Platform CLI
codex mcp add lakeshore-temperature --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> -- uvx labmcp-lakeshoreReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-lakeshore <command>
Config file
{
"mcpServers": {
"lakeshore-temperature": {
"command": "uvx",
"args": [
"labmcp-lakeshore"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-lakeshore <command>
Config file
{
"servers": {
"lakeshore-temperature": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-lakeshore"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-lakeshore <command>
Platform CLI
gemini mcp add -e LABMCP_ADDRESS=<LABMCP_ADDRESS> -e LABMCP_SIMULATE=<LABMCP_SIMULATE> -e LABMCP_READ_ONLY=<LABMCP_READ_ONLY> -e LABMCP_LIMITS=<LABMCP_LIMITS> lakeshore-temperature uvx labmcp-lakeshoreReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from labmcp-lakeshore <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Lake Shore Temperature Controller
How to install Lake Shore Temperature Controller in Claude Code?
Run claude mcp add labmcp-lakeshore -- uvx labmcp-lakeshore in your terminal. Alternatively, define environment variables: `claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio lakeshore-temperature -- uvx labmcp-lakeshore`.
Which Lake Shore instruments are compatible?
It supports Models 335, 336, and 350. Instruments like the 325, 331, 340, or 372 are rejected during identification checks.
Can I test this server without real laboratory equipment?
Yes, pass the --simulate argument to launch a thermal simulation of a 4.2 K cryostat. You can verify it right away with uvx labmcp-lakeshore --simulate --check.