Design Style MCP Server
by luminarylane
README.md
# Design Style MCP Server
[](https://modelcontextprotocol.io)
[](https://www.typescriptlang.org/)
[](LICENSE)
A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that provides design style intelligence for AI content generation. Ships with 30 curated design styles — each with color palettes, typography, mood tokens, visual directives, and negative prompts ready for image/video generation pipelines.
No AI inference — pure deterministic scoring against style characteristics.
## Features
### Tools
| Tool | Description |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `recommend_style` | Deterministic style recommendation based on brand context, campaign objective, target demographic, and season. Returns a top match with scoring reasoning and ranked alternatives. |
| `get_style` | Retrieve structured design tokens for a given style slug: name, description, color palette, typography, mood, visual directives, and negative prompt sections. |
### Included Styles (30)
academia, art-deco, bauhaus, bold-typography, botanical, claymorphism, cyberpunk, enterprise, flat-design, industrial, kinetic, luxury, material, maximalism, minimal-dark, modern-dark, monochrome, neo-brutalism, neumorphism, newsprint, organic, playful-geometric, professional, retro, saas, sketch, swiss-minimalist, terminal, vaporwave, web3
Each style includes a full prompt file with design philosophy, color system, typography rules, visual directives, and negative prompts.
## Quick Start
### Prerequisites
- Node.js 22.14+
### Install
Published package: [@luminarylane/design-style-mcp-server on npm](https://www.npmjs.com/package/@luminarylane/design-style-mcp-server)
Run without a global install:
```bash
npx --yes @luminarylane/design-style-mcp-server
```
To run from source:
```bash
git clone https://github.com/luminarylane/design-style-mcp-server.git
cd design-style-mcp-server
npm install
npm run build
```
### Run
```bash
# Development
npm run dev
# Production
npm start
```
### Claude Desktop Configuration
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"design-style": {
"command": "npx",
"args": ["--yes", "@luminarylane/design-style-mcp-server"]
}
}
}
```
## How It Works
### `recommend_style`
Given a brand description, campaign objective, target demographic, and optional season, the server scores all 30 styles against their characteristics (objectives, demographics, industries, moods, seasonal fit) and returns the top match with alternatives.
```
Input: { objective: "product_launch", demographic: "gen_z", brand: "streetwear" }
Output: { style: "neo-brutalism", reasoning: "...", alternatives: [...] }
```
### `get_style`
Given a style slug, returns structured tokens extracted from the style's prompt file:
```
Input: { style: "cyberpunk" }
Output: { name, description, colors, typography, mood, promptAdditions, negativePrompt, reference }
```
## Configuration
| Env Var | Default | Description |
| -------------------- | --------------------------------------- | ------------------------------------------------- |
| `DESIGN_STYLES_PATH` | `./design-styles` (relative to package) | Override path to the design-styles data directory |
## Architecture
- **Transport**: stdio (standard MCP protocol)
- **Data**: 30 style prompt files + descriptions index (plain text, bundled)
- **Scoring**: Deterministic fuzzy matching — no AI inference, no network calls
- **Caching**: Prompt files are cached in-memory after first read
- **Dependencies**: Only `@modelcontextprotocol/sdk` and `zod`
## Development
```bash
# Development server (auto-reload)
npm run dev
# Type check
npx tsc --noEmit
# Build
npm run build
```
## Adding a New Style
1. Add the slug to `DESIGN_STYLE_SLUGS` in `src/styles.ts`
2. Add characteristics (objectives, demographics, industries, moods) to `STYLE_CHARACTERISTICS`
3. Add a description line to `design-styles/descriptions.txt`
4. Create a prompt file at `design-styles/prompts/{slug}.txt`
## License
[MIT](LICENSE)
## Credits
The design-style prompt collection was inspired by and initially sourced from [designprompts.dev](https://www.designprompts.dev/). This project is an independent MCP server and is not affiliated with or endorsed by designprompts.dev.
TDQS
A4.2/5.0
Scored across 2 tools
Disambiguation5/5
Both tools have clearly distinct purposes: get_style retrieves details for a known style, recommend_style suggests a style based on context. No overlap.
Naming Consistency5/5
Both tool names follow the verb_noun pattern (get_style, recommend_style) consistently, making them predictable.
Tool Count4/5
With only 2 tools, the server is minimal but still covers the core functionality for its narrow domain. A list tool would be useful but not mandatory.
Completeness3/5
Covers retrieval and recommendation, but lacks a tool to list all available style slugs programmatically, which is a notable gap since get_style requires a valid slug.
Maintenance
ActivityMaintained
ResponsivenessNo issues