About HIG Doctor
HIG Doctor is an MCP server for developers who want coding agents to query Apple Human Interface Guidelines and audit source projects. It exposes the HIG skills corpus and static audit as structured tools. It runs over stdio or streamable HTTP.
Key features
- 01Lists skills and reference topics in the corpus
- 02Fetches HIG reference markdown by skill or topic
- 03BM25 full-text search with natural language queries
- 04Static HIG audit for projects and single files
- 05Explains findings with rule metadata and HIG excerpts
Use cases
- 01Letting a coding agent look up Apple interface guidelines while writing code
- 02Auditing a file right after an edit to catch HIG issues
- 03Generating severity counts and a markdown report for a project
MCP support
This project is an MCP server that exposes six tools, including hig_lookup, hig_search, hig_audit and hig_explain_finding, to MCP clients, returning both text and structured content.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y hig-mcpHIG_SKILLS_DIROptional override for the skills directory. The published package bundles the HIG skills corpus, so this is only needed to point the server at a different or newer local copy.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
6Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project README
HIG Doctor MCP server
Active MCP server for developers connecting HIG Doctor to coding agents. It exposes the HIG skills corpus and source audit as structured tools.
Runs under Node 20+ (after build) or Bun (directly from source). Works with Claude Desktop, Cursor, Windsurf, and Claude Code. Transports: stdio (default) and streamable HTTP (--http).
Install and start
npx hig-mcp
Expected result: the process starts an MCP stdio server and advertises the six tools below. The published package includes the skills corpus.
Tools
| Tool | Purpose |
|---|---|
hig_list_skills | Enumerate available skills with descriptions and reference topics. Call first to discover the corpus. |
hig_lookup | Fetch HIG reference markdown. Provide a skill name (e.g. hig-foundations) or skill + topic (e.g. skill=hig-foundations, topic=color). |
hig_search | BM25 full-text search across every reference topic. Ask in natural language (e.g. "minimum touch target size") and get ranked topics with snippets. |
hig_audit | Run the HIG compliance audit on a project directory. Returns severity counts, per-category breakdown, a markdown report, config/baseline status, and an optional fail_on gate. |
hig_audit_file | Audit a single file — the fast inner loop after writing or editing code. Returns each finding with rule ID, severity, line, fix guidance, and HIG citation. |
hig_explain_finding | Explain a finding: full rule metadata plus an excerpt of the cited Apple HIG reference. Pass a ruleId from an audit result. |
Every tool returns structuredContent (parsed JSON) alongside the text mirror, so agents can consume structure directly. Content is from Apple's HIG, snapshot dated 2025-02-02; Apple's live Human Interface Guidelines remain canonical.
Run from a checkout
git clone https://github.com/raintree-technology/hig-doctor.git
cd hig-doctor/packages/mcp
bun install # or: npm install
bun src/index.ts # run directly (no build), or:
npm run build && node dist/index.js
Claude Desktop config
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"hig-doctor": {
"command": "npx",
"args": ["-y", "hig-mcp"]
}
}
}
For a local checkout, point command/args at the Bun source (bun /abs/path/packages/mcp/src/index.ts) or the built Node artifact (node /abs/path/packages/mcp/dist/index.js).
Streamable HTTP transport
For remote or multi-client setups, start the server over HTTP instead of stdio:
hig-mcp --http 3845 # POST /mcp on the given port (default 3845)
Each request is handled statelessly, so concurrent clients are safe.
Cursor / Windsurf / Claude Code
All honor the MCP stdio protocol via each editor's mcpServers config. Point command/args at npx hig-mcp, or at the Bun/Node entry point of a local checkout.
Skills directory resolution
The server resolves the skills corpus in this order:
$HIG_SKILLS_DIR— explicit override (point at a newer local copy)<module-dir>/skills— bundled alongside the built artifact (the npm distribution)- Monorepo dev layout —
../../../skillsfrom the source file $PWD/skills— current working directory
The published npm package bundles the corpus at dist/skills, so $HIG_SKILLS_DIR is only needed to override it.
Input validation
Slug arguments (skill, topic) are validated against a kebab-case allowlist (/^[a-z0-9-]+$/) before being used to construct filesystem paths. hig_audit.directory and hig_audit_file.file must be absolute paths. Invalid inputs throw before any filesystem access.
Limits and support boundary
The audit tools provide static review evidence; they do not prove HIG conformance, accessibility, or design quality. HTTP mode does not add authentication or TLS, so place it behind an appropriate local or trusted transport boundary. See the project guide, benchmark, and security policy.
License
MIT for this package. Apple HIG reference content read by hig_lookup/hig_search is © Apple Inc. — see the repository root THIRD_PARTY_NOTICES.md for the full attribution.
Comments
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.