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 commands/efilkucf/mysql-mcp-plugin/addgit clone --depth 1 https://github.com/Efilkucf/mysql-mcp-pluginWrote 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.
[](https://agentmods.dev/commands/efilkucf/mysql-mcp-plugin/add)<a href="https://agentmods.dev/commands/efilkucf/mysql-mcp-plugin/add"><img src="https://agentmods.dev/badge/commands/efilkucf/mysql-mcp-plugin/add.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00013 | $0.00844 |
| Opus 5 | $0.00006 | $0.00422 |
| Sonnet 5 | $0.00003 | $0.00169 |
| Haiku 4.5 | $0.00001 | $0.00084 |
Grade B, and why
add scanned grade B with 1 finding 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 3d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
|| find ~/.claude/plugins -name cli.js -path '*mysql*' -not -path '*/node_modules/*' 2>/dev/null | head -1 How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add a new MySQL connection to the user's ~/.config/claude-mysql/connections.json.
Resolve the CLI path first
The config CLI lives at dist/cli.js inside this plugin. Resolve its absolute
path before doing anything else, because the command you hand the user runs in
their shell, where ${CLAUDE_PLUGIN_ROOT} is not set:
ls "${CLAUDE_PLUGIN_ROOT}/dist/cli.js" 2>/dev/null \
|| find ~/.claude/plugins -name cli.js -path '*mysql*' -not -path '*/node_modules/*' 2>/dev/null | head -1
Use the absolute path it prints for the rest of this command. If neither finds it, tell the user the plugin build looks incomplete and stop.
Gather the connection details
Ask for these using AskUserQuestion where there are sensible options, and plain
questions otherwise. Never ask for the password — see below.
- Name — short identifier, e.g.
staging-replica. Use$ARGUMENTSif provided. - Is the database reachable directly from this machine, or only via a bastion?
- Direct — ask for host and port.
- Via SSH bastion — ask for the database host and port as resolved from the
bastion (not
127.0.0.1), then the bastion host, SSH user, and whether to use the SSH agent (default) or a key file. - Already tunnelled locally — host is
127.0.0.1with the forwarded port. Ask for the command that starts the tunnel and pass it as--tunnel-hintso failures tell the user what to run.
- MySQL user and default database (optional).
- Capabilities — offer these as options and explain that the plugin refuses
anything outside the set, while MySQL's own GRANTs remain the real boundary:
select,schema_read— read-only (recommended default)select,schema_read,insert,update— read and modify rows, no deletesselect,schema_read,insert,update,delete— full row accessselect,schema_read,insert,update,delete,ddl— plus schema changes- Anything including
droporadminshould be chosen deliberately; say so.
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.
- 3d ago First seen · 72 lines · 13 tokens per session scan B 050a0ca5e110
add is a command published in the GitHub repository Efilkucf/mysql-mcp-plugin (0 stars, last pushed 21d ago), licensed MIT. It adds 13 tokens to every session and 844 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
review-renovate
Review and merge renovate PRs with automerge configuration updates.
monitor-ci
Monitors pull request CI checks until they are resolved (pass or fail).
plan-regression-tests
Plan regression tests for existing code with it.skip statements.
config
Command "config" from sdebruyn/fabric-dw-mcp-cli, covering configuration & defaults, http retry budget, sql retry budget, mcp workspace allowlist {#mcp-workspace-allowlist} and mcp server log level.
database-setup
Use when a project needs to store data and has no database yet. Setting up Supabase, creating tables, writing queries, and connecting them to the frontend. Written for designers.
ingest
Manually add knowledge to the Weaviate store.