Metadata-Version: 2.4
Name: ucan-lin-mcp
Version: 0.1.0
Summary: MCP server for the uCAN USB LIN Converter: let AI agents sniff and reverse-engineer a LIN bus
Author-email: ucan <ucandevices@mail.com>
License-Expression: MIT
Project-URL: Homepage, https://ucandevices.github.io/ulc.html
Project-URL: Source, https://github.com/uCAN-LIN/LinUSBConverter
Keywords: mcp,lin,lin-bus,automotive,car-hacking,ldf
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: pyserial>=3.5
Requires-Dist: lark>=1.1
Requires-Dist: mcp>=2

# ucan-lin-mcp

MCP server for the [uCAN USB LIN Converter](https://ucandevices.github.io/ulc.html):
lets an AI agent sniff and reverse-engineer a LIN bus.

<!-- mcp-name: io.github.uCAN-LIN/lin-usb-converter -->

The server is `ucanlintools.mcp_server` from this repo's Python library,
bundled here so `uvx ucan-lin-mcp` works on its own.

```bash
uvx ucan-lin-mcp --mock                 # simulated bus, no hardware
uvx ucan-lin-mcp --port COM3            # real converter, read-only
uvx ucan-lin-mcp --port COM3 --allow-transmit
```

MCP client config:

```json
{
  "mcpServers": {
    "lin": {"command": "uvx", "args": ["ucan-lin-mcp", "--port", "COM3"]}
  }
}
```

Tools: `device_info`, `monitor_bus` (per-id period, changing bits, change log),
`detect_bus` (speed and checksum), `load_ldf`, `decode_frame`, `encode_frame`,
and with `--allow-transmit` `send_frame`, `run_master`, `run_slave`.

Hardware, firmware and docs: https://github.com/uCAN-LIN/LinUSBConverter
