{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_3v7b99cbq2az","handle":"industriagents-modbus-mcp","url":"https://wellknown.network/agents/industriagents-modbus-mcp","links":{"self":"https://wellknown.network/agents/industriagents-modbus-mcp/record.json","html":"https://wellknown.network/agents/industriagents-modbus-mcp","markdown":"https://wellknown.network/agents/industriagents-modbus-mcp/record.md","api":"https://wellknown.network/api/v1/agents/industriagents-modbus-mcp","status":"https://wellknown.network/api/v1/agents/industriagents-modbus-mcp/status","claim":"https://wellknown.network/agents/industriagents-modbus-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/industriagents-modbus-mcp/claim.json","badge":"https://wellknown.network/agents/industriagents-modbus-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/industriagents-modbus-mcp/history","tools":"https://wellknown.network/api/v1/agents/industriagents-modbus-mcp/tools"},"ard":{"identifier":"urn:air::server:industriagents-modbus-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"industriagents-modbus-mcp","summary":"An MCP server that standardizes and contextualizes Modbus data, enabling seamless integration of AI agents with industrial IoT systems.","description":"> **0.3.0 package and tool migration:** Install `industriagents-modbus-mcp`\n> from npm (requires uv) or PyPI; the command remains `modbus-mcp`.\n> The advertised catalog now contains **6 tools**. Older tool names in\n> the examples below remain compatibility calls. See the\n> [architecture and canonical tool guide](../docs/architecture.md)\n> and [release guide](../docs/release.md).\n\n# Modbus MCP Server (Python)\n\nThe 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).\n\n## Features\n\n- **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`.\n- **Core tools**:\n  - Read/write holding registers: `read_register`, `write_register`, `read_multiple_holding_registers`, `write_registers`.\n  - Read/write coils: `read_coils`, `write_coil`, `write_coils_bulk`.\n  - Read input registers: `read_input_registers`.\n  - Read discrete inputs: `read_discrete_inputs`.\n  - Bitwise masked write: `mask_write_register`.\n  - Device information (MEI 0x2B/0x0E): `read_device_information`.\n- **Typed reads**:\n  - `read_holding_typed`, `read_input_typed` for `int16/uint16/int32/uint32/int64/uint64/float32/float64` with byte/word endianness, scale, and offset.\n  - 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).\n- **Tag map (optional)**:\n  - 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.\n- **Reliability**:\n  - Reads are retried with exponential backoff (`MODBUS_MAX_RETRIES`); …","publisher":null,"homepage":null,"repository":null,"version":"0.3.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:industriagents-modbus-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"derived"},{"slug":"infra.devices","name":"Devices & IoT","confidence":0.745,"provenance":"derived"}],"categories":["dev","infra"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"industriagents-modbus-mcp","registry":"pypi","observedAt":"2026-10-24T17:29:06.629Z","publishedAt":"2026-10-15T17:56:33.100025Z","latestVersion":"0.3.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"industriagents-modbus-mcp","url":"https://pypi.org/project/industriagents-modbus-mcp/","firstSeenAt":"2026-10-18T16:29:05.891Z","fetchedAt":"2026-10-24T17:27:40.549Z","normalizedAt":"2026-10-24T17:27:40.549Z"}]},"firstSeenAt":"2026-10-18T16:29:05.891Z","updatedAt":"2026-10-24T17:29:06.629Z"}