raven-mcp 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,40 +2,46 @@
2
2
 
3
3
  **Odin's ravens brought back knowledge of the world — Raven brings back design intelligence.**
4
4
 
5
- A design knowledge MCP server that Claude can query when generating UI. Three layers: principles, patterns, and business strategy.
5
+ A design knowledge MCP server that Claude can query when generating UI. Five layers: principles, patterns, content design systems, business strategy, and design tokens.
6
6
 
7
7
  ## What it does
8
8
 
9
9
  Raven gives Claude access to a comprehensive design knowledge base:
10
10
 
11
- - **Principles** — Nielsen's 10 Heuristics, all 21 Laws of UX, Gestalt principles, WCAG accessibility, typography rules, color theory, mobile UX, and D4D framework
12
- - **Patterns** — Proven UI patterns for signup flows, pricing pages, navigation, forms, landing pages, dashboards, modals, empty/error/loading states, CTAs, social proof, and mobile conversion
11
+ - **Principles** — Nielsen's 10 Heuristics, all 21 Laws of UX, Gestalt principles, WCAG accessibility, typography rules, color theory, mobile UX, D4D framework, and UX writing principles
12
+ - **Patterns** — Proven UI patterns for signup flows, pricing pages, navigation, forms, landing pages, dashboards, modals, empty/error/loading states, CTAs, social proof, mobile conversion — plus content patterns for error messages, empty-state copy, notifications, and form validation
13
+ - **Content systems** — Voice & tone guides from real brands: Mailchimp, GOV.UK, Shopify Polaris, Atlassian, and Intuit
13
14
  - **Business** — Monetization models, retention strategies, onboarding optimization, growth mechanics, and product metrics frameworks
14
- - **Tokens** — Design system tokens for Stripe, Linear, and more (registry of 7 systems, 2 fully populated)
15
+ - **Tokens** — Design system tokens for Stripe, Linear, and more
15
16
 
16
- ## Setup
17
+ ## Install
17
18
 
19
+ ### Claude Code — one command
18
20
  ```bash
19
- cd raven-mcp
20
- npm install
21
- npm run build
21
+ claude mcp add raven -- npx -y raven-mcp
22
22
  ```
23
23
 
24
- ## Add to Claude Code
25
-
26
- Add to your Claude Code MCP config (`~/.claude/claude_desktop_config.json` or project `.mcp.json`):
27
-
24
+ ### Manual config (Claude Desktop or team `.mcp.json`)
28
25
  ```json
29
26
  {
30
27
  "mcpServers": {
31
28
  "raven": {
32
- "command": "node",
33
- "args": ["/path/to/raven-mcp/dist/index.js"]
29
+ "command": "npx",
30
+ "args": ["-y", "raven-mcp"]
34
31
  }
35
32
  }
36
33
  }
37
34
  ```
38
35
 
36
+ ### Claude Desktop — one-click extension
37
+ Prefer not to edit JSON? Download [raven.mcpb](https://ravenmcp.ai/raven.mcpb) and double-click it. Claude Desktop installs Raven automatically — no Node, no terminal.
38
+
39
+ ### From source
40
+ ```bash
41
+ git clone https://github.com/rhinocap/raven-mcp.git
42
+ cd raven-mcp && npm install && npm run build
43
+ ```
44
+
39
45
  ## Tools
40
46
 
41
47
  | Tool | Description |
@@ -50,6 +56,27 @@ Add to your Claude Code MCP config (`~/.claude/claude_desktop_config.json` or pr
50
56
  | `list_design_systems` | Browse available design systems |
51
57
  | `get_design_system` | Get tokens for a specific design system |
52
58
  | `compose_system` | Mix tokens from different systems |
59
+ | `get_brand_system` | Get a full system styled like a well-known brand |
60
+ | `audit_page` | Audit HTML/CSS against Raven's quality standards |
61
+ | `audit_layout` | Evaluate visual rhythm, alignment, and optical balance |
62
+ | `generate_design_system` | Generate a custom design system from a brand color |
63
+ | `list_content_systems` | Browse brand voice & tone systems (Mailchimp, GOV.UK, Shopify Polaris, Atlassian, Intuit) |
64
+ | `get_content_system` | Get a brand's voice attributes, tone shifts, vocabulary, grammar, and content patterns |
65
+ | `get_content_principles` | Get UX-writing principles — clarity, active voice, error anatomy, inclusive language |
66
+ | `get_content_pattern` | Get copy recipes for error messages, empty-state copy, notifications, form validation |
67
+ | `raven_reflect` | Summarize your local Raven usage log to find patterns + gaps |
68
+
69
+ ## Learning loop
70
+
71
+ Raven keeps a small **local-only** log of how you use it so you (and Claude) can spot which patterns you build most often and which gaps show up again and again.
72
+
73
+ - **Location:** `~/.raven/usage.jsonl` (override with `RAVEN_USAGE_LOG=/path`).
74
+ - **What's written:** tool name, timestamp, elapsed ms, and a tiny insight object — audit score/warning rule names, pattern `type`, brand company name, search layer. **Never the HTML you audit, never prompt text, never brand copy.**
75
+ - **What's never written:** raw page bodies, client content, your work product.
76
+ - **Disable entirely:** `RAVEN_NO_USAGE_LOG=1`.
77
+ - **Reflect:** ask Claude *"what have I been using Raven for?"* and it will call `raven_reflect`, which reads the log locally and summarizes the last N days — most-used tools, recurring audit warnings (likely knowledge gaps), patterns you request most, design systems you reach for.
78
+
79
+ Nothing is sent to a remote server. If a recurring gap is worth turning into a new Raven principle or pattern, you file an issue by hand — the automated pipeline at [github.com/rhinocap/raven-mcp](https://github.com/rhinocap/raven-mcp) handles it from there.
53
80
 
54
81
  ## Development
55
82
 
@@ -68,5 +95,9 @@ src/data/
68
95
  principles/ # Nielsen, Laws of UX, Gestalt, accessibility, typography, color, mobile, D4D
69
96
  patterns/ # signup, pricing, nav, forms, landing, dashboard, modals, empty/error/loading, CTA, social proof, mobile
70
97
  business/ # monetization, retention, onboarding, growth, metrics
71
- tokens/ # registry.json + systems/ (stripe.json, linear.json)
98
+ tokens/ # registry.json + systems/ (stripe, linear, vercel, …)
99
+ content/ # voice & tone: Mailchimp, GOV.UK, Shopify Polaris, Atlassian, Intuit
100
+ systems/ # registry.json + brand-voice JSONs
101
+ principles/ # UX-writing principles (clarity, active voice, error anatomy, …)
102
+ patterns/ # copy recipes for errors, empty states, notifications, form validation
72
103
  ```
package/SECURITY.md ADDED
@@ -0,0 +1,74 @@
1
+ # Security Policy — Raven MCP
2
+
3
+ ## Data Flow
4
+
5
+ Raven MCP runs entirely locally. Here is the complete data flow:
6
+
7
+ ```
8
+ Claude (prompt) → MCP Protocol (stdio) → Raven MCP (local process) → Response (text)
9
+ ```
10
+
11
+ ### What Raven reads
12
+ - User prompts passed via the MCP protocol from Claude Code or Claude Desktop
13
+ - Static JSON files bundled in the package (design principles, patterns, tokens)
14
+
15
+ ### What Raven returns
16
+ - Text responses (JSON) containing design principles, patterns, tokens, and evaluations
17
+ - All responses are returned via stdio to the calling MCP client (Claude)
18
+
19
+ ### What Raven does NOT do
20
+ - No network requests during tool execution — all data is local JSON loaded at startup
21
+ - No file system reads beyond its own bundled data files
22
+ - No logging of user prompts, code, or design artifacts
23
+ - No collection of PII or customer data
24
+ - No external API calls, database connections, or cloud service integrations
25
+ - No access to environment variables, secrets, or credentials during tool execution
26
+
27
+ ### Optional telemetry (postinstall only)
28
+ On `npm install`, an optional postinstall script sends a single HTTPS POST to `ravenmcp.ai/api/welcome` containing:
29
+ - Node.js version
30
+ - OS platform and architecture
31
+ - Timestamp
32
+
33
+ **No user data, prompts, code, or design artifacts are sent.** This telemetry is limited to install-time only and never runs during tool execution.
34
+
35
+ **To disable:** Set `RAVEN_NO_TELEMETRY=1` before install:
36
+ ```bash
37
+ RAVEN_NO_TELEMETRY=1 npm install raven-mcp
38
+ ```
39
+
40
+ ## Dependencies
41
+
42
+ ### Runtime
43
+ | Package | Purpose | License |
44
+ |---------|---------|---------|
45
+ | `@modelcontextprotocol/sdk` | MCP protocol implementation | MIT |
46
+ | `zod` | Input validation | MIT |
47
+
48
+ ### Dev-only (not shipped)
49
+ | Package | Purpose | License |
50
+ |---------|---------|---------|
51
+ | `typescript` | Build | Apache-2.0 |
52
+ | `tsx` | Dev server | MIT |
53
+ | `@types/node` | Type definitions | MIT |
54
+ | `resend` | Email (dev testing only) | MIT |
55
+
56
+ Zero transitive runtime dependencies beyond the two listed above.
57
+
58
+ ## License
59
+
60
+ MIT — see [LICENSE](./LICENSE).
61
+
62
+ ## Reporting Vulnerabilities
63
+
64
+ Email security concerns to andrew@ravenmcp.ai. Response within 48 hours.
65
+
66
+ ## Enterprise / Compliance Use
67
+
68
+ For enterprise environments requiring:
69
+ - Telemetry disabled: set `RAVEN_NO_TELEMETRY=1`
70
+ - Version pinning: lock to a specific version in `package.json`
71
+ - SBOM: generate with `npm sbom --sbom-format cyclonedx`
72
+ - Audit: run `npm audit` — zero known vulnerabilities as of v1.1.0
73
+
74
+ Raven MCP is designed for local-only, air-gapped use. No network access is required after installation.