mcpField
U
Uwarp

Uwarp

Local
uwarp.designDeveloper Tools0Updated 2w ago

About Uwarp

Uwarp is an MCP server for design tasks, exposing local tools for WCAG contrast checks, HSL palette generation, and searching a bundled catalog of browser UI tools. It is intended for users of clients such as Cursor and Claude Desktop.

Key features

  1. 01Check WCAG 2.x contrast ratios and AA/AAA flags
  2. 02Generate HSL harmony palettes and :root CSS
  3. 03Search a bundled Uwarp tool catalog
  4. 04Run contrast and palette calculations locally

Use cases

  1. 01Check whether foreground and background colors meet WCAG thresholds
  2. 02Generate a color palette from a seed hex value
  3. 03Find an entry in the local UI tools catalog

MCP support

Exposes three local tools to MCP clients including Cursor and Claude Desktop: contrast checking, palette generation, and catalog search. The server communicates over stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"sherotree-uwarp": {
"command": "npx",
"args": [
"-y",
"uwarp-mcp"
]
}
}
}
Run commandnpx -y uwarp-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmuwarp-mcp1.0.0

Tools

3

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
backgroundstringYesBackground color as #RGB or #RRGGBB (e.g. #ffffff)
foregroundstringYesForeground color as #RGB or #RRGGBB (e.g. #000000)

Details

From the project README

uwarp-mcp

sherotree/uwarp-mcp MCP server

MCP server for Uwarp — a directory of 500+ free browser UI tools.

This package exposes three local tools you can use from Cursor or Claude Desktop. No paid API key is required. Most Uwarp listings are third-party embeds; this server does not scrape or wrap them. Contrast and palette math run entirely on-device; search_tools reads a bundled local catalog (data/tools.json).

ToolPurpose
check_contrastWCAG 2.x contrast ratio + AA/AAA flags
generate_paletteHSL harmony palettes + :root CSS
search_toolsSearch the local Uwarp tool catalog

Author / context: Sherotree · https://uwarp.design · MIT


Install via npx

No clone needed. Add to your MCP client config (Cursor mcp.json, Claude Desktop, etc.):

{
  "mcpServers": {
    "uwarp": {
      "command": "npx",
      "args": ["-y", "uwarp-mcp"]
    }
  }
}

Requirements

  • Node.js 18+

Install & build

cd /path/to/uwarp-mcp
npm install
npm run build

Test

npm test

Includes a check that black-on-white contrast ≈ 21.

Run locally (stdio)

npm start
# or during development:
npm run dev

The process speaks MCP over stdio (JSON-RPC on stdin/stdout). Log noise goes to stderr.

Optional env stub
VariableNotes
UWARP_API_KEYReserved for a future Uwarp API. Ignored today — no paid key needed.

Cursor (mcp.json)

Add to your Cursor MCP config (e.g. ~/.cursor/mcp.json or project .cursor/mcp.json). Point args at the built entry after npm run build:

{
  "mcpServers": {
    "uwarp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/uwarp-mcp/dist/index.js"]
    }
  }
}

Example if the project lives at ~/code/uwarp-mcp (use the absolute path):

{
  "mcpServers": {
    "uwarp": {
      "command": "node",
      "args": ["/Users/you/code/uwarp-mcp/dist/index.js"]
    }
  }
}

Restart Cursor (or reload MCP servers) after saving.


Claude Desktop

Edit the Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "uwarp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/uwarp-mcp/dist/index.js"]
    }
  }
}

Restart Claude Desktop after saving.


Tool reference

check_contrast

Input

FieldTypeDescription
foregroundstringHex #RGB / #RRGGBB
backgroundstringHex #RGB / #RRGGBB

Output

{
  "ratio": 21,
  "aa_normal": true,
  "aa_large": true,
  "aaa_normal": true,
  "aaa_large": true
}

Uses WCAG 2.x relative luminance and contrast ratio thresholds (AA normal ≥ 4.5, AA large ≥ 3, AAA normal ≥ 7, AAA large ≥ 4.5).

generate_palette

Input

FieldTypeDefaultDescription
seedstring—Seed hex
harmonyanalogous | complementary | triadic | monoanalogousHarmony mode
countnumber6Colors, 3–12

Output

{
  "colors": [{ "name": "Mid Blue", "hex": "#3b82f6" }],
  "css": ":root {\n  --color-1: #3b82f6; /* Mid Blue */\n}"
}
search_tools

Input

FieldTypeDefaultDescription
querystring—Search text
categorystring—Optional filter (e.g. color, svg-generators)
limitnumber8Max results, 1–20

Output

{
  "tools": [
    {
      "name": "Contrast Checker",
      "summary": "…",
      "url": "https://uwarp.design/tools/contrast-checker",
      "category": "color"
    }
  ]
}

Note: search_tools uses the local catalog in data/tools.json (sample entries for development). It does not scrape uwarp.design at runtime.


Project layout

uwarp-mcp/
├── data/tools.json          # Local Uwarp catalog (~28 samples)
├── src/
│   ├── index.ts             # MCP stdio entry
│   └── tools/
│       ├── check_contrast.ts
│       ├── generate_palette.ts
│       └── search_tools.ts
├── tests/
├── dist/                    # After npm run build
├── package.json
├── tsconfig.json
├── LICENSE
└── README.md

License

MIT © Sherotree / Uwarp

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.