# CP210x MCP Server MCP server for customizing Silicon Labs CP210x USB-UART bridge devices. Allows reading and writing USB descriptor strings, power configuration, and more. ## Features - List connected CP210x devices - Read/write USB product string (device name) - Read/write manufacturer string - Read/write serial number - Configure max power draw - Set self-powered/bus-powered mode - Reset device (USB re-enumeration) - Lock device (permanent - prevents further changes) ## Requirements - Linux x86_64 - `libcp210xmanufacturing.so` - Install via AUR package or build from source ## Installation ### Install the library (Arch Linux) ```bash cd aur/cp210xmanufacturing makepkg -si ``` Or build from source: ```bash cd AN721SW/Linux/LibrarySourcePackages/cp210xmanufacturing make LIB_ARCH=64 sudo make install sudo ldconfig ``` ### Install the MCP server ```bash # With uv (recommended) uv tool install . # Or with pip pip install . ``` ## Usage ### Add to Claude Code ```bash claude mcp add cp210x -- uvx cp210x-mcp ``` ### Available Tools | Tool | Description | |------|-------------| | `list_devices` | List connected CP210x devices | | `get_device_info` | Get detailed device information | | `set_product_string` | Set USB product string (device name) | | `set_manufacturer_string` | Set USB manufacturer string | | `set_serial_number` | Set USB serial number | | `set_max_power` | Set max USB power draw (mA) | | `set_self_powered` | Set self-powered vs bus-powered | | `reset_device` | Reset device (USB re-enumeration) | | `lock_device` | PERMANENTLY lock device config | ### Example ```bash # In Claude Code conversation: > What CP210x devices are connected? > Change the product name of device 0 to "My Custom Device" ``` ## Relationship to mcserial This MCP server complements [mcserial](https://github.com/ryanmalloy/mcserial) which handles serial port communication. Use this server for **device customization** (changing USB descriptors) and mcserial for **serial communication** (sending/receiving data over UART). ## License MIT