Ryan Malloy acec4b29ba Add elicitation confirmations and udev rule tool
Write tools now prompt the user via MCP elicitation before
modifying OTP EPROM. Falls back to no confirmation if the
client doesn't support elicitation.

lock_device always requires confirmation — refuses without it.

New tool: setup_udev_rule
- Auto-generates symlink name from product string
- Installs rule to /usr/lib/udev/rules.d/
- Elicits user permission before sudo operations
2026-01-30 11:32:41 -07:00

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)

cd aur/cp210xmanufacturing
makepkg -si

Or build from source:

cd AN721SW/Linux/LibrarySourcePackages/cp210xmanufacturing
make LIB_ARCH=64
sudo make install
sudo ldconfig

Install the MCP server

# With uv (recommended)
uv tool install .

# Or with pip
pip install .

Usage

Add to Claude Code

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

# 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 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

Description
MCP server for Silicon Labs CP210x USB-UART bridge customization
Readme MIT 2.9 MiB
Languages
C++ 49.3%
C 35.2%
Python 14.1%
Makefile 0.9%
Shell 0.4%
Other 0.1%