Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/opusprojects/cdmon-mcp/claude-mdgit clone --depth 1 https://github.com/OpusProjects/cdmon-mcpWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.02952 | $0.02952 |
| Opus 5 | $0.01476 | $0.01476 |
| Sonnet 5 | $0.00590 | $0.00590 |
| Haiku 4.5 | $0.00295 | $0.00295 |
Grade A, and why
cdmon-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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 206 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Project Guidelines
Notes for working in this repo. Everything user-facing lives in docs/ — this file holds only
what is easy to get wrong and expensive to discover.
What this is
An MCP server and CLI wrapping two interfaces on cdmon shared hosting: FTP and phpMyAdmin. That is the whole remit. It is not a cdmon API client, not a general FTP tool and not a database GUI. Decline scope that widens it — a tool pointed at a production site earns trust by being small enough to read in one sitting.
The caller may be a language model and the target is someone's live website. Every default is the cautious one, and every input is untrusted.
The three things that fail silently
Most of this codebase fails loudly: a login breaks, a transfer errors. These three do not, and they are where the tests are concentrated.
The path guard (resolveInsideRoot in src/ftp.ts). A weakened check throws nothing — it
quietly permits a write or a delete outside the site. Two subtleties, both already fixed and
both easy to reintroduce:
- Normalise the relative path and refuse
..before joining it to the root. Joining first looks equivalent but is not: with a root of/,path.posix.normalizeclamps/../xback to/x, so a traversal silently becomes a valid path and acts on a file the caller never named. isInsidecompares with a trailing separator. Without it a root of/site/webalso accepts/site/web-backup, which is a different directory.
The SQL splitter (src/sql.ts). A bad split does not throw; it sends malformed SQL that may
partially apply. It is a character-by-character state machine, never split(";"). It has to
know about single quotes (including doubled '' and backslash escapes), double quotes,
backticks, -- comments (only when whitespace follows — 5--3 is arithmetic), # comments and
/* */ blocks. /*!40101 ... */ is executable SQL, not a comment; dropping one changes what
a restore does.
Configuration (src/config.ts). A half-configured server starts fine and fails later with a
protocol error naming nothing useful. requireAllOrNone refuses a partly specified half. Keep
it that way, and keep empty strings treated as absent.
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.
- 2d ago First seen · 206 lines · 2,952 tokens per session scan A a988b23f3a71
cdmon-mcp CLAUDE.md is an instructions file published in the GitHub repository OpusProjects/cdmon-mcp (0 stars, last pushed 3d ago), licensed Apache-2.0. It adds 2,952 tokens to every session, about $0.0148 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.
Other instructions, from other repositories
OpenSail AGENTS.md
Instructions for TesslateAI/OpenSail, covering opensail, what is opensail?, architecture overview, technology stack and key code paths.
OpenSail CLAUDE.md
Instructions for TesslateAI/OpenSail, covering critical rule: investigation is read-only, research folder, commit messages, banned - describes development steps, not the diff and good - describes what the full diff actually contains.
ecspresso CLAUDE.md
Instructions for kayac/ecspresso, covering claude.md, project overview, git workflow, build commands and build the binary.
fileterm AGENTS.md
Instructions for St0ff3l/fileterm, covering fileterm agent guide, 1. 项目定位, 2. 先读哪里, 3. 硬性边界 and 架构边界.
mcp-ssh-manager CLAUDE.md
Instructions for bvisible/mcp-ssh-manager, covering claude.md, project overview, architecture, commands and setup and installation.
moosestack copilot-instructions.md
Instructions for 514-labs/moosestack, covering moose repository guide, code standards, required before each commit, development flow and repository structure.