EPICS Channel Access MCP Server
Let an AI agent read, monitor and, when you allow it, carefully write EPICS process variables (PVs) over Channel Access. EPICS is the control system behind most particle accelerators, synchrotron and neutron beamlines, large telescopes, fusion experiments and many physics labs. The server uses caproto, a pure-Python CA implementation, so there is nothing to compile and no libca to install. Its 10 documented tools cluster into read & search, update, apply, monitor.
People who work with pvs and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.
One of 32 MCP servers published from k-dense-ai/lab-instrument-mcps. Stars and repository activity are shared across all of them. See all 32 →
VERIFIED ACTIVE
LAST COMMIT 2026-09-26 · VERIFIED 2026-09-30
Apache-2.0 · Python servers · how we verify → /methodology
01 · Install EPICS Channel Access
Claude Code
claude mcp add k-dense-ai-lab-instrument-mcps-servers-p -- uvx labmcp-epics Claude Desktop / Cursor / VS Code - add to config
{
"mcpServers": {
"k-dense-ai-lab-instrument-mcps-servers-p": {
"command": "uvx",
"args": [
"labmcp-epics"
]
}
}
} Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.
Using another client? Same JSON, different key
Claude Desktop · mcpServers
Cursor · mcpServers
VS Code · servers
Windsurf · mcpServers
Zed · context_servers
Cline · mcpServers
Roo Code · mcpServers
Continue · mcpServers
LibreChat · mcpServers
Gemini CLI · mcpServers
Codex CLI · mcp_servers
Full setup guides: every client.
02 · Evidence
Security posture
What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.
runs as local process (stdio) - runs on your machine with your user's permissions
repo age created 2026-09-25 - young repo, little track record yet
license Apache-2.0 - declared in the repository
pypi package labmcp-epics - check the name against the project README before installing (PyPI has no namespace ownership)
registry namespace io.github.K-Dense-AI is GitHub-verified and matches the repo owner
03 · What EPICS Channel Access can do
Prose above is summarized from the project's README and registry record - no invented capabilities.
What you can build
g. set both slit blades). g.
Capability map
Tools grouped from the project's README - what EPICS Channel Access lets an agent do.
read & search
4 tools - e.g. Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done.; Report which instrument is connected (identity…
get_command_log · get_connection_info · get_pv · get_pvs
update
2 tools - e.g. Write a PV. This can move motors, open shutters, change magnet or high-voltage setpoints and heat or cool samples: tell the user exactly what will change first.; Write several PVs in order (e.g. set both…
put_pv · put_pvs
Apply
1 tool - e.g. Emergency action: write the scientist-configured safe-state PVs (--option safe_state, e.g. motor STOP fields, shutter close, HV off), all of them even if one fa
apply_safe_state
Monitor
1 tool - e.g. Subscribe to a PV and collect every value change for duration_s seconds (or until max_updates), then return statistics (min/max/mean/std, drift rate) and the up
monitor_pv
Info
1 tool - e.g. Connection details of a PV: serving IOC host:port, native type, element count, and whether this client has read/write access (EPICS access security) and passes
pv_info
Reconnect
1 tool - e.g. Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).
reconnect
Limitations (from the README)
- Setpoint versus readback: for motor records, NAME (VAL) is the target and NAME.RBV is the actual position. put_pv returns the value read back from the PV you wrote, so read the readback PV separately to confirm physical motion. - Control limits come from the CA DBR_CTRL response. EPICS convention treats equal low and high limits (normally 0/0) as "not configured", and those PVs are only type-checked. - NaN and infi
04 · Who maintains EPICS Channel Access
EPICS Channel Access is maintained by k-dense-ai. We track 32 MCP servers from k-dense-ai - 32 actively maintained, 9 combined GitHub stars, oldest repo from Sep 2026. Full record: all servers from k-dense-ai.
- Tecan Cavro Syringe Pump MCP server for Tecan Cavro syringe pumps (XLP 6000, XMP 6000, XCalibur) over the DT protocol. ★ 9
- Micro-Manager Microscope MCP server for microscopes controlled by Micro-Manager (pymmcore-plus). ★ 9
- Opentrons OT-2 / Flex MCP server for Opentrons OT-2 and Flex liquid-handling robots (HTTP API). ★ 9
- Atlas Scientific EZO Sensors MCP server for Atlas Scientific EZO sensor circuits (pH, ORP, DO, EC, RTD, HUM, CO2, PRS) over UART. ★ 9
- New Era Syringe Pump MCP server for New Era Pump Systems syringe pumps (NE-1000 family, RS-232). ★ 9
- Alicat Mass Flow & Pressure Controller MCP server for Alicat mass flow and pressure meters/controllers. ★ 9
05 · Facts
- repository
- github.com/k-dense-ai/lab-instrument-mcps
- category
- other - actively maintained as of 2026-09-30.
- registry
- io.github.K-Dense-AI/labmcp-epics (active, first published 2026-09-26 · 3 versions)
- packages
- pypi:labmcp-epics
06 · EPICS Channel Access FAQ
Is EPICS Channel Access still maintained?
Yes - as of 2026-09-30, its last commit was 2026-09-26. We re-verify nightly.
What can EPICS Channel Access do?
g. set both slit blades). g.
How do I install EPICS Channel Access?
Run `uvx labmcp-epics`. You can also paste the ready-made client config above.
Does EPICS Channel Access run locally?
Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.
07 · Alternatives to EPICS Channel Access
Alternatives to EPICS Channel Access
Maintained other servers if EPICS Channel Access isn't the fit.
- Heyputer MCP Server Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more ★ 43,609 · 2026-09-29
- Server Commands An MCP server to run arbitrary commands ★ 39,168 · 2026-09-24
- basebalance.cloud - x402 RPC & MCP gateway USDC-gated Base JSON-RPC: free 10 req/min, $0.50 per 10k. Failover, cache, /mcp, ledger. ★ 6,763 · 2026-08-26
- Zotero MCP (54yyyu) Search, read, annotate, and add to your Zotero research library, local or web. ★ 5,203 · 2026-09-30
- Firebase MCP Gives AI development tools Firebase-specific capabilities and expertise. ★ 4,475 · 2026-09-30
- Microsoft Fabric MCP Server MCP tools for interacting with Microsoft Fabric ★ 3,722 · 2026-09-29
More MCP servers to compare · Generic SCPI Instrument · View Doctor · My Cool Proxy · Digilent WaveForms MCP Server · Mockups Gallery
More Python MCP servers · Modbus TCP/RTU Device · SiLA 2 Bridge · Kagura Memory Cloud · Deepmiro · see all