For a long time, when I asked Claude questions about my Claude Code configuration, I'd get correct but generic answers.
"You can add AUTOCOMPACT_PCT_OVERRIDE to your env block. Here's how that works…"
Accurate. Helpful. But untethered from my actual setup. Claude didn't know what was in my settings.json. It was answering the question in the abstract.
I've been building tools for Claude Code configuration for a few months now. Last week I shipped the MCP server version and installed it in my own setup. The first thing I did was ask the same kind of question.
The difference was immediate.
What I asked
Check my Claude Code settings — here's my settings.json: [paste]
That's the whole prompt. Claude's response:
## Claude Code Settings Audit
**Score: 4/6 — Functional**
### ✓ Passing (4)
- AUTOCOMPACT_PCT_OVERRIDE
- MAX_THINKING_TOKENS
- IDLE_THRESHOLD_MINUTES
- permissions.allow list
### ✗ Gaps (2)
**skipDangerousModePermissionPrompt**
Set "skipDangerousModePermissionPrompt": true and configure an explicit allow list.
Without this, every tool call interrupts automation flows.
**hooks configured**
Add a hooks block with at least a "Stop" hook. Example: trigger a sound or
a summary when Claude finishes a session.
Scored. Specific to my config. Two exact gaps with exact fixes.
Not "here's how AUTOCOMPACT_PCT_OVERRIDE works in general." Here's what your setup has, here's what it's missing, here's the fix.
Why this is different from asking without the MCP server
When you ask Claude about your settings.json without an MCP server, you're asking a general-purpose assistant to analyze a config format it knows about from training data.
When you ask Claude about your settings.json with @vibetokens/mcp installed, Claude is calling a tool that:
- Parses the JSON
- Runs a defined set of checks against known-good configurations
- Returns structured output — score, passing checks, failing checks, specific fixes
The MCP server is a protocol. Claude doesn't have to reason about what "good" settings look like from training data — it's calling a tool that was built to answer exactly this question.
The output is deterministic. The fixes are exact. The score is consistent.
The follow-up I wasn't expecting
After the audit, I asked a follow-up question about coordinator mode. Without the MCP server, this is a conversation where I'd have to supply context — here's what I know, here's what I'm trying to do, explain how it works.
Instead, I just asked: "How do I actually use coordinator mode in practice?"
Claude called get_claude_code_tips with topic "coordinator mode" and returned:
## Coordinator Mode Patterns
Activation: CLAUDE_CODE_COORDINATOR_MODE=1 claude
Works best for:
- Content batches: "Write 8 posts on these topics: [list]" → 8 parallel workers
- Multi-site audits: "Audit these 6 sites for SEO gaps" → 6 parallel workers
- Lead research: "Research these 10 companies" → 10 parallel workers
Limits:
- Best on 3-15 parallel tasks. Beyond 15, context management becomes the constraint.
- Not effective for linear tasks where step B depends on step A's output.
The right information at the right level of depth, without me having to frame the question carefully or supply the context.
What's happening under the hood
MCP servers give Claude access to tools it can call during a session. The tool calls are transparent — Claude decides when to use them based on your question, calls them, gets the output, and incorporates it into the response.
@vibetokens/mcp has four tools:
audit_settings— audits your settings.jsonget_hidden_features— complete reference of undocumented CLI flags, env vars, slash commandsget_claude_code_tips— patterns for CLAUDE.md, coordinator mode, hooks, effort flagget_operator— full OPERATOR details when you want the complete kit
Claude uses these when they're relevant to what you're asking. You don't have to invoke them manually — you just ask naturally, and Claude figures out which tool to call.
The install is one JSON block
{
"mcpServers": {
"vibetokens": {
"command": "npx",
"args": ["-y", "@vibetokens/mcp"]
}
}
}
Add to ~/.claude/claude_desktop_config.json. Restart Claude. Done.
No npm install required. npx downloads and runs the latest version on first use. Every subsequent run uses the cached version unless there's an update.
What I actually changed after the audit
Two fixes. Both took about 90 seconds.
Added skipDangerousModePermissionPrompt: true — my setup already had an allow list, so this was a one-line change. Immediately stopped getting interrupted on every Bash command in automation flows.
Added a Stop hook that plays a sound when Claude finishes. I have Claude running on long tasks fairly often. Now I don't have to watch the terminal. I just work, and I hear the chime when it's done.
Tiny changes. I had a 4/6 setup. I now have a 6/6 setup.
That's what the audit is for.
→ vibetokens.io/mcp — install instructions, full tool reference → vibetokens.io/tools/claude-code-audit — browser version if you prefer
