sonance-brand-mcp 1.0.0 → 1.1.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.
@@ -90,22 +90,101 @@ font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-s
90
90
 
91
91
  ### Brand Pillars
92
92
 
93
- 1. **Sound Quality & Heritage** - "40+ years of sonic innovation"
94
- 2. **Designed to Disappear** - Invisible integration is core
95
- 3. **Partnership Excellence** - We succeed when our partners succeed
96
- 4. **Premium Experience** - Every touchpoint feels high-end
93
+ 1. **Designed to Disappear** - Technology should disappear into architecture. Our hidden audio solutions deliver an even, balanced sound experience that blends into any style, installation, or budget.
94
+ 2. **Authentic Partnership** - From our customer-centric culture to our Studio Seminars, we aim to define what authentic partnership looks like. Our team is your team.
95
+ 3. **A Heritage of Innovation** - The history of our independently-owned companies is rooted in deep knowledge of our customers and construction—pushing the boundaries of technology and design.
96
+ 4. **Making the World a Better Place** - We believe in using our business and resources as a force for good—focusing on Environmental Impact, Social Responsibility, and Good Governance.
97
97
 
98
- ### Logo Usage
98
+ ---
99
+
100
+ ## Logo Guidelines
101
+
102
+ ### Hero Logo
103
+
104
+ The Sonance logo is clean, lean and all caps. The 2-color version, with "The Beam" (the cyan accent on the "A") should be used for any and all brand communications. One color version is available for unique applications.
105
+
106
+ **Logo Variants**:
107
+ | Variant | Use Case | File Path |
108
+ |---------|----------|-----------|
109
+ | 2 Color (Light BG) | Light backgrounds | `/logos/sonance/Sonance_Logo_2C_Dark_RGB.png` |
110
+ | 2 Color (Dark BG) | Dark backgrounds | `/logos/sonance/Sonance_Logo_2C_Light_RGB.png` |
111
+
112
+ ### The Beam
113
+
114
+ The cyan "A" in Sonance is called "The Beam". It symbolizes sound coming from above and surrounding you with even, balanced comfortability. But it also represents our team coming together with our many partners, and our complete offering of products and heritage of innovation being unified into a single company message.
115
+
116
+ **The Beam Do's**:
117
+ - Use selectively for the most impact
118
+ - Be cautious of the proportion and relationship to the overall brand identity
119
+ - Ensure the complete brand name can be easily put in context with the mark
120
+ - The Beam should appear in approved Sonance colors
121
+ - The Beam should always point upwards or forward
122
+
123
+ **The Beam Don'ts**:
124
+ - The Beam should rarely appear by itself
125
+ - The wordmark or other significant visual indicators of the company should always be nearby
126
+ - Unconsidered or overuse of the beam may dilute the brand message
127
+ - Do not rotate The Beam to point downward (exception: select UI or signage)
128
+ - Do not use unapproved colors for The Beam
129
+
130
+ ### Clear Space
131
+
132
+ Clear space is the area around the logo that is free from any other graphic element. The minimum clear space is equal to the cap height of the logo, a distance that should be maintained to the left, right, top, and bottom.
133
+
134
+ The clear space ensures the logo remains legible and impactful in all applications. Never crowd the logo with other elements. The same clear space rules apply to all Sonance logo lockups, including the tagline.
135
+
136
+ ### Logo Alignment
137
+
138
+ **Center Point**: The mark is not centered on the peak of The Beam. When centering type or other design elements above or below the Sonance logo, use the horizontal centerpoint of the total width of the Sonance logo—not The Beam. This rule applies to all Sonance logo lockups, including trademarked versions.
139
+
140
+ ### Minimum Size
141
+
142
+ | Application | Minimum Width |
143
+ |-------------|---------------|
144
+ | Digital (web, apps) | 120px |
145
+ | Print (business cards, signage) | 1 inch |
146
+
147
+ ### Logo Usage Do's
148
+ - Use 2 color logo on light backgrounds
149
+ - Use reverse logo on Sonance blue
150
+ - Use reverse logo when color isn't an option
151
+ - Use negative space for placement and always observe clear space rules
152
+ - Maintain minimum clear space equal to the cap height of the logo
153
+ - Keep minimum width of 120px for digital applications
154
+
155
+ ### Logo Usage Don'ts
156
+ - Never colorize our logo
157
+ - Never rotate our logo (unless you've received permission)
158
+ - Never add a stroke to our logo
159
+ - Never stretch our logo vertically or horizontally
160
+ - Never place our logo over busy backgrounds
161
+ - Never modify proportions or recreate the logo
162
+
163
+ ### Tagline Lockups
164
+
165
+ When utilizing the Sonance tagline "BEYOND SOUND", use the appropriate lockup based on available space:
166
+
167
+ **Horizontal Lockup**: Use when the space allowed is horizontal. The cap height of the logo serves as a guide to ensure a consistent relationship between the Sonance logo and tagline.
99
168
 
100
- - Use 2-color logo (with cyan Beam) for primary applications
101
- - Use reverse (white) logo on dark backgrounds
102
- - Minimum clear space: equal to cap height of logo
103
- - Minimum width: 120px (digital), 1 inch (print)
169
+ **Vertical Lockup**: Use wherever vertical space allows for it. Use the height of the beam plus the cut as a guide to ensure a consistent relationship.
104
170
 
105
- **Don'ts**:
106
- - Never colorize, rotate, stretch, or add strokes to the logo
107
- - Never place on busy backgrounds
108
- - Never modify proportions
171
+ ### Sonance Foundation
172
+
173
+ The Sonance Foundation logo is clean, lean and all caps. The 2 color version, with the arrow (the green accent) should be used for any and all Foundation brand communications.
174
+
175
+ **Foundation Color Palette**:
176
+ | Color | Hex |
177
+ |-------|-----|
178
+ | Sonance Charcoal | `#333F48` |
179
+ | Foundation Green | `#00B2A9` |
180
+ | Light Gray | `#D9D9D6` |
181
+ | White | `#FFFFFF` |
182
+
183
+ There's a set of three icons that represent each focus of the foundation. Please only use the unaltered files. Do not modify proportions of the logo or icons, retype or otherwise recreate any version.
184
+
185
+ ### Logo as an Icon
186
+
187
+ For social media profiles and spaces where real estate is limited, a unique icon has been created to represent Sonance. This icon may be used for social media profile images and other similar communication needs where the full logo cannot be displayed effectively.
109
188
 
110
189
  ---
111
190
 
@@ -294,23 +373,78 @@ For building theme-aware components, use these semantic variables:
294
373
 
295
374
  ## Photography Guidelines
296
375
 
376
+ The ideas and suggestions outlined here are intended to result in consistent, quality images that best define Sonance in both style and substance, while providing flexibility for use across multiple mediums and marketing needs.
377
+
297
378
  ### Product Photography
298
- - Clean, simple backgrounds (white or gradient)
299
- - Products should "float" in space
300
- - Show shadow and depth but avoid clutter
301
- - Use natural light aesthetic
379
+
380
+ It's important that all Sonance products are presented in a clean, clear, and consistent manner.
381
+
382
+ **Product Photography Do's**:
383
+ - Products should always be new and as flawlessly clean as possible
384
+ - Products should always be silhouetted against clean, flat backgrounds—white or charcoal preferred
385
+ - Use a soft reflection to anchor the product
386
+ - Even lighting with no extreme highlights or shadows
387
+ - All products should be photographed from front, back, side and 3/4 angles
388
+ - The perspective should never make a product look distorted or unnatural
389
+ - Choose an angle that best complements the product and messaging
390
+ - Leave generous amounts of negative space to allow for placement of logos and typography
391
+
392
+ **Product Photography Don'ts**:
393
+ - Never show the product without the soft reflection below
394
+ - Do not place products in a busy, confusing or messy setting
395
+ - Do not place products over gradients or colors that aren't on brand
396
+ - Avoid cluttered compositions that distract from the product
397
+ - Do not use harsh lighting that creates unflattering shadows
302
398
 
303
399
  ### Lifestyle Photography
304
- - Rich, inviting scenes
305
- - Premium architectural settings
306
- - Products integrated naturally (invisible aesthetic)
307
- - Warm, sophisticated color grading
308
400
 
309
- **Don'ts**:
310
- - No cartoons, illustrations, or non-photographic imagery
311
- - No busy or cluttered backgrounds
312
- - No artificial-looking lighting
313
- - No low-resolution images
401
+ Sonance lifestyle photography should always depict the experience of using our products and solutions. It's not always possible to showcase Sonance product, as it's often invisible or "designed to disappear."
402
+
403
+ **Lifestyle Photography Do's**:
404
+ - Depict the experience of using our products and solutions
405
+ - The environment should clearly indicate a relevant space where Sonance speakers would be found
406
+ - The environment should be clean and styled appropriately—eliminate distracting props
407
+ - Consider generous use of large sections of negative space for type or design elements
408
+ - The product does not need to be in the center—feature angled ceilings or interesting horizons
409
+ - The composition should feel dynamic and intriguing
410
+ - Environment should reflect the level of sophistication connected to the Sonance brand
411
+
412
+ **Lifestyle Photography Don'ts**:
413
+ - Do not use photography that shows product in an unflattering environment
414
+ - Do not show our products in unfinished environments
415
+ - Do not let photo credits disappear into the background or conflict with the subject
416
+ - Do not leave unequal space to the left, right, and below photo credits
417
+
418
+ ### Layout Principles
419
+
420
+ **Standard Layouts**: When the product is shot on clean white (or single color) backgrounds, that background can easily be extended to create beautiful layouts. Overall, generous amounts of negative space allows for easy and effective placement of messaging and design elements.
421
+
422
+ **Dynamic Layouts**: Clean white (or single color) backgrounds and more extreme crops of certain Sonance products can create dynamic, modern layouts. Balanced compositions are preferred.
423
+
424
+ **Typography Placement**: Typographic and design elements should be anchored to the left-hand side of the composition. Typography along with the relationship to other design elements should be positioned in a consistent manner from piece to piece.
425
+
426
+ ### Photo Credits
427
+
428
+ When crediting a photographer, follow these guidelines consistently:
429
+
430
+ **Placement**:
431
+ - Appear at the bottom left or right depending on photo composition
432
+ - Typeset in a minimal typesize (Montserrat Regular)
433
+ - Place in an area of contrasting color
434
+ - Ensure space to the left, right and below the credit are equal whenever possible
435
+
436
+ **Format**:
437
+ - Brief description or location of the image
438
+ - Followed by "Photo courtesy of ______"
439
+ - Insert dealer, photographer, etc.
440
+ - Do not let the credit conflict with the subject of the photo
441
+
442
+ ### Background Guidelines
443
+
444
+ | Background | Usage |
445
+ |------------|-------|
446
+ | White | Preferred for product photography. Allows easy extension for layouts. |
447
+ | Charcoal (`#333F48`) | Alternative for dramatic product shots. Creates premium feel. |
314
448
 
315
449
  ---
316
450
 
@@ -358,4 +492,5 @@ When generating UI for these brands:
358
492
  8. **Buttons**: Uppercase, medium weight, tracked
359
493
  9. **Cards**: Minimal borders, subtle shadows
360
494
  10. **Spacing**: Generous whitespace, "breathable" layouts
361
-
495
+ 11. **Logos**: Observe clear space rules, minimum sizes, never distort
496
+ 12. **Photography**: Clean backgrounds, no clutter, premium feel
@@ -68,3 +68,16 @@ export const CardContent = forwardRef<
68
68
 
69
69
  CardContent.displayName = "CardContent";
70
70
 
71
+ export const CardFooter = forwardRef<
72
+ HTMLDivElement,
73
+ React.HTMLAttributes<HTMLDivElement>
74
+ >(({ className, ...props }, ref) => (
75
+ <div
76
+ ref={ref}
77
+ className={cn("flex items-center p-6 pt-0", className)}
78
+ {...props}
79
+ />
80
+ ));
81
+
82
+ CardFooter.displayName = "CardFooter";
83
+
package/dist/index.js CHANGED
@@ -4,8 +4,112 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
5
  import * as fs from "fs";
6
6
  import * as path from "path";
7
+ import * as os from "os";
7
8
  import { fileURLToPath } from "url";
8
9
  // ============================================
10
+ // INSTALLER (--init flag)
11
+ // ============================================
12
+ /**
13
+ * Get the Claude Desktop config path based on OS
14
+ */
15
+ function getClaudeConfigPath() {
16
+ const platform = os.platform();
17
+ if (platform === "darwin") {
18
+ // macOS
19
+ return path.join(os.homedir(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
20
+ }
21
+ else if (platform === "win32") {
22
+ // Windows
23
+ return path.join(os.homedir(), "AppData", "Roaming", "Claude", "claude_desktop_config.json");
24
+ }
25
+ else {
26
+ // Linux
27
+ return path.join(os.homedir(), ".config", "Claude", "claude_desktop_config.json");
28
+ }
29
+ }
30
+ /**
31
+ * Run the installer to add sonance-brand to Claude Desktop config
32
+ */
33
+ function runInstaller() {
34
+ console.log("");
35
+ console.log(" ┌─────────────────────────────────────────────────┐");
36
+ console.log(" │ │");
37
+ console.log(" │ 🎨 Sonance Brand MCP - Installer │");
38
+ console.log(" │ │");
39
+ console.log(" └─────────────────────────────────────────────────┘");
40
+ console.log("");
41
+ const configPath = getClaudeConfigPath();
42
+ const configDir = path.dirname(configPath);
43
+ console.log(` 📍 Claude config: ${configPath}`);
44
+ console.log("");
45
+ // Create config directory if it doesn't exist
46
+ if (!fs.existsSync(configDir)) {
47
+ console.log(" 📁 Creating Claude config directory...");
48
+ fs.mkdirSync(configDir, { recursive: true });
49
+ }
50
+ // Read existing config or create new one
51
+ let config = {};
52
+ if (fs.existsSync(configPath)) {
53
+ try {
54
+ const content = fs.readFileSync(configPath, "utf-8");
55
+ config = JSON.parse(content);
56
+ console.log(" 📄 Found existing Claude config");
57
+ }
58
+ catch {
59
+ console.log(" ⚠️ Could not parse existing config, creating new one");
60
+ }
61
+ }
62
+ else {
63
+ console.log(" 📄 Creating new Claude config");
64
+ }
65
+ // Initialize mcpServers if not present
66
+ if (!config.mcpServers) {
67
+ config.mcpServers = {};
68
+ }
69
+ // Check if already installed
70
+ if (config.mcpServers["sonance-brand"]) {
71
+ console.log(" ✅ sonance-brand is already configured!");
72
+ console.log("");
73
+ console.log(" To use it:");
74
+ console.log(" 1. Restart Claude Desktop (Cmd+Q / Alt+F4, then reopen)");
75
+ console.log(" 2. Look for the 🔨 hammer icon in the chat input");
76
+ console.log("");
77
+ return;
78
+ }
79
+ // Add Sonance server config (using npx for auto-updates)
80
+ config.mcpServers["sonance-brand"] = {
81
+ command: "npx",
82
+ args: ["-y", "sonance-brand-mcp"],
83
+ };
84
+ // Write updated config
85
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
86
+ console.log("");
87
+ console.log(" ✅ Sonance Brand MCP installed successfully!");
88
+ console.log("");
89
+ console.log(" ┌─────────────────────────────────────────────────┐");
90
+ console.log(" │ Next steps: │");
91
+ console.log(" │ │");
92
+ console.log(" │ 1. Quit Claude Desktop completely │");
93
+ console.log(" │ • Mac: Press Cmd+Q │");
94
+ console.log(" │ • Windows: Press Alt+F4 │");
95
+ console.log(" │ │");
96
+ console.log(" │ 2. Reopen Claude Desktop │");
97
+ console.log(" │ │");
98
+ console.log(" │ 3. Click the 🔨 hammer icon to verify │");
99
+ console.log(" │ You should see 'sonance-brand' listed │");
100
+ console.log(" │ │");
101
+ console.log(" └─────────────────────────────────────────────────┘");
102
+ console.log("");
103
+ console.log(" Try asking Claude:");
104
+ console.log(" \"What are the official Sonance brand colors?\"");
105
+ console.log("");
106
+ }
107
+ // Check for --init flag BEFORE starting MCP server
108
+ if (process.argv.includes("--init") || process.argv.includes("init")) {
109
+ runInstaller();
110
+ process.exit(0);
111
+ }
112
+ // ============================================
9
113
  // PATH RESOLUTION
10
114
  // ============================================
11
115
  const __filename = fileURLToPath(import.meta.url);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonance-brand-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "MCP Server for Sonance Brand Guidelines and Component Library - gives Claude instant access to brand colors, typography, and UI components.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",