Brand rules for AI outputs. Validate and rewrite text to match your brand voice.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http
verified
reported
listed in the official MCP registry counts 9 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
get_copy_patterns
-
get_cta_rules
-
get_tokens
-
get_voice_rules
-
learn_voice
-
list_packs
-
rewrite_to_style
-
suggest_ctas
-
validate_text
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit fb5ea98 · analyzer v33 · 3w ago
skills & prompt files 26
- agent-rules DistinctlyDeveloped-stylemcp-fb5ea98/AGENTS.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/ab-test-setup/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/analytics-tracking/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/competitor-alternatives/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/content-strategy/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/copy-editing/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/copywriting/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/email-sequence/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/form-cro/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/free-tool-strategy/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/launch-strategy/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/marketing-ideas/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/marketing-psychology/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/onboarding-cro/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/page-cro/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/paid-ads/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/paywall-upgrade-cro/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/popup-cro/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/pricing-strategy/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/product-marketing-context/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/programmatic-seo/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/referral-program/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/schema-markup/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/seo-audit/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/signup-flow-cro/SKILL.md
- skill DistinctlyDeveloped-stylemcp-fb5ea98/skills/social-content/SKILL.md
danger signals1
- suspicious endpoint api.telegram.org DistinctlyDeveloped-stylemcp-fb5ea98/src/server/error-capture.ts :362
const url = `https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage`;
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 47
filesystem 10
- fs DistinctlyDeveloped-stylemcp-fb5ea98/action/src/index.ts :4
import { readFile } from 'fs/promises'; - fs DistinctlyDeveloped-stylemcp-fb5ea98/src/cli/index.ts :5
import { readFile } from 'fs/promises'; - fs (weak) DistinctlyDeveloped-stylemcp-fb5ea98/src/docs/placeholder-urls.test.ts :2
import { readFileSync } from 'fs'; - fs (weak) DistinctlyDeveloped-stylemcp-fb5ea98/src/landing/auth-integration.test.ts :2
import { readFileSync } from 'fs'; - fs (weak) DistinctlyDeveloped-stylemcp-fb5ea98/src/landing/dashboard-config.test.ts :2
import { readFileSync } from 'fs'; - fs (weak) DistinctlyDeveloped-stylemcp-fb5ea98/src/landing/demo-hint.test.ts :2
import { readFileSync } from 'fs'; - fs (weak) DistinctlyDeveloped-stylemcp-fb5ea98/src/landing/no-duplicate-html-trees.test.ts :2
import { existsSync } from 'fs'; - fs DistinctlyDeveloped-stylemcp-fb5ea98/src/learn/voice-analyzer.ts :1
import { writeFile, mkdir } from 'fs/promises'; - fs DistinctlyDeveloped-stylemcp-fb5ea98/src/server/error-capture.ts :9
import { promises as fs } from 'fs'; - fs DistinctlyDeveloped-stylemcp-fb5ea98/src/utils/pack-loader.ts :1
import { readFile, stat } from 'fs/promises';
network 7
- net DistinctlyDeveloped-stylemcp-fb5ea98/extensions/chrome/background/service-worker.js :44
const response = await fetch(`${API_BASE}/validate`, { - net DistinctlyDeveloped-stylemcp-fb5ea98/extensions/chrome/content/content.js :135
const response = await fetch('https://stylemcp.com/api/validate', { - net DistinctlyDeveloped-stylemcp-fb5ea98/extensions/chrome/popup/popup.js :54
const response = await fetch(`${API_BASE}/packs`, { - net DistinctlyDeveloped-stylemcp-fb5ea98/src/learn/index.ts :144
response = await fetch('https://api.anthropic.com/v1/messages', { - net DistinctlyDeveloped-stylemcp-fb5ea98/src/rewriter/ai-rewriter.ts :145
response = await fetch('https://api.anthropic.com/v1/messages', { - net DistinctlyDeveloped-stylemcp-fb5ea98/src/server/error-capture.ts :363
await fetch(url, { - net (weak) DistinctlyDeveloped-stylemcp-fb5ea98/test-ai-validation.js :58
const response = await fetch(`${baseUrl}/api/ai-output/validate`, {
secrets 7
- secrets DistinctlyDeveloped-stylemcp-fb5ea98/src/learn/index.ts :113
const effectiveApiKey = apiKey || process.env.ANTHROPIC_API_KEY; - secrets DistinctlyDeveloped-stylemcp-fb5ea98/src/rewriter/ai-rewriter.ts :129
const effectiveApiKey = apiKey || process.env.ANTHROPIC_API_KEY; - secrets DistinctlyDeveloped-stylemcp-fb5ea98/src/server/billing.ts :6
const SUPABASE_SERVICE_KEY = process.env.SUPABASE_SERVICE_KEY || ''; - secrets DistinctlyDeveloped-stylemcp-fb5ea98/src/server/error-capture.ts :51
const TELEGRAM_BOT_TOKEN = process.env.TELEGRAM_BOT_TOKEN || ''; - secrets DistinctlyDeveloped-stylemcp-fb5ea98/src/server/http.ts :84
const API_KEY = process.env.STYLEMCP_API_KEY || ''; - secrets DistinctlyDeveloped-stylemcp-fb5ea98/src/server/middleware/auth.ts :17
const LEGACY_API_KEY = process.env.STYLEMCP_API_KEY || ''; - secrets (weak) DistinctlyDeveloped-stylemcp-fb5ea98/test-ai-validation.js :62
'X-Api-Key': process.env.STYLEMCP_API_KEY || 'test-key'
tool registrations 9
- validate_text DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :73
- rewrite_to_style DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :96
- get_voice_rules DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :128
- get_copy_patterns DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :146
- get_cta_rules DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :164
- get_tokens DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :181
- suggest_ctas DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :199
- list_packs DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :217
- learn_voice DistinctlyDeveloped-stylemcp-fb5ea98/src/server/index.ts :225
install hooks 1
- prepublishOnly DistinctlyDeveloped-stylemcp-fb5ea98/package.json :21
npm run build
declared dependencies 23
- @modelcontextprotocol/sdk@^1.0.0
- @supabase/supabase-js@^2.91.1
- chalk@^5.3.0
- commander@^12.1.0
- cors@^2.8.6
- diff@^5.2.0
- express@^5.2.1
- js-yaml@^4.1.0
- stripe@^14.25.0
- zod@^3.23.8
- helmet@^7.2.0
- express-rate-limit@^7.5.0
show 11 more
- @eslint/js@^9.39.2
- @types/cors@^2.8.19
- @types/diff@^5.2.1
- @types/express@^5.0.6
- @types/js-yaml@^4.0.9
- @types/node@^20.14.0
- eslint@^9.39.2
- puppeteer@^24.36.1
- typescript@^5.5.0
- typescript-eslint@^8.54.0
- vitest@^1.6.0
clipboard 1
- navigator.clipboard DistinctlyDeveloped-stylemcp-fb5ea98/extensions/chrome/background/service-worker.js :105
navigator.clipboard.writeText(rewritten);