Skip to content

v0.2.0

Choose a tag to compare

@epicDirk epicDirk released this 04 Jul 04:42
· 787 commits to main since this release

Read-only MCP server for EPICS control systems. Pre-1.0 (active development — the tool/API surface may still change).

What it is

An MCP server that lets an assistant read and diagnose an EPICS control system, read-only by default and localhost-isolated. It sees several planes: live PVs (p4p — PVAccess + Channel Access), the ChannelFinder registry, the Archiver Appliance, the Phoebus Alarm config, the ESS Naming Service, .bob displays and IOC st.cmd/.db.

Highlights

  • Core PV tools — read, batch-read, monitor, info, discover, validate connectivity (read-only; the single write tool is triple-gated and off by default).
  • Cross-plane — provenance (epics-crossplane), coverage audit (epics-coverage), and connection diagnosis (epics-diagnose) as both MCP tools and standalone CLIs.
  • Safety posture — no network egress until you widen the EPICS address list; REST planes stay disabled until their *_URL is set; opt-in path boundary.

This release

A large internal quality remediation landed for 0.2.0: the CLI⇄tool orchestration was unified, the four REST clients now share one retrying-session/GET substrate, the service layer no longer imports the tool layer (enforced by a guard test), the concurrent batch fallback was hardened, and coverage rose to ~93% (357 tests, mypy --strict, ruff clean).

See README.md, ARCHITECTURE.md, and CHANGELOG.md.