PaletteGet

io.github.yang7206Published by GitHub account yang7206v1.3.0Updated Oct 24, 2026

Curated app, web and mini program color palettes with WCAG contrast and CSS variables.

VerifiedStreamable HTTPWeb executableDeveloper ToolsMedia & Design

Overview

AI-generated overview

PaletteGet gives an assistant a curated library of WCAG-checked UI color palettes, with role colors, contrast checks and paste-ready CSS or platform code.

What you can do
  • Browse and retrieve palettes: list by platform or tag, fetch full role colors, contrast results and pairing advice, or get keyword-based recommendations in English or Chinese.
  • Check accessibility: measure WCAG contrast between two colors with body and large-text verdicts, and get ranked readable text colors for a background.
  • Export code: produce CSS custom properties, Android, iOS, Flutter, mini program, SCSS or Tailwind snippets for a palette.
  • Derive variants: expand a base color into a 50 to 900 scale, or turn a light palette into a dark-mode version with measured contrast.
When to use it
Useful when an assistant is building or restyling an app, web or mini program UI and would otherwise invent hex values. It fits work that needs accessible color choices, dark-mode variants, or design tokens pasted straight into code.
Requirements
Nothing to install for the hosted endpoint; no API key or sign-up. A local stdio option runs via npx or from source with Node.js and fetches the public dataset, optionally configured with PALETTEGET_API, PALETTEGET_API_ZH, PALETTEGET_CACHE_MS and PALETTEGET_PROXY.
Before you install
The tools are read-only lookups and generators; no credentials are requested. The local stdio server fetches data from the public PaletteGet site, and PALETTEGET_API can point it at another URL, so only override it with a source you trust.

Installation

In SourceWeft

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

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.yang7206%2Fpaletteget/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "paletteget": {
      "type": "http",
      "url": "https://paletteget-mcp.y7206062.workers.dev/mcp"
    }
  }
}

README

paletteget-mcp

[site] [palettes] [license]

An MCP server for the PaletteGet color palette library: 100 palettes across App, Web and Mini App UIs, each organized into 10 design roles and checked against WCAG contrast requirements.

It exists so your AI coding tool stops inventing hex values. Instead of guessing, the model calls a tool and gets the real role colors, the measured contrast ratios, and the pairing advice that ships with the palette.

No API key, no sign-up.

Use the hosted endpoint (nothing to install)

https://paletteget-mcp.y7206062.workers.dev/mcp
json
{  "mcpServers": {    "paletteget": {      "type": "http",      "url": "https://paletteget-mcp.y7206062.workers.dev/mcp"    }  }}

ChatGPT: Settings → Connectors → Add custom connector → paste the URL.

The hosted server embeds the dataset at deploy time, so it never depends on the site being reachable and answers in a few milliseconds.

Or run it locally (stdio)

From npm, no clone

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

Behind a proxy, set PALETTEGET_PROXY=http://127.0.0.1:7897 in the server's env block.

From source

bash
git clone https://github.com/yang7206/paletteget-mcp.gitcd paletteget-mcpnpm install
json
{  "mcpServers": {    "paletteget": {      "command": "node",      "args": ["/absolute/path/to/paletteget-mcp/index.mjs"]    }  }}

The stdio server fetches live data from the public JSON endpoints and caches it for 10 minutes.

Tools

ToolWhat it does
list_palettesList palettes, optionally filtered by platform (app / web / miniapp) or tag
get_paletteFull data for one palette: role colors, contrast results, human-written pairing advice
suggest_paletteRecommend palettes from keywords in English or Chinese, and say what matched
get_css_variablesCSS custom properties for a palette, ready to paste
check_contrastWCAG contrast between any two colors, with both the body-text and large-text verdicts
suggest_text_colorReadable text colors for a given background: same-hue tints and shades plus black and white, ranked by contrast
darken_paletteDerive a dark-mode version of a light palette with published rules, and the measured contrast of every pair
get_platform_snippetPaste-ready code for one palette: Android colors.xml, iOS UIColor, Flutter Color, mini program wxss, CSS, SCSS or Tailwind
get_color_scaleExpand one base color into a 50 to 900 scale, with white and black contrast per step; JSON, CSS or Tailwind output

Example call and result:

suggest_palette { "query": "dark finance dashboard", "limit": 2 }
- Ink Blue Night / 墨蓝夜(app,分 94)  slug: mo-lan-ye 主色: #4c8df6  场景: Finance & analytics apps (dark mode)  命中: 标签:dark, 场景:finance

Environment variables (stdio server)

VariableDefaultPurpose
PALETTEGET_APIhttps://paletteget.com/api/index.jsonOverride the dataset URL
PALETTEGET_API_ZHderived (/zh/api/index.json)Override the Chinese dataset URL
PALETTEGET_CACHE_MS600000Cache lifetime in milliseconds
PALETTEGET_PROXYnoneRoute requests through a proxy, e.g. http://127.0.0.1:7897. Also honours HTTPS_PROXY.

Behind a firewall, Node's built-in fetch ignores the usual proxy variables, so set PALETTEGET_PROXY explicitly.

Test

bash
npm run smoke

The smoke test speaks the MCP stdio protocol directly and exercises every tool against a local fixture, so it runs offline. Point PALETTEGET_API at the live site to test against production.

Maintaining the hosted worker

The worker (worker.mjs) is a hand-written, stateless subset of MCP Streamable HTTP (initialize, tools/list, tools/call, ping) with no SDK dependency, which keeps it small and Workers-native.

bash
# 1. Regenerate the embedded dataset (run both locales)SITE_URL=https://paletteget.com SITE_LOCALE=zh node --import ./alias-loader.mjs build-data.mjsSITE_URL=https://paletteget.com SITE_LOCALE=en node --import ./alias-loader.mjs build-data.mjs
# 2. Local checknpx wrangler dev          # POST JSON-RPC to http://127.0.0.1:8787/mcp
# 3. Deploy (needs CLOUDFLARE_API_TOKEN with Workers Scripts:Edit)npx wrangler deploy

build-data.mjs reuses the site's own i18n modules through alias-hooks.mjs, so names, scenes and advice stay identical to the published site. data/ is generated at build time and never committed.

Data and license

Code is MIT (see LICENSE). Palette data comes from paletteget.com and may be reused freely in personal and commercial projects; a credit link is appreciated.

Machine-readable forms of the same data, if you would rather skip MCP entirely:

  • Full dataset: https://paletteget.com/api/index.json
  • One palette: https://paletteget.com/palette-list/{platform}/{slug}/index.json
  • CSS variables: https://paletteget.com/palette-list/{platform}/{slug}/index.css
  • Agent guide: https://paletteget.com/llms.txt

Source: README.md at commit cf70d2b

Tools

9

list_palettes

列出配色库中的配色,可按平台(app / web / miniapp)与标签过滤。返回名称、slug、主色、场景与标签。

Parameterstaglimitplatform

get_palette

取某一套配色的完整数据:角色色值(主色 / 功能色 / 中性色)、对比度、人工搭配建议。

Parametersslugrequiredplatform

suggest_palette

按自然语言关键词推荐配色(中英文均可),例如「护眼的深色记账 App」「清新博客」。会说明每个结果命中了什么。

Parameterslimitqueryrequiredplatform

get_css_variables

取一套配色的 CSS 自定义属性(可直接粘进项目),含语义化变量名。

Parametersslugrequiredplatform

check_contrast

算两个颜色之间的 WCAG 对比度,并同时给出正文级(4.5 / 7)与大字级(3 / 4.5)两套判定。适合在把配色写进代码前先验一遍。

Parametersbackgroundrequiredforegroundrequired

suggest_text_color

给一个背景色,返回一组可读的文字色候选(同色相的极浅与极深版 + 纯黑白参照),按对比度降序,标出推荐项与 AA / AAA 判定。

Parameterslimitbackgroundrequired

get_platform_snippet

取一套配色的可直接粘贴代码片段,按目标平台生成:Android colors.xml、iOS UIColor、Flutter Color、小程序 wxss、CSS 变量、SCSS 变量、Tailwind 配置。

Parameterslangslugrequiredtargetrequiredplatform

get_color_scale

从一个基准色生成 50 到 900 的 10 级色阶(500 等于基准色本身),每阶附白字与黑字的实测对比度;format 可取 list / json / css / tailwind。

Parameterscolorrequiredformat

darken_palette

把一套浅色配色推导成深色版本:按固定规则重排明度与饱和度,并返回每对颜色的实测对比度。可用 slug 取库里配色,也可直接传 roles。

Parametersslugrolesplatform

Version history

2
  1. v1.3.0LatestOct 24, 2026
  2. v1.0.0Oct 21, 2026

Score

90% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.