EPICS-MCP: Instructions file for Claude Code

CLAUDE.md

EPICS-MCP CLAUDE.md is an instructions file for Claude Code from epicDirk/EPICS-MCP. It costs 7,644 tokens per session, scanned A, original, MIT.

A repository instruction file for EPICS MCP, a server that carries its operational knowledge alongside its code. It tells AI assistants how the project is organized, how to use its documentation, and which safety rules apply.

In plain words
What is it for?
Read it before modifying the EPICS MCP repository. It helps locate tools and documentation, understand the service’s parts, and follow its knowledge-persistence and write-safety policies.
Why use it?
It gives each new coding session the context needed to work consistently without rediscovering the project’s design and operating rules. It also sets boundaries for actions involving external facilities or systems.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md; mentions Claude Code.

This is epicDirk/EPICS-MCP's own configuration. It tells Claude Code how to work on EPICS-MCP itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything EPICS-MCP configures →

Reuse

Borrowing it

Nothing to install: this file belongs to epicDirk/EPICS-MCP. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/epicDirk/EPICS-MCP/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/epicDirk/EPICS-MCP

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for EPICS-MCP CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/epicdirk/epics-mcp/claude-md.svg)](https://agentmods.dev/instructions/epicdirk/epics-mcp/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/epicdirk/epics-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/epicdirk/epics-mcp/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 7,644 This file is loaded in full into every session.
When invoked 7,644 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.07644 $0.07644
Opus 5 $0.03822 $0.03822
Sonnet 5 $0.01529 $0.01529
Haiku 4.5 $0.00764 $0.00764

Measured 6d ago against content hash e8040b7085b2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

EPICS-MCP CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 404 lines

How it starts

The opening of the file, as written. The whole thing — 404 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md: EPICS MCP

Guidance for an AI assistant (Claude Code and similar) working in this repository. It applies to every session here, including a fresh one with no other skill or project folder loaded; this repo is meant to be self-sufficient.

Role of this file

This server is an autonomous knowledge carrier: its operational knowledge ships with the code, so a session that only has this repository can use and extend the server without re-deriving how the EPICS service landscape behaves. This file is the standing policy that keeps that true.

Orientation: where things live

  • README.md is the landing page: what the server is, the planes, install, and an index of everything below. Keep it short; reference depth belongs in docs/.
  • docs/ holds the reference pages the README indexes: tools.md, configuration.md, safety.md, mcp-clients.md, quick-start.md (three commands to a first answer, with no control system; it lived in the README until it was a quarter of the landing page), deployment.md (bringing the server up in a new facility, the first thing an outside adopter needs), write-gate-contract.md (the specification every in-server write gate must meet) and known-limits.md (what is deliberately not guarded, dated and measured, which the README indexes as well).
  • ARCHITECTURE.md: the server → tools → services → clients layering and the plane model.
  • CONTRIBUTING.md: dev setup, the gate chain, Definition of Done, commit style.
  • SECURITY.md: reporting channel, security posture, and an explicit statement of what the write gates are not.
  • CHANGELOG.md: release history for a USER, in English. A new, changed or removed tool; a breaking change; an error code or field that changed on the wire; a new EPICS_MCP_* var; a bug a user could hit. Not audit runs, test methodology, red-proof notes, tools/list byte budgets, work-item ids, or internal refactors with no user-visible effect: those go to the tiers below, and the work itself is narrated in the commit body. It drifted into a 763-line work journal once, because no rule claimed it. ⚠️ The kind decides the SECTION as well, and that half was missing. A change that moves a value on the wire is a breaking change wherever it is filed, so it belongs under ### Changed, marked BREAKING, and carrying an Are you affected? passage that names what a reader should search for. Filing it under ### Added because new fields arrived with it leaves the entries that DO carry that passage reading as the complete list of the release's breaks, and a reader who is affected concludes they are not. Measured TWICE, and the older case is the reason this is a rule and not an anecdote: [0.7.0] filed the has_display change that way, and [0.4.0] filed a plane status moving from ok to the new no_ingest that way. Only 0.7.0 sprang the trap in full, because only it has entries carrying the passage for a reader to mistake for the whole list; the filing error itself is older than the passage. ⚠️ The line through test vocabulary runs the same way, because "not test methodology" alone never said where it falls: what a USER can OBSERVE belongs in, such as has_display now answering about screens alone; how we convinced ourselves does not, such as a pin widened over a corpus. An entry that declares itself to have no user-visible effect fails the kind test outright and belongs in the commit body, whatever hardening it also does. ⚠️ That rule names a KIND, and a kind alone did not hold, so there is a SIZE as well: one entry under ## [Unreleased] is at most 1400 bytes. Held by tests/test_changelog_discipline.py, where the number is derived from the measured distribution rather than picked (it clears every entry standing today and would have stopped 13 of the 45 in [0.6.0]). It works forward only, by construction and not by exemption: the guard reads the [Unreleased] section and no other, so published history is out of scope rather than excused. An entry that needs more room is usually carrying the analysis as well as the change; that half belongs in the commit body, the guard's own docstring, or the operator guide. ⚠️ Those three are not interchangeable. The sdist ships src, docs and the top-level documents, never tests/ or scripts/, so a package consumer reaches the operator guide and docs/ and neither of the other two. For something a USER has to act on, the operator guide is the alternative that actually arrives. And the cap is about the length of one claim, never about whether the entry belongs: measured, the entries it would have stopped in [0.6.0] include a BREAKING change and four credential fixes.
  • .env.example: the canonical, commented configuration template (every EPICS_MCP_* var).
  • examples/ holds a sample .bob and an mcp.json: the path for someone with no facility at all. The test.db beside them is the ALTERNATIVE rather than the starting point, since running it needs EPICS Base, which this package does not install; epics-testpv is what needs nothing.
  • src/epics_mcp/operator_guide.md: the operational cookbook (service planes, recipes, error signatures). Shipped as package data, served as the epics://guide MCP resource, mirrored for humans by OPERATING.md. One source file, three consumers: never copy it, link it.
  • sandbox/: a LOCAL EPICS test stack (IOC + REST services) for the opt-in live tests. It is git-ignored, so it is absent from every clone; the live tests are pointed at it through EPICS_MCP_* env vars and skip when those are unset.

Read the full file on GitHub · 404 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 404 lines · 7,644 tokens per session scan A e8040b7085b2

Subscribe to this mod's changes

EPICS-MCP CLAUDE.md is an instructions file published in the GitHub repository epicDirk/EPICS-MCP (4 stars, last pushed yesterday), licensed MIT. It adds 7,644 tokens to every session, about $0.0382 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,182 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,469 tokens

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens