Kentucky Code vs Canlii MCP

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

Kentucky Code logoKentucky CodeLegal · Local subprocess (stdio)Kentucky Revised Statutes (KRS) — state statutes by citation and by topic.61GoodAuth: no auth requiredCanlii 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 Kentucky Code 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?

Kentucky Code logoChoose Kentucky Code when

  • You need dedicated capabilities in the Legal domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like ky_statute, ky_search.
Explore Kentucky Code

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.

SpecKentucky Code logoKentucky CodeCanlii MCP logoCanlii MCP
CategoryLegalLegal
Quality signal61/100 · Good59/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredAPI key required
PricingFreeFree
Required env varsNone listedCANLII_APIPORTMCP_AUTH_TOKEN
Verified ownerCommunity listingCommunity listing
GitHub stars07
Directory activity 2 views 0 installs 0 upvotes 5 views 0 installs 0 upvotes
Tools27

Tools & capabilities

Kentucky Code tools 2

  • ky_statuteGet the FULL TEXT of a section of the Kentucky Revised Statutes (KRS) — Kentucky state law — by citation. "507.020" is murder; "383.580" is the landlord security-deposit statute. Accepts natural forms: "507.020", "KRS 507.020", "§ 507.020". Returns the current statutory text, the catchline, the "Effective:" date, and the legislative "History:" (the Acts that enacted and amended it). Kentucky publishes the CURRENT text only — a prior (pre-amendment) version's text is not available online, only its existence; this tool says so rather than guessing. Keyless. Use for "what does KRS 507.020 say" or to check a Kentucky statute a case or contract relies on.
  • ky_searchSearch the Kentucky Revised Statutes BY TOPIC or keyword rather than citation — "security deposit", "concealed carry", "DUI per se limit", "homicide". Real full-text search over the statutory body text, not just catchlines: a query like "landlord" surfaces KRS 383.580 ("Security deposits") even though that catchline contains neither word. Returns matching citations and catchlines; call ky_statute with a citation for the full text. Keyless.

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.

Kentucky Code

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "kentucky-code": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/mcp-kentucky-code"
      ]
    }
  }
}

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

Kentucky Code is categorized under Legal and uses a local stdio subprocess. Canlii MCP belongs to Legal and uses a local stdio subprocess. Pick Kentucky Code 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.

Kentucky Code is listed as free. Auth: no auth required. 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 kentucky-code and vaquill-ai-canlii-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Kentucky Code has a quality signal of 61/100 (Good) with 2 views, 0 installs and 0 GitHub stars. Canlii MCP has 59/100 (Good) with 5 views, 0 installs and 7 GitHub stars.