Skip to main content

hig-mcp — Apple HIG design tokens for AI coding agents

hig-mcp — Apple Human Interface Guidelines as structured MCP tokens

An MCP server that gives Claude Code, Cursor, and any MCP client the Apple Human Interface Guidelines as structured data — real system color values, the type ramp, Liquid Glass constraints, and SwiftUI mappings — instead of prose to misread or stale hex to hallucinate.

The problem every Apple dev (and their agent) has right now

At WWDC25 Apple didn't just ship Liquid Glass — it quietly refreshed the system color palette (HIG changelog, June 9, 2025). systemBlue is not #007AFF anymore. It's #0088FF.

Which means:

  • Every LLM's training data is wrong. Ask an agent for iOS colors and it confidently hardcodes the pre-2025 palette.
  • The HIG is prose, not data. Apple publishes guidelines as web pages; an agent burns thousands of tokens fetching one, then still guesses the numbers.
  • Liquid Glass has rules nobody wrote down in one place — blur budgets, compositing layer caps, contrast measured after blur, the mandatory Reduce Transparency fallback. Agents violate all of them by default.

You end up reviewing generated SwiftUI that looks plausible and is subtly off-spec everywhere.

How hig-mcp solves it

Curated, verified token files live inside the server — offline, deterministic, near-zero tokens — and prose is fetched live from sosumi.ai so guidance is never stale. Ask for color and you get the current post-WWDC25 spec table, not a 2023 memory.

Tool What it returns Network
hig_get_tokens Design tokens by category: color, typography, materials, layout, swiftui, sf_symbols no
hig_check_liquid_glass Liquid Glass guardrails + a concrete checklist for your context and platform no
hig_swiftui HIG component → the right SwiftUI API + which tokens to apply no
hig_fetch Current HIG page as clean Markdown (via sosumi.ai) yes

How it works

Four tools over stdio (Python, the official mcp SDK 2.x). The structured half is plain JSON you own and extend (src/hig_mcp/data/); the prose half is delegated to sosumi.ai's DocC-to-Markdown rendering rather than rebuilt. Every value is provenance-tagged:

  • apple-system / apple-hig — Apple-published facts (system colors, type ramp, 44pt hit targets).
  • wcag-aa — the 4.5:1 contrast rule.
  • figma-effect / community-bestpractice — useful numbers Apple never published, flagged so you know to confirm.
  • verify: true — beta-era API names that shift; confirm via hig_fetch or Xcode before shipping.

Each data file also carries a checked date in its _meta: the day its values were last compared with Apple's live pages.

Honest data beats confident data.

Quick start

pipx install hig-mcp
claude mcp add hig -- hig-mcp

Any MCP client, config form:

{ "mcpServers": { "hig": { "command": "hig-mcp" } } }

hig_fetch targets https://sosumi.ai by default; override with HIG_SOSUMI_BASE.

Built-in call counter

Every tool call appends one JSONL line — timestamp, tool, calling client (from the MCP handshake's clientInfo) — to $XDG_STATE_HOME/hig-mcp/calls.jsonl (override with HIG_MCP_CALL_LOG). So you always know which of your agents actually uses it:

jq -r .client ~/.local/state/hig-mcp/calls.jsonl | sort | uniq -c

FAQ

Why not just fetch developer.apple.com? Prose costs tokens and still doesn't contain machine-usable values. Tokens here are instant, offline, and current.

Does it replace sosumi.ai / apple-docs-mcp? No — it deliberately delegates prose to them and owns only the structured layer they don't serve.

What platforms? iOS / iPadOS first, with the macOS type ramp and per-platform control sizes (iOS, macOS, tvOS, visionOS, watchOS). Values were last checked on 2026-10-17 against the live HIG and Apple's SwiftUI docs for OS 26 (shipping) and the OS 27 betas.

Limits

Plain words on what this server is and is not:

  • Curated project data, not an Apple SDK. The values are copied by hand from Apple's public HIG pages and docs, then checked. Apple does not publish them as data, and this project is not Apple's. If a value matters, confirm it in Xcode or the Apple Design Resources.
  • Beta-era names are checked as of 2026-10-17. Liquid Glass and other OS 26 APIs were checked against Apple's docs on that date; anything marked 27.0+ comes from the OS 27 betas and can still be renamed before release. Those entries carry verify: true.
  • Some numbers are not Apple's. The Liquid Glass blur and layer budgets, the spacing grid and the corner radii are community or Figma conventions. Each one says so in its src tag.
  • Prose needs the network. hig_fetch downloads pages live from sosumi.ai (or your HIG_SOSUMI_BASE). Offline, or if sosumi.ai is down, the three token tools still work and hig_fetch returns an error.
  • It does not review your app. It hands an agent the rules and the values; it does not look at your code or screenshots.

A good pairing: a full Apple docs server for API reference (for example apple-docs-mcp or sosumi.ai's own MCP), plus a HIG review tool that checks SwiftUI code and screenshots against the guidelines (for example hig-review).

Development

uv run --with pytest pytest -q

Changes per release are in CHANGELOG.md.

Apple, the Apple Human Interface Guidelines, SF Symbols, SwiftUI, and Liquid Glass are trademarks of Apple Inc. This project is not affiliated with or endorsed by Apple. No HIG prose is redistributed — hig_fetch retrieves pages live at runtime, and the bundled data files contain factual design values with original commentary. The MIT license covers this repository's code and data files only.


Keywords: Apple HIG MCP server · Human Interface Guidelines · design tokens · Liquid Glass · SwiftUI · iOS 26 · macOS Tahoe · Model Context Protocol · Claude Code · Cursor · AI coding agents

Metadata

Release files for hig-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hig-mcp 0.3.0
File Size Uploaded Provenance
hig_mcp-0.3.0.tar.gz 715.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hig-mcp 0.3.0
File Interpreter ABI Platform
hig_mcp-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 736.7 kB

Release files / hig_mcp-0.3.0.tar.gz

Download URL hig_mcp-0.3.0.tar.gz
Size 715.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b0cc7fc4e3f43fa4459fcf80268eb14786f18d2d89b99c09e02c53d546846a3a
BLAKE2b-256 checksum
How to use checksums
bb698b9de171496d5ae2b4c1885c7ffcecaf7c7287a1700773807c3324e5087a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / hig_mcp-0.3.0-py3-none-any.whl

Download URL hig_mcp-0.3.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
264847720378c008148adeaa8b496efb73f0bfbb8e5cc9494140db8de3c35217
BLAKE2b-256 checksum
How to use checksums
3132c7c8935f45e046f683b67b2f45115397cde28590589b16782d30afa7dc4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for hig-mcp 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page