Senseca PRO thermometer

io.github.shaag7967Published by GitHub account shaag7967v0.1.1Updated Nov 3, 2026

Live readings from Senseca PRO 111/115 Pt100 thermometers via USB (unofficial)

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Reads live temperature and Pt100 resistance from a Senseca PRO 111/115 USB thermometer, with sampling and device info.

What you can do
  • Read the current temperature with its unit and UTC timestamp, or the Pt100 probe resistance in ohm
  • Record readings over a period (up to 600 s, interval at least 0.5 s) and get min/max/mean/stdev plus all samples
  • Inspect the instrument: model, serial number, firmware, clock and battery level
  • With write mode enabled, set the instrument clock or rename one of the 20 location labels
When to use it
Useful when an assistant should work with real measurements from a Senseca PRO handheld thermometer over USB — for example logging a temperature series, checking probe resistance, or reading device status during lab or field work.
Requirements
Local process run with uvx; Python 3.10 or newer and uv. The instrument must be switched on and connected via USB-C (PRO 115 set to COM interface mode). Optional SENSECA_PORT to pick the serial port, otherwise auto-detected; on Linux the user must be in the dialout group. SENSECA_PIN only if the instrument's protected mode is on.
Before you install
Write tools (clock, location labels) are off unless SENSECA_ALLOW_WRITE is set to 1; enabling them lets the assistant change instrument settings. SENSECA_PIN is a secret for protected mode. Only one program can use the serial port at a time, so close ProXware or terminal programs. The USB port is not galvanically isolated and can shift readings with grounded media. Unofficial project, not affiliated with Senseca.

Installation

In SourceWeft

  1. Open Senseca PRO thermometer in the dashboard and add it to a workspace.
  2. 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

mcp-server-senseca-pro

An MCP server that lets AI assistants read live measurements from a Senseca PRO 111 / PRO 115 handheld Pt100 thermometer connected via USB.

Unofficial project, not affiliated with or endorsed by Senseca. Tested with a PRO 111, firmware V1.4.3.0, interface protocol V1.0.0.1.

Tools

ToolDescription
read_temperatureCurrent temperature with unit (°C/°F/K, as set on the instrument) and UTC timestamp
read_resistanceCurrent Pt100 resistance in ohm
sample_temperatureReadings over a period (max 600 s, interval ≥ 0.5 s) with min/max/mean/stdev
get_device_infoModel, serial number, firmware, instrument clock, battery level

With --allow-write two more tools are available:

ToolDescription
set_device_clockSet the instrument clock (default: this computer's time)
set_location_nameRename one of the 20 location labels

The server cannot change calibration or adjustment data; the instrument does not offer that over its serial interface.

Requirements

  • Python ≥ 3.10 and uv
  • The instrument switched on and connected via USB-C. On the PRO 115 set Settings → USB mode to COM interface.
  • Linux: your user must be in the dialout group (sudo usermod -aG dialout $USER, then log in again).
  • Windows / macOS: no extra setup; the port shows up as COMx or /dev/cu.usbmodem….

Configuration

Claude Code

bash
claude mcp add senseca-pro -- uvx mcp-server-senseca-pro

Claude Desktop and other clients

json
{  "mcpServers": {    "senseca-pro": {      "command": "uvx",      "args": ["mcp-server-senseca-pro"]    }  }}

Options

OptionEnvironment variableDefault
--port PORTSENSECA_PORTauto-detect
--allow-writeSENSECA_ALLOW_WRITE=1off
--log-level LEVELSENSECA_LOG_LEVELWARNING
—SENSECA_PINnone; needed only if the instrument's protected mode is on

Auto-detection looks for USB ID 0483:5740 and only accepts a port whose device reports manufacturer senseca. If several instruments are connected, set the port explicitly; on Linux prefer the stable /dev/serial/by-id/… path.

Only one program can use the serial port at a time. Close ProXware or terminal programs while the server is running.

Measurement notes

  • Instrument accuracy: ±0.05 °C or ±0.06 % of reading (whichever is higher) ±1 digit, probe not included.
  • The USB port is not galvanically isolated. With a probe touching a grounded medium, the USB connection can shift the reading. Compare readings with and without USB, and use a USB isolator if they differ (see the instrument manual, section 7.2).

Development

bash
uv syncuv run pytest                                   # tests use a simulated instrumentnpx @modelcontextprotocol/inspector uv run mcp-server-senseca-pro   # try the tools interactively

To check a real instrument, connect it and run:

bash
uv run python scripts/hardware_test.py               # read-only checks, no interactionuv run python scripts/hardware_test.py --reconnect   # also unplug/replug USB when asked

The script only sends read commands. See --help for the PIN test.

The serial protocol is described in docs/protocol.md.

License

MIT

Source: README.md at commit 26bc87f

Tools

4

read_temperature

Read the current temperature from the Pt100 probe, with unit and UTC timestamp.

Takes no parameters.

read_resistance

Read the current Pt100 probe resistance in ohm (about 100 ohm at 0 °C).

Takes no parameters.

sample_temperature

Record temperature readings over a period and return statistics plus all samples. Args: duration_s: Recording time in seconds (max 600). interval_s: Time between readings in seconds (min 0.5, the instrument's update rate).

Parametersduration_sinterval_s

get_device_info

Instrument model, serial number, firmware, clock (UTC) and battery level.

Takes no parameters.

Version history

1
  1. v0.1.1LatestOct 29, 2026

Score

90% 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
  • 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 listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts