From 9c47a49ec031365f5922b86cd39c082fa27ac2ab Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Fri, 30 Jan 2026 12:26:18 -0700 Subject: [PATCH] Rename project from cp210x-mcp to mcp210x Because how could we not. --- .mcp.json | 15 +++++++++ README.md | 6 ++-- pyproject.toml | 10 +++--- src/cp210x_mcp/__init__.py | 5 --- src/mcp210x/__init__.py | 5 +++ src/{cp210x_mcp => mcp210x}/bindings.py | 0 src/{cp210x_mcp => mcp210x}/server.py | 2 +- uv.lock | 44 ++++++++++++------------- 8 files changed, 51 insertions(+), 36 deletions(-) create mode 100644 .mcp.json delete mode 100644 src/cp210x_mcp/__init__.py create mode 100644 src/mcp210x/__init__.py rename src/{cp210x_mcp => mcp210x}/bindings.py (100%) rename src/{cp210x_mcp => mcp210x}/server.py (99%) diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..4596d99 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,15 @@ +{ + "mcpServers": { + "cp210x-local": { + "type": "stdio", + "command": "uv", + "args": [ + "run", + "--directory", + "/home/rpm/claude/lora/cp2102-uart", + "mcp210x" + ], + "env": {} + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index 10bb436..ca4c8f7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# cp210x-mcp +# mcp210x MCP server for customizing Silicon Labs CP210x USB-UART bridge devices. Read and write USB descriptor strings, power configuration, and device lock state — all through natural language in Claude Code. @@ -65,13 +65,13 @@ uv tool install . ### 3. Add to Claude Code ```bash -claude mcp add cp210x -- uvx cp210x-mcp +claude mcp add cp210x -- uvx mcp210x ``` Or for development (runs from source): ```bash -claude mcp add cp210x-local -- uv run --directory /path/to/cp2102-uart cp210x-mcp +claude mcp add cp210x-local -- uv run --directory /path/to/cp2102-uart mcp210x ``` ## Tools diff --git a/pyproject.toml b/pyproject.toml index a5eacfa..b347b98 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -name = "cp210x-mcp" +name = "mcp210x" version = "0.1.0" description = "MCP server for CP210x USB-UART bridge customization" readme = "README.md" @@ -31,18 +31,18 @@ dev = [ ] [project.scripts] -cp210x-mcp = "cp210x_mcp:main" +mcp210x = "mcp210x:main" [project.urls] -Homepage = "https://github.com/ryanmalloy/cp210x-mcp" -Repository = "https://github.com/ryanmalloy/cp210x-mcp" +Homepage = "https://forge.supported.systems/MCP/mcp210x" +Repository = "https://forge.supported.systems/MCP/mcp210x" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] -packages = ["src/cp210x_mcp"] +packages = ["src/mcp210x"] [tool.ruff] line-length = 100 diff --git a/src/cp210x_mcp/__init__.py b/src/cp210x_mcp/__init__.py deleted file mode 100644 index bc729ab..0000000 --- a/src/cp210x_mcp/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -"""CP210x MCP Server - Device customization for Silicon Labs USB-UART bridges.""" - -from .server import mcp, main - -__all__ = ["mcp", "main"] diff --git a/src/mcp210x/__init__.py b/src/mcp210x/__init__.py new file mode 100644 index 0000000..c8e4132 --- /dev/null +++ b/src/mcp210x/__init__.py @@ -0,0 +1,5 @@ +"""mcp210x - MCP server for Silicon Labs CP210x USB-UART bridge customization.""" + +from .server import mcp, main + +__all__ = ["mcp", "main"] diff --git a/src/cp210x_mcp/bindings.py b/src/mcp210x/bindings.py similarity index 100% rename from src/cp210x_mcp/bindings.py rename to src/mcp210x/bindings.py diff --git a/src/cp210x_mcp/server.py b/src/mcp210x/server.py similarity index 99% rename from src/cp210x_mcp/server.py rename to src/mcp210x/server.py index 56ea56b..34c20a6 100644 --- a/src/cp210x_mcp/server.py +++ b/src/mcp210x/server.py @@ -409,7 +409,7 @@ async def setup_udev_rule( rules_path = f"/usr/lib/udev/rules.d/99-cp210x-{symlink_name}.rules" rule_content = ( - f"# Auto-generated by cp210x-mcp for: {product}\n" + f"# Auto-generated by mcp210x for: {product}\n" f"# Creates /dev/{symlink_name} symlink\n" f"{rule}\n" ) diff --git a/uv.lock b/uv.lock index 2748e42..2e57b1b 100644 --- a/uv.lock +++ b/uv.lock @@ -292,28 +292,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] -[[package]] -name = "cp210x-mcp" -version = "0.1.0" -source = { editable = "." } -dependencies = [ - { name = "fastmcp" }, -] - -[package.optional-dependencies] -dev = [ - { name = "pytest" }, - { name = "ruff" }, -] - -[package.metadata] -requires-dist = [ - { name = "fastmcp", specifier = ">=2.0.0" }, - { name = "pytest", marker = "extra == 'dev'" }, - { name = "ruff", marker = "extra == 'dev'" }, -] -provides-extras = ["dev"] - [[package]] name = "cryptography" version = "46.0.4" @@ -801,6 +779,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fd/d9/eaa1f80170d2b7c5ba23f3b59f766f3a0bb41155fbc32a69adfa1adaaef9/mcp-1.26.0-py3-none-any.whl", hash = "sha256:904a21c33c25aa98ddbeb47273033c435e595bbacfdb177f4bd87f6dceebe1ca", size = 233615, upload-time = "2026-01-24T19:40:30.652Z" }, ] +[[package]] +name = "mcp210x" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "fastmcp" }, +] + +[package.optional-dependencies] +dev = [ + { name = "pytest" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "fastmcp", specifier = ">=2.0.0" }, + { name = "pytest", marker = "extra == 'dev'" }, + { name = "ruff", marker = "extra == 'dev'" }, +] +provides-extras = ["dev"] + [[package]] name = "mdurl" version = "0.1.2"