rs3005p-mcp

rs3005p-mcp

An MCP server that lets AI agents control an RS PRO RS-3005P/RS-6005P programmable DC power supply over USB/RS232, enabling voltage/current control, measurements, output switching, and memory operations.

Category
Visit Server

README

rs3005p-mcp

An MCP server that lets AI agents control an RS PRO RS-3005P (or RS-6005P) digital programmable DC power supply over its USB / RS232 serial interface.

It implements the documented RS Series Remote Control Syntax V2.0 (KORAD-compatible) and exposes voltage/current control, live measurements, output and over-current-protection switching, and panel-memory save/recall as MCP tools.

Supported hardware

Model Voltage Current Remote interface
RS-3005P 0–30 V 0–5 A USB + RS232
RS-6005P 0–60 V 0–5 A USB + RS232

The non-P variants (RS-3005D / RS-6005D) have no remote interface and cannot be driven by this server.

Serial settings (fixed by the firmware): 9600 baud, 8 data bits, no parity, 1 stop bit, no flow control.

Install

uv venv
uv pip install -e .

Run

The server speaks MCP over stdio:

uv run rs3005p-mcp

Claude Code / Claude Desktop config

{
  "mcpServers": {
    "rs3005p": {
      "command": "uv",
      "args": ["run", "rs3005p-mcp"],
      "cwd": "C:/path/to/rs3005p-mcp"
    }
  }
}

Tools

Tool Purpose
list_serial_ports Discover the COM/tty port the supply is on.
connect Open the port, pick the model, verify with *IDN?.
disconnect Close the connection.
get_identification Read the *IDN? string.
get_safety_profile Read the active safety envelope (read-only).
list_devices List device profiles in the library + which is active.
select_device Switch active profile (widening needs confirm_widen).
set_voltage Set the voltage setpoint (range + safety validated).
set_current Set the current limit (range + safety validated).
ramp_voltage Ramp voltage to a target within the slew limit.
power_up Bring the DUT to its profile's nominal operating point.
get_setpoints Read configured voltage & current setpoints.
measure Read actual output voltage & current.
set_output Enable/disable the output terminals.
set_ocp Arm/disarm over-current protection.
get_status Decoded status: output, CV/CC mode, OCP.
get_state Full snapshot (setpoints + measurements + status).
save_settings Store panel settings to memory slot 1–5.
recall_settings Recall panel settings from memory slot 1–5.

Safety profiles (protecting attached devices)

To stop an agent from over-driving the device wired to the terminals, supply a device-profile library at launch. It defines a safe envelope (voltage / current / power ceilings, output gating, slew limit) per device; the server rejects any agent request that would leave it. Profiles are set by the operator at startup and cannot be changed by any tool.

rs3005p-mcp --profile devices.json --device 24v-sensor

RS3005P_DEVICE/--device is only the default; an agent can switch among the curated devices at runtime with select_device (widening the envelope requires confirm_widen=true) and devices.json edits hot-reload on the next connect/select_device — no re-registration. No tool can create or modify a profile's limits; the file stays operator-curated.

See docs/safety.md and examples/devices.example.json. With no profile the server runs limited only by hardware (30 V / 5 A) and says so on every connect.

A typical agent flow:

  1. list_serial_ports → find the port.
  2. connect(port="COM4") → verifies identity, applies RS-3005P limits.
  3. set_voltage(5.0), set_current(0.5).
  4. set_output(True).
  5. measure() → live readings.

Development

uv pip install -e ".[dev]"
uv run pytest

Tests run against an in-memory device emulator (tests/conftest.py), so no hardware is required. See docs/ for the protocol reference and architecture notes.

License

MIT.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured