stylemcp
Brand rules for AI outputs. Validate and rewrite text to match your brand voice.
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"stylemcp": {
"args": [
"stylemcp@0.1.4"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
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