Modbus TCP/RTU Device MCP Server

Let an AI agent read and control Modbus devices over Ethernet (Modbus TCP) or RS-485/RS-232 (Modbus RTU/ASCII): PID temperature controllers, recirculating chillers, PLCs, process sensors, VFDs and data loggers. You describe the device once in a register map (YAML or JSON). 2 °C or setpoint, instead of raw registers. The server…. Its 13 documented tools cover points, registers.

People who work with points and registers and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

One of 32 MCP servers published from k-dense-ai/lab-instrument-mcps. Stars and repository activity are shared across all of them. See all 32 →

VERIFIED ACTIVE

LAST COMMIT 2026-09-26 · VERIFIED 2026-09-30

Apache-2.0 · Python servers · how we verify → /methodology

01 · Install Modbus TCP/RTU Device

Claude Code

claude mcp add k-dense-ai-lab-instrument-mcps-servers-p -- uvx labmcp-modbus

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "k-dense-ai-lab-instrument-mcps-servers-p": {
      "command": "uvx",
      "args": [
        "labmcp-modbus"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

repo age created 2026-09-25 - young repo, little track record yet

license Apache-2.0 - declared in the repository

pypi package labmcp-modbus - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.K-Dense-AI is GitHub-verified and matches the repo owner

03 · What Modbus TCP/RTU Device can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can read coils (FC01): single-bit outputs such as run/stop or relay states, read discrete inputs (FC02): single-bit, read-only status such as alarms or limit switches, read raw holding or input registers (unsigned 16-bit), optionally decoded as int16, 32-bit or 64-bit values. g.

Capability map

Tools grouped from the project's README - what Modbus TCP/RTU Device lets an agent do.

read & search

4 tools - e.g. Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done.; Report which instrument is connected (identity…

get_command_log · get_connection_info · read_coils · read_discrete_inputs

create & write

3 tools - e.g. Switch one raw coil (FC05). Coils often start or stop equipment (heaters, pumps, motors); mapped coils are refused here (use write_point).; Write a named point from the register map (setpoint, mode…

write_coil · write_point · write_register

Points

2 tools - e.g. Describe the loaded register map: device, every named point (table, 0-based address, type, scaling, unit, writable, min/max, enum) and the safe-state steps. Wor; Read named points from the register map…

list_points · read_points

Registers

2 tools - e.g. Read raw holding or input registers (unsigned 16-bit), optionally decoded as int16, 32-bit or 64-bit values. For exploring a device; prefer read_points when a r; Write consecutive raw holding registers…

read_registers · write_registers

Apply

1 tool - e.g. Put the device into the safe state defined in the register map (e.g. heater output off, controller to standby), writing each step in order and reading it back.

apply_safe_state

Reconnect

1 tool - e.g. Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).

reconnect

Limitations (from the README)

- Addresses are 0-based on the wire. Manuals often use 1-based "Modicon" numbers (40001 = holding 0). If every read is off by one register, the map uses the wrong convention. - Word order is not standardised for 32-bit values: the Modbus spec only defines byte order within a register. If a float or 32-bit value looks absurd, try word_order: little. read_registers with decode_as helps you find the right order. - A flo

04 · Who maintains Modbus TCP/RTU Device

Modbus TCP/RTU Device is maintained by k-dense-ai. We track 32 MCP servers from k-dense-ai - 32 actively maintained, 9 combined GitHub stars, oldest repo from Sep 2026. Full record: all servers from k-dense-ai.

  1. Tecan Cavro Syringe Pump MCP server for Tecan Cavro syringe pumps (XLP 6000, XMP 6000, XCalibur) over the DT protocol. ★ 9
  2. Micro-Manager Microscope MCP server for microscopes controlled by Micro-Manager (pymmcore-plus). ★ 9
  3. Opentrons OT-2 / Flex MCP server for Opentrons OT-2 and Flex liquid-handling robots (HTTP API). ★ 9
  4. Atlas Scientific EZO Sensors MCP server for Atlas Scientific EZO sensor circuits (pH, ORP, DO, EC, RTD, HUM, CO2, PRS) over UART. ★ 9
  5. New Era Syringe Pump MCP server for New Era Pump Systems syringe pumps (NE-1000 family, RS-232). ★ 9
  6. Alicat Mass Flow & Pressure Controller MCP server for Alicat mass flow and pressure meters/controllers. ★ 9

05 · Facts

category
maps & location - actively maintained as of 2026-09-30.
registry
io.github.K-Dense-AI/labmcp-modbus (active, first published 2026-09-26 · 4 versions)
packages
pypi:labmcp-modbus

06 · Modbus TCP/RTU Device FAQ

Is Modbus TCP/RTU Device still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-26. We re-verify nightly.

What can Modbus TCP/RTU Device do?

With this server connected, an agent can read coils (FC01): single-bit outputs such as run/stop or relay states, read discrete inputs (FC02): single-bit, read-only status such as alarms or limit switches, read raw holding or input registers (unsigned 16-bit), optionally decoded as int16, 32-bit or 64-bit values. g.

How do I install Modbus TCP/RTU Device?

Run `uvx labmcp-modbus`. You can also paste the ready-made client config above.

Does Modbus TCP/RTU Device run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Modbus TCP/RTU Device

More maps & location MCP servers · Test Atlas · Foehn · Belgium · Swisstopo MCP · Zurich Opendata MCP

More Python MCP servers · Generic SCPI Instrument · SiLA 2 Bridge · Kagura Memory Cloud · Deepmiro · Whatsapp Macos · see all