Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-zoharbabin-brand-voice": {
"args": [
"-y",
"brand-voice"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A PostToolUse hook checks every Markdown file Claude writes or edits against your brand guidelines and signals Claude to correct violations before saving. Visual identity — colors, fonts, logo URLs — lives in the same guidelines file so Claude can reference them when generating any brand-compliant asset. Includes an MCP server for on-demand analysis and a /brand-voice-setup skill for guided onboarding.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'brand-voice' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked brand-voice against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / marketing
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
An open-source AI agent that brings the power of Gemini directly into your terminal.
MCP Security Weekly
Get CVE alerts and security updates for io.github.zoharbabin/brand-voice and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Brand writing enforcement for Claude Code — automatic, configurable, zero-friction.
Every time Claude writes or edits a Markdown file, brand-voice checks it against your brand guidelines and signals Claude to fix violations before the file saves. No manual review. No rule reminders in every prompt.
Claude reads the violation list, corrects the file, and retries the write — automatically.
Your brand guidelines live in a doc somewhere. Claude doesn't read them unless you paste them into every prompt. Even then, the rules drift over time.
brand-voice makes the rules structural:
.brand-voice-ignore for whole files, <!-- brand-voice-disable-line --> for individual linesnpm install -g brand-voice
Or run without installing:
npx brand-voice@latest check
Requires Node.js 18+.
Run the setup skill inside any Claude Code session:
/brand-voice-setup
The skill does everything:
brand-guidelines.md to your projectCLAUDE.md.claude/settings.json.mcp.jsonAfter setup, every .md and .mdx file Claude touches is checked automatically.
# 1. Install
npm install -g brand-voice
# 2. Create brand-guidelines.md in your project root (see schema below)
# 3. Register the hook
brand-voice setup
Three components work together:
| Component | What it does |
|---|---|
PostToolUse hook (brand-voice-check) | Runs after every Write/Edit/MultiEdit on .md/.mdx; exits 2 with violations so Claude auto-corrects, exits 0 when clean |
MCP server (brand-voice-mcp) | Exposes analyze_readability and apply_suggestions for on-demand analysis and word-level fixes |
CLI (brand-voice) | Standalone checker for CI pipelines, ratchet baselines, and GitHub PR annotations |
| Rule | Severity | Description |
|---|---|---|
| Forbidden terms | error | Whole-word, case-insensitive match — blocks the write |
| Avoid terms | warning | Same matching — signals a preferred alternative |
| Sentence length | warning | Configurable max words per sentence (default: 25) |
| Passive voice | warning | Auxiliary + past-participle pattern detection |
| Readability grade | warning | Flesch-Kincaid grade per sentence vs. your target |
Code blocks, inline code, indented blocks, and table rows are never checked — only prose.
| Code | Meaning |
|---|---|
0 | No violations — file accepted |
2 | Violat |