An MCP server that standardizes and contextualizes Modbus data, enabling seamless integration of AI agents with industrial IoT systems.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"industriagents-modbus-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
> **0.3.0 package and tool migration:** Install `industriagents-modbus-mcp` > from npm (requires uv) or PyPI; the command remains `modbus-mcp`. > The advertised catalog now contains **6 tools**. Older tool names in > the examples below remain compatibility calls. See the > [architecture and canonical tool guide](../docs/architecture.md) > and [release guide](../docs/release.md). # Modbus MCP Server (Python) The MCP server of [MODBUS-MCP](../README.md). It is a [uv](https://docs.astral.sh/uv/) project with the `modbus-mcp` entry point; the mock device to test it against lives in [`../modbus-mock-server`](../modbus-mock-server/README.md). ## Features - **Read-only by default**: the write tools (`write_register`, `write_registers`, `write_coil`, `write_coils_bulk`, `mask_write_register`, `write_tag`) send nothing unless `MODBUS_WRITES_ENABLED=true`. - **Core tools**: - Read/write holding registers: `read_register`, `write_register`, `read_multiple_holding_registers`, `write_registers`. - Read/write coils: `read_coils`, `write_coil`, `write_coils_bulk`. - Read input registers: `read_input_registers`. - Read discrete inputs: `read_discrete_inputs`. - Bitwise masked write: `mask_write_register`. - Device information (MEI 0x2B/0x0E): `read_device_information`. - **Typed reads**: - `read_holding_typed`, `read_input_typed` for `int16/uint16/int32/uint32/int64/uint64/float32/float64` with byte/word endianness, scale, and offset. - Encoding and decoding are done in `src/modbus_mcp/codec.py` with the same register layout pymodbus' former `BinaryPayloadBuilder`/`Decoder` used (a test checks this against them on pymodbus 3.9). - **Tag map (optional)**: - Load a JSON register map via `REGISTER_MAP_FILE` and use `list_tags`, `read_tag`, `write_tag`. Typed tags are decoded and scaled on read; `write_tag` takes the same engineering units and reverses the scale and offset. - **Reliability**: - Reads are retried with exponential backoff (`MODBUS_MAX_RETRIES`); …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.