Melta UI vs Canlii MCP

A side-by-side look at the Melta UI and Canlii MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Melta UI logoMelta UILegal · Local subprocess (stdio)AI-Ready design system MCP: melta UI tokens, component contracts, 99 rules, check_html self-verify69GreatAuth: not declaredCanlii MCP logoCanlii MCPLegal · Local subprocess (stdio)Canadian case law and legislation metadata via CanLII. Bring-your-own free CanLII API key. Hosted endpoint at canlii-mcp.vaquill.ai. MIT.59GoodAuth: api key required

Verdict: choose Melta UI for legal work as a local process; choose Canlii MCP for legal as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Melta UI logoChoose Melta UI when

  • You need dedicated capabilities in the Legal domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like get_token, get_component, check_rule.
Explore Melta UI

Canlii MCP logoChoose Canlii MCP when

  • You need dedicated capabilities in the Legal domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: CANLII_API, PORT, MCP_AUTH_TOKEN.
  • You want tools like list_case_databases, list_cases, get_case.
Explore Canlii MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMelta UI logoMelta UICanlii MCP logoCanlii MCP
CategoryLegalLegal
Quality signal69/100 · Great59/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredFree
Required env varsNone listedCANLII_APIPORTMCP_AUTH_TOKEN
Verified ownerCommunity listingCommunity listing
GitHub stars2027
Directory activity 4 views 0 installs 0 upvotes 5 views 0 installs 0 upvotes
Tools67

Tools & capabilities

Melta UI tools 6

  • get_tokenGet a design token by dot-path. Returns the token object with its value and class mapping.
  • get_componentGet component metadata including variants, sizes, accessibility requirements, HTML sample, per-state specs (stateSpecs: disabled/loading/open/empty etc. — each with delta class strings + aria changes), and anatomy parts (overlay/container/th etc. with element/roles/class). Prefer these structured fields over inferring states from the HTML sample.
  • check_ruleCheck class strings against this design system's prohibition rules. Returns violations with reasons and alternatives.
  • check_htmlLint a full HTML/JSX source against melta-ui rules — the same checks as CI and the PostToolUse hook (class rules + html-attr rules + composition rules for HTML). Use this AFTER generating UI code to self-verify before presenting it. Response always includes coverage info (manual rules cannot be auto-checked).
  • searchSearch across tokens and components by keyword. Matches against names, values, class strings, and descriptions. Returns up to 20 results (truncated flag when more matched).
  • get_rulesGet melta-ui prohibition rules from rules.json (107 total). Use this to retrieve manual/contextual rules that check_rule cannot auto-detect. Supports filtering by category, severity, or detector.

Canlii MCP tools 7

  • list_case_databasesList all courts and tribunals in the CanLII collection
  • list_casesBrowse decisions from a specific court/tribunal database
  • get_caseGet metadata for a specific case (title, citation, date, keywords)
  • get_case_citationsGet cases cited by a case, cases citing it, or legislation it references
  • list_legislation_databasesList all statute and regulation databases
  • list_legislationBrowse statutes or regulations from a specific database
  • get_legislationGet metadata for a specific piece of legislation

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Melta UI

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "melta-ui": {
      "command": "npx",
      "args": [
        "-y",
        "melta-ds-mcp"
      ]
    }
  }
}

Canlii MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "vaquill-ai-canlii-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tomilashy/canlii-mcp"
      ],
      "env": {
        "CANLII_API": "YOUR_CANLII_API_HERE",
        "PORT": "YOUR_PORT_HERE",
        "MCP_AUTH_TOKEN": "YOUR_MCP_AUTH_TOKEN_HERE"
      }
    }
  }
}

Frequently asked questions

Melta UI is categorized under Legal and uses a local stdio subprocess. Canlii MCP belongs to Legal and uses a local stdio subprocess. Pick Melta UI for legal work and Canlii MCP for legal.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Melta UI has no declared pricing — check the project's own site. Canlii MCP is listed as free. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add melta-ui and vaquill-ai-canlii-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Melta UI has a quality signal of 69/100 (Great) with 4 views, 0 installs and 202 GitHub stars. Canlii MCP has 59/100 (Good) with 5 views, 0 installs and 7 GitHub stars.