mcpField
S
stylemcp

stylemcp

Local
github.com/3DUNLMTDBusiness & Marketing0Updated 34w ago

About stylemcp

StyleMCP checks and rewrites text against brand rules for teams that need AI-generated copy to follow a defined voice. It offers a REST API, CLI, GitHub Action, and MCP server, with editable style packs for managing rules.

Key features

  1. 01Validate text against brand rules
  2. 02Rewrite text to match a brand voice
  3. 03Configure style packs with YAML
  4. 04Check copy from the CLI
  5. 05Review changes in GitHub Actions

Use cases

  1. 01Check product interface copy before release
  2. 02Rewrite AI-generated copy to fit a brand
  3. 03Catch off-brand text in pull requests
  4. 04Set distinct voice rules for multiple brands

MCP support

As an MCP server, StyleMCP provides tools for text validation and rewriting, voice rules, copy patterns, CTA rules, design tokens, and listing style packs.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"3dunlmtd-stylemcp": {
"command": "npx",
"args": [
"-y",
"stylemcp"
]
}
}
}
Run commandnpx -y stylemcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmstylemcp0.1.4

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

StyleMCP

Executable brand rules for AI models and agents. Keep every AI-generated message on-brand.

What is StyleMCP?

StyleMCP validates and rewrites AI-generated text to match your brand voice. Use it as:

  • REST API - Validate text from any application
  • MCP Server - Direct integration with Claude and other AI agents
  • CLI - Check copy in your terminal or CI/CD
  • GitHub Action - Catch off-brand copy in pull requests

Quick Start

API
curl -X POST https://stylemcp.com/api/validate \
  -H "Content-Type: application/json" \
  -d '{"text": "Click here to learn more!"}'

Response:

{
  "valid": false,
  "score": 65,
  "violations": [
    {
      "rule": "no-click-here",
      "severity": "error",
      "message": "Avoid 'click here' - describe the destination instead",
      "suggestion": "Learn more about our features"
    }
  ]
}
CLI
# Install
npm install -g stylemcp

# Validate text
stylemcp validate "Click here to learn more"

# Validate file
stylemcp validate src/copy/homepage.json --pack saas

# Rewrite text
stylemcp rewrite "Please utilize our product" --mode aggressive
MCP (Claude Desktop)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "stylemcp": {
      "command": "npx",
      "args": ["stylemcp"]
    }
  }
}

Now Claude can validate and rewrite text using your brand rules.

API Endpoints

MethodEndpointDescription
POST/api/validateValidate text against brand rules
POST/api/rewriteRewrite text to match brand voice
POST/api/validate/batchValidate multiple texts
GET/api/packsList available style packs
GET/api/packs/{pack}/voiceGet voice guidelines
GET/api/packs/{pack}/ctasGet CTA rules
GET/api/mcp/sseMCP SSE endpoint
POST/api/mcp/callMCP tool calls

Style Packs

StyleMCP uses style packs - YAML files that define your brand rules.

Available Packs
PackBest ForKey Features
saasB2B SaaS productsProfessional, clear, helpful tone
ecommerceDTC & retail brandsFriendly, conversion-focused, no pushy CTAs
healthcareMedical & wellnessCompliant language, no cure claims, person-first
financeFintech & bankingPrecise, risk-aware, no guaranteed returns
Example: saas Pack
  • Vocabulary: Prefer "use" over "utilize", "help" over "assist"
  • Forbidden words: "synergy", "leverage", "cutting-edge", "game-changing"
  • Patterns to avoid: "click here", "we're sorry for any inconvenience"
  • CTA rules: Avoid "Submit", "Click here", "OK" - prefer "Save", "Create", "Sign up"
Pack Structure
packs/
  my-brand/
    manifest.yaml      # Pack metadata
    voice.yaml         # Tone, vocabulary, forbidden words
    copy_patterns.yaml # Reusable copy templates
    cta_rules.yaml     # Button/CTA guidelines
    tokens.json        # Design tokens (optional)
Create Your Own Pack
# Copy the default pack
cp -r packs/saas packs/my-brand

# Edit the rules
nano packs/my-brand/voice.yaml

# Use your pack
curl -X POST https://stylemcp.com/api/validate \
  -d '{"text": "Your text", "pack": "my-brand"}'
voice.yaml Example
tone:
  summary: "Friendly, clear, and helpful"
  attributes:
    - name: friendly
      weight: 0.8
    - name: professional
      weight: 0.7

vocabulary:
  rules:
    - preferred: "use"
      avoid: ["utilize", "leverage"]
    - preferred: "help"
      avoid: ["assist", "facilitate"]

  forbidden:
    - "synergy"
    - "paradigm shift"
    - "game-changing"

doNot:
  - pattern: "click here"
    reason: "Poor accessibility"
    suggestion: "Describe the destination"
    severity: error

  - pattern: "\\b(obviously|simply|just)\\b"
    isRegex: true
    reason: "Can make users feel stupid"
    severity: warning

Self-Hosting

Docker
# Clone the repo
git clone https://github.com/3DUNLMTD/stylemcp.git
cd stylemcp

# Set up environment
echo "STYLEMCP_API_KEY=$(openssl rand -hex 32)" > .env

# Run with Docker
docker compose up -d

# Check health
curl http://localhost:3000/health
Manual
# Install dependencies
npm install

# Build
npm run build

# Start server
npm start

GitHub Actions

name: Brand Check
on: [pull_request]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Validate copy
        run: |
          npx stylemcp validate src/copy/*.json \
            --min-score 80 \
            --format github

Environment Variables

VariableDescriptionDefault
PORTServer port3000
STYLEMCP_API_KEYAPI key for authentication(none)
GITHUB_WEBHOOK_SECRETGitHub webhook secret(none)

MCP Tools

When used as an MCP server, StyleMCP provides these tools:

ToolDescription
validate_textValidate text against brand rules
rewrite_to_styleRewrite text to match brand voice
get_voice_rulesGet voice and tone guidelines
get_copy_patternsGet approved copy patterns
get_cta_rulesGet CTA guidelines
get_tokensGet design tokens
list_packsList available style packs

What Gets Validated?

The saas pack checks for:

Vocabulary
  • Use simple words: "use" not "utilize", "help" not "assist"
  • Avoid jargon: "synergy", "leverage", "paradigm shift"
  • Avoid weak intensifiers: "very", "really", "extremely"
Patterns
  • No "click here" (accessibility issue)
  • No "we're sorry for any inconvenience" (corporate non-apology)
  • No double "please" (sounds desperate)
  • No starting with "Sorry" (lead with solutions)
CTAs
  • Avoid generic: "Submit", "OK", "Yes/No", "Click here"
  • Use specific actions: "Save", "Create", "Sign up", "Export"
  • Max 4 words
Constraints
  • Max 25 words per sentence
  • No exclamation marks (in most contexts)
  • First-person plural ("we", "our")
  • Oxford comma

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.