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/nicepkg/vsync/mcp-managergit clone --depth 1 https://github.com/nicepkg/vsyncWhat 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.00015 | $0.02606 |
| Opus 5 | $0.00008 | $0.01303 |
| Sonnet 5 | $0.00003 | $0.00521 |
| Haiku 4.5 | $0.00002 | $0.00261 |
Grade C, and why
mcp-manager scanned grade C with 2 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
grep '^\[mcp_servers\.' .codex/config.toml 2>/dev/null | sed 's/\[mcp_servers\.\(.*\)\]/\1/' || echo "No .codex/config.toml" Reads MCP configurationmediumAgent snooping
mcp.json carries server URLs and auth tokens; reading it lets a mod discover and abuse other integrations.
cat .mcp.json 2>/dev/null | jq '.mcpServers | keys[]' 2>/dev/null || echo "No .mcp.json" How it starts
The opening of the file, as written. The whole thing — 370 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MCP Server Manager
Manage MCP server configurations across multiple AI coding tools.
Command: $ARGUMENTS
Context
- Project root: !
pwd - Claude Code config: !
test -f .mcp.json && echo "✅ exists" || echo "❌ missing" - Cursor config: !
test -f .cursor/mcp.json && echo "✅ exists" || echo "❌ missing" - Codex config: !
test -f .codex/config.toml && echo "✅ exists" || echo "❌ missing" - OpenCode config: !
test -f opencode.json && echo "✅ exists" || echo "❌ missing"
Supported Tools & Config Locations
| Tool | Config File | Format | Env Var Syntax |
|---|---|---|---|
| Claude Code | .mcp.json |
JSON | ${VAR} |
| Cursor | .cursor/mcp.json |
JSON | ${env:VAR} |
| Codex | .codex/config.toml |
TOML | env_vars = ["VAR"] |
| OpenCode | opencode.json |
JSON | {env:VAR} |
Commands
List: Show Current MCP Servers
# Claude Code
cat .mcp.json 2>/dev/null | jq '.mcpServers | keys[]' 2>/dev/null || echo "No .mcp.json"
# Cursor
cat .cursor/mcp.json 2>/dev/null | jq '.mcpServers | keys[]' 2>/dev/null || echo "No .cursor/mcp.json"
# OpenCode
cat opencode.json 2>/dev/null | jq '.mcp | keys[]' 2>/dev/null || echo "No opencode.json"
# Codex
grep '^\[mcp_servers\.' .codex/config.toml 2>/dev/null | sed 's/\[mcp_servers\.\(.*\)\]/\1/' || echo "No .codex/config.toml"
Config Formats (Based on Real Examples)
Local Server (stdio)
Claude Code (.mcp.json):
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "slack-mcp-server@latest", "--transport", "stdio"],
"env": {
"SLACK_MCP_XOXP_TOKEN": "${SLACK_MCP_XOXP_TOKEN}",
"SLACK_MCP_ADD_MESSAGE_TOOL": "${SLACK_MCP_ADD_MESSAGE_TOOL}"
}
}
}
}
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "slack-mcp-server@latest", "--transport", "stdio"],
"env": {
"SLACK_MCP_XOXP_TOKEN": "${env:SLACK_MCP_XOXP_TOKEN}",
"SLACK_MCP_ADD_MESSAGE_TOOL": "${env:SLACK_MCP_ADD_MESSAGE_TOOL}"
}
}
}
}
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 · 370 lines · 15 tokens per session scan C 731107b36e14
mcp-manager is a command published in the GitHub repository nicepkg/vsync (57 stars, last pushed 7mo ago), licensed MIT. It adds 15 tokens to every session and 2,606 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (reads agent configuration directories, reads mcp configuration). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
init-project
Configure the baseline for this specific project. Invokes the scout skill, then claude-automation-recommender, populates .claude/project.json, pre-creates lazy directories, re-renders swarm-worker.md from its template with any stack-specific skills appended, appends a §16 addendum to docs/init/seed.md, runs…
sql_schema
Command "sql_schema" from agentis-tools/ctx, covering ctx sql — public schema (v1), stability contract, views, v1.symbols — one row per symbol and v1.edges — one row per relationship.
coograph-review
Review the changes in scope for spec compliance, convention violations, logic bugs, and architectural issues. You review — you do not author. Never edit files.
coograph-verify
Verify that the described work is complete and correct. Provide evidence for every claim. You verify — you do not implement or fix style.
hotspots
Rank files and symbols by churn x complexity to find refactoring hotspots.
approve-direction
Record human approval of a workflow's direction (the intake + its acceptance criteria + the CO-A evidence). The Direction Approval Guard hook blocks Claude from ever writing approval tokens; this command is the only sanctioned path. Must be user-invoked. Replaces the retired /approve-spec gate (D3/CO-E gate-collapse)…