
IKA Hotplate & Overhead Stirrer
io.github.K-Dense-AIPublished by GitHub account K-Dense-AIv0.1.1Updated Oct 24, 2026
MCP server for IKA hotplate stirrers and overhead stirrers (NAMUR commands).
Overview
An MCP server that lets an assistant control IKA hotplate stirrers and overhead stirrers over a serial or TCP NAMUR connection: read temperatures, speed and tor
- What you can do
- Read instrument identity, connection mode, active safety limits and the raw command log, and read plate, probe and medium temperatures, speed, torque and setpoints, including polling until a target temperature is stable.
- When to use it
- When an assistant should operate an IKA hotplate stirrer or overhead stirrer in a lab, for example to heat a flask to a setpoint, stir at a given speed, log a cooldown, or stop everything in an emergency.
- Requirements
- Python package run locally via uvx, with a serial or TCP address passed through LABMCP_ADDRESS. The instrument must be connected by USB virtual COM port or RS-232 cable at the fixed NAMUR serial settings. LABMCP_SIMULATE=1 runs a built-in simulator without hardware.
Installation
In SourceWeft
- Open IKA Hotplate & Overhead Stirrer in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
IKA Hotplate & Overhead Stirrer — MCP Server
Let an AI agent heat and stir with IKA hotplate stirrers (C-MAG HS control, IKA Plate / RCT digital) and drive IKA overhead stirrers (EUROSTAR control) through IKA's documented NAMUR interface commands: read plate, probe and medium temperatures, speed and torque; set and start heating and stirring; wait for a temperature; and arm the hotplate's hardware watchdog so it switches itself off if the computer stops talking to it.
Try it without hardware
Connect your stirrer
- Cable: USB A–B (the stirrer appears as a virtual COM port; on Windows install IKA's USB driver, linked in the manual) or the 9-pin RS-232 PC 1.1 cable. No setting on the device is needed. The interface is fixed at 9600 baud, 7 data bits, even parity, 1 stop bit, no flow control, and every command ends with a blank + CR LF.
- Find the port:
uvx labmcp ports - Test the connection:
--checkprints the name the device reports (IN_NAME).
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow monitoring only (the stop tools stay available). For other clients: uvx labmcp config ika-stirrer --address /dev/ttyACM0 --client vscode.
Tools
Safety limits
Override at launch, e.g. --limit max_temperature_c=250 --limit max_speed_rpm=1500. On top of these, the hotplate refuses setpoints above its own safety-circuit temperature (set with the screwdriver dial on the device, read with IN_SP_3), and overhead stirrers refuse speeds above the speed limit set in the device menu (IN_SP_6); the server checks both before sending.
Example prompts
- "Heat the round-bottom flask to 65 °C using the external probe, stir at 400 rpm, and tell me when it has been stable for a minute."
- "Arm the watchdog with 60 s, then start heating to 80 °C. I'm leaving it running overnight."
- "Log the medium temperature every 30 s while it cools down and tell me when it is below 30 °C."
- "Ramp the EUROSTAR up to 300 rpm and report the torque; the mixture is getting viscous."
- "Something smells wrong, stop everything now."
Notes
- Two device types. The default is
--option device=hotplate. Overhead stirrers need--option device=overhead; they have no heater, report their PT1000 probe onIN_PV_3and torque onIN_PV_5. Tools that don't apply to the configured type return a clear error and send nothing. - No state query for the heater. The NAMUR set has no "is the heater on?" command, so
get_statusreports the last start/stop this server sent (heating_commanded,stirring_commanded) andNonewhen unknown. The front-panel buttons can change it without the server knowing. - Setpoints are read back after
set_temperature/set_speed(IN_SP_1/IN_SP_4), and awarningis returned if the device reports a different value. - Watchdog (hotplates,
OUT_WD1@m/OUT_WD2@m, 20–1500 s):enable_watchdogarms it and the server re-sends the command in the background every quarter of the watchdog time. If the server or the computer dies or the cable is pulled, the hotplate switches heating and stirring off (mode 1) or falls back to the safety temperature and speed (mode 2). Stopping or reconnecting the server also stops the refresh, so the watchdog trips. Mode 1 has no documented cancel command; mode 2 is cancelled withOUT_WD2@0. The manual's watchdog error codes differ between sections (ER 2 vs Err. 1/Err. 2); a trip is visible on the display, not over the interface. - Unverified reply layout. The IKA manuals document the commands but not the exact reply line. The driver takes the first number on the line (devices are reported to append the channel, e.g.
25.3 2), so both forms work. The value reported byIN_PV_1when no external probe is plugged in is not documented; ignoreexternal_temperature_cif you have no probe. - The IKA manuals print the terminator as "Blank CR LF (hex 0x20 0x0d 0x20 0x0A)"; the extra 0x20 contradicts the text ("Blank CR LF") and is treated as a typo, so the server sends
0x20 0x0D 0x0A. - Not implemented:
SET_MODE_n(changes the power-on operating mode A/B/D, a persistent setting) andRESET; overhead-stirrer torque/speed-limit writes (OUT_SP_5/6/8) and direction change (OUT_MODE_n).
Hardware verification
Source: servers/chemistry/ika-stirrer/README.md at commit 46545ea
Tools
0Version history
2- v0.1.1LatestSep 27, 2026
- v0.1.0Sep 26, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts