stylemcp

stylemcp

Validates and rewrites AI-generated text to match brand voice, supporting REST API, MCP, CLI, and GitHub Actions.

Category
Visit Server

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

Method Endpoint Description
POST /api/validate Validate text against brand rules
POST /api/rewrite Rewrite text to match brand voice
POST /api/validate/batch Validate multiple texts
GET /api/packs List available style packs
GET /api/packs/{pack}/voice Get voice guidelines
GET /api/packs/{pack}/ctas Get CTA rules
GET /api/mcp/sse MCP SSE endpoint
POST /api/mcp/call MCP tool calls

Style Packs

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

Available Packs

Pack Best For Key Features
saas B2B SaaS products Professional, clear, helpful tone
ecommerce DTC & retail brands Friendly, conversion-focused, no pushy CTAs
healthcare Medical & wellness Compliant language, no cure claims, person-first
finance Fintech & banking Precise, 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

Variable Description Default
PORT Server port 3000
STYLEMCP_API_KEY API key for authentication (none)
GITHUB_WEBHOOK_SECRET GitHub webhook secret (none)

MCP Tools

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

Tool Description
validate_text Validate text against brand rules
rewrite_to_style Rewrite text to match brand voice
get_voice_rules Get voice and tone guidelines
get_copy_patterns Get approved copy patterns
get_cta_rules Get CTA guidelines
get_tokens Get design tokens
list_packs List 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured