EMK850+ Low-Power Analyzer MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EMK850+ Low-Power Analyzer MCP ServerWhat's the current power consumption?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EMK850+ Low-Power Analyzer · Serial Driver + MCP Server
Reverse-engineered the Yingjia EMK850+ serial protocol, providing a Python CLI and an MCP server (Streamable HTTP + REST) for automated µA/µW-level power acquisition and programmable power-supply control, closing the AI-driven low-power optimization loop.

Highlights
The stock EMK850+ analyzer has severe automation limitations: it only ships a Windows GUI with no open API, so it cannot connect to scripts, programs, or AI automation platforms, blocking automated power testing and device control and greatly limiting its use in batch testing, intelligent debugging, and low-power optimization iteration.
To address these pain points, this project reverse-engineers the protocol and upgrades the functionality, making it a perfect fit for automation scenarios:
Full protocol reverse: completely reproduces the device's 64-byte fixed-frame, 0x33 header, 0x40 fragmentation serial protocol, precisely matching the device's native communication logic.
More robust than the vendor app: a byte-by-byte streaming frame-sync state machine solves the byte misalignment, freezes, and data corruption caused by the vendor's block reads, greatly improving runtime robustness.
Lightweight and ready to use: provides both a Python CLI and a FastAPI HTTP service, supporting script calls, CI integration, and AI automation, quickly enabling power reading and device output control.
Solves a core debugging pain: supports programmable power-supply power-cycle, waking an MCU that has entered deep sleep and lost the debugger connection, resolving a core low-power debugging pain point.
High-precision standardized acquisition: supports µA/µW-level precision power acquisition, with a no-load baseline-zero function to remove the device's no-load offset error, outputting clean, accurate voltage/current/power measurements; every feature is HTTP-exposed for seamless integration into any automation or AI pipeline.
Related MCP server: UART MCP Server
Quick start
Read power from the CLI
uv sync
python emk850_analyzer.py power COM19Voltage: 4.202 V Current: 6.940 uA Power: 29.20 uWRun the server (REST + MCP)
python emk850_mcp_server.py --port COM19 --http 37749The app is now a real MCP server (Streamable HTTP transport) while still exposing the REST endpoints, both in one process:
REST: open
http://localhost:37749— any HTTP client works for power query, output control, zeroing, and device status.MCP: connect to
http://localhost:37749/mcp— works with Claude Desktop, Cursor, MCP Inspector, and any other MCP client.
REST endpoints:
Endpoint | Method | Description |
| GET | read power (V/I/P, auto start→sample→stop) |
| POST | set output: |
| POST | no-load zero, requires |
| GET | version / calibration config / service & device status |
| POST | manually start / stop sampling |
MCP tools (auto-derived from the REST routes, named by route operationId):
Tool | Inputs | Description |
| settle_s, sample_s | read power (V/I/P) |
| – | read device version |
| – | read calibration config |
| – | manually start / stop sampling |
| state, voltage | set output voltage / cut power (power-cycle a sleeping MCU) |
| confirm, wait_s | no-load zero (requires |
| port | serial port management |
| – | service & device status |
Connect an MCP client
MCP endpoint: http://localhost:37749/mcp
MCP Inspector / debugging tool: pick the Streamable HTTP transport, point it at
http://localhost:37749/mcp, and you caninitialize, list the tools above viatools/list, and call them viatools/call.Claude Desktop / Cursor: register the URL as a remote MCP server.
Use case: wake a sleeping MCU
In low-power scenarios the MCU enters deep sleep and the debugger disconnects; use the instrument to power-cycle it awake:
Cut power:
POST /output {"state":"off"}Wait 10-15 s for caps to discharge
Restore 3.3V:
POST /output {"state":"on","voltage":3.3}Chip resets, debugger reconnects
Note:
"off"sets 0mV because the protocol has no direct off command. At 0mV the sense terminals still read ~2.6V; verify with a multimeter before assuming the DUT actually lost power, don't rely on this alone to judge that the chip powered down.
Protocol highlights (reverse-engineered)
Serial link: 115200 / 8N1
Frame: fixed 64 bytes, header
0x33, with0x40continuation-frame fragmentationGotcha: discard the vendor's block-read approach; use a streaming state machine to guarantee sync reliability.
Full command table and conversion math are in docs/EMK850_PROTOCOL.md.
Caveats
The serial port is exclusively occupied; while the HTTP server runs, do not use the vendor app at the same time.
No-load zeroing requires disconnecting all loads, otherwise measurement error is introduced.
The device auto-ranges; current data on uncalibrated gears will be automatically skipped.
Disclaimer
This project's protocol was obtained by reverse-engineering the vendor's host software and is unrelated to and not officially endorsed by the manufacturer (Yingjia / 英加). Firmware or model upgrades may cause incompatibility; use at your own risk.
Project: https://github.com/createskyblue/Yingjia_EMK850_low-power_analyzer_MCP
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-quality-maintenanceEnables AI assistants to interact with physical serial port devices across platforms (Windows COM/Linux tty) with support for asynchronous communication, URC pattern recognition, and structured logging.1
- AlicenseAqualityCmaintenanceEnables AI assistants to communicate with serial port devices, supporting port management, data transmission in text/binary modes, interactive terminal sessions, and automatic reconnection.1411MIT
- AlicenseAqualityDmaintenanceEnables LLMs to communicate with hardware devices via serial ports. Provides tools for listing ports, opening/closing connections, reading/writing data, and controlling serial signals.8MIT
- AlicenseAqualityAmaintenanceMCP server that lets LLMs talk to serial devices: microcontrollers, routers, modems, embedded Linux, anything with a UART.234MIT
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
FastMCP server for posting formatted content to X (Twitter) — Tollbooth-monetized, DPYC-native
A basic MCP server to operate on the Postman API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/createskyblue/Yingjia_EMK850_low-power_analyzer_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server