devpsu-mcp
MCP server for controlling B&K Precision and Manson bench power supplies, enabling voltage/current setting, output switching, and power cycling.
README
devpsu
Agent-friendly bench power supply control, built for the Agentic Firmware Workbench. Set voltage/current, switch the output, and power-cycle the device under test on B&K Precision 1685B/1687B/1688B supplies (and Manson HCS-3xxx, which share the same protocol) — from the command line or from an AI agent via MCP.
Sibling of devpower (USB port
power) and devsignal (signal generation). Typical use: an agent's DUT wedges
hard enough that a debug-probe reset doesn't help — the agent runs
power_cycle on the supply and the board cold-boots.
Supported hardware
Built against the 1687B (36 V / 10 A). The ASCII-over-serial protocol is shared by the 1685B (60 V / 5 A) and 1688B (18 V / 20 A) and the Manson HCS-3xxx family they're based on. USB appears as a virtual COM port (9600 8N1) — no drivers needed on macOS/Linux.
Note for the 1685B: it uses two current decimals; pass
--current-decimals 2 (CLI) or current_decimals=2 (API).
Install
pip install .
Requires Python 3.10+.
Safety model
An agent controlling DUT power deserves guardrails. devpsu has four:
- Session limits (human-in-the-loop) — on the first supply-changing
MCP call of a session, the user is prompted (MCP elicitation) for the
session's max voltage/current. Agent requests above them require
explicit user approval;
output_on/power_cyclecheck the present setpoints too, andoutput_offis never gated. Hosts without elicitation support fail safe (over-limit requests are refused). - Environment hard ceiling — set
DEVPSU_MAX_V/DEVPSU_MAX_Aand any request above them is refused before touching the hardware — not even in-session user approval overrides these. - The supply's own protection —
devpsu limits --ovp 5.5 --ocp 1.0programs the instrument's OVP/OCP as a second, firmware-level layer. - Agent-facing guidance — the MCP tool descriptions tell agents to verify setpoints against the DUT's rating before enabling the output.
Also set DEVPSU_PORT to pin the serial port on single-supply benches:
auto-discovery probes USB-serial ports with a benign query, which you may
not want on a bench with DUT consoles attached.
Multiple supplies
devpsu list shows every supply with its USB location, model maxima,
and present setpoints. Identical supplies often ship USB bridges with the
same serial number, making /dev/cu.usbserial-* names unstable - so
--port (and the MCP port argument) also accepts the location string,
which is tied to the physical USB topology:
$ devpsu list
/dev/cu.usbserial-0001 loc=34-2.1.4.1.2.1 max 36.2V/12.0A set 24.0V/2.0A
/dev/cu.usbserial-4 loc=34-2.1.4.1.4 max 36.2V/12.0A set 12.1V/3.0A
$ devpsu --port 34-2.1.4.1.4 status # select by location
Session safety limits are kept per physical supply (keyed by location), so each rail gets its own ceiling and its own approval prompts.
CLI
devpsu list # probe for supplies
devpsu status # setpoints, live V/A, CV/CC, limits
devpsu set --volts 3.3 --amps 0.5
devpsu on / devpsu off
devpsu cycle --hold 5 # power-cycle the DUT
devpsu limits --ovp 5.5 --ocp 1.0
devpsu raw GETD # protocol escape hatch
devpsu --json status # machine-readable
MCP server
devpsu-mcp runs an MCP server over stdio exposing list_supplies,
get_status, set_voltage, set_current, output_on, output_off,
power_cycle, and set_protection.
Register with Claude Code (with guardrails):
claude mcp add --scope user devpsu -e DEVPSU_MAX_V=5.5 -e DEVPSU_MAX_A=2 devpsu-mcp
Development
pip install -e ".[dev]"
pytest
The test suite runs against a fake serial layer — no supply required.
License
MIT
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.