Uwarp

io.github.sherotreePublished by GitHub account sherotreev1.0.0Updated Oct 24, 2026

WCAG contrast checks, HSL palettes with :root CSS, and search of 500+ free Uwarp UI tools.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Local MCP server for Uwarp that checks WCAG contrast, generates HSL palettes with :root CSS, and searches a bundled catalog of UI tools.

What you can do
  • Check WCAG 2.x contrast ratios between two hex colors and get AA/AAA flags for normal and large text
  • Generate HSL harmony palettes (analogous, complementary, triadic, mono) with named colors and ready-to-paste :root CSS
  • Search a bundled local catalog of Uwarp UI tools by text query, with optional category filter and result limit
When to use it
Useful when building or reviewing UI in an editor like Cursor or Claude Desktop and you want quick accessibility contrast checks, palette generation, or a lookup of Uwarp tool listings without leaving the chat.
Requirements
Node.js 18 or newer; runs locally over stdio, typically launched with npx or from a built dist entry. No API key or account is needed; the UWARP_API_KEY variable is reserved and currently ignored.
Before you install
The tool search reads a small bundled sample catalog (about 28 entries) and does not query uwarp.design at runtime, so results are limited and may be stale. Contrast and palette math run entirely on-device; no credentials are requested today.

Installation

In SourceWeft

  1. Open Uwarp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.):

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

Requirements

  • Node.js 18+

Install & build

bash
cd /path/to/uwarp-mcpnpm installnpm run build

Test

bash
npm test

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

Run locally (stdio)

bash
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:

json
{  "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):

json
{  "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
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

json
{  "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

json
{  "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

json
{  "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

Source: README.md at commit 2788dee

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestOct 15, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts