Canlii MCP logo

Canlii MCP

by Vaquill-AI

Browse Canadian case-law and legislation metadata through CanLII using MCP tools and your own free API key.

Install Canlii MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "vaquill-ai-canlii-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tomilashy/canlii-mcp"
      ],
      "env": {
        "CANLII_API": "YOUR_VALUE_HERE",
        "PORT": "YOUR_VALUE_HERE",
        "MCP_AUTH_TOKEN": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @tomilashy/canlii-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 29d ago.

Overview

Vaquill-AI/canlii-mcp MCP server exposes CanLII metadata for Canadian court decisions, tribunals, statutes, and regulations. It supports hosted streamable HTTP or local stdio deployments, authenticating requests with a user-provided CanLII API key. Reach for it when an agent needs to discover legal sources, inspect case metadata, or follow citation relationships without retrieving full document text.

Use cases

  • Discover Canadian courts and tribunals
  • Browse case decisions by jurisdiction
  • Inspect case citations and referenced legislation
  • Search legislation metadata by database
  • Retrieve titles, dates, citations, and keywords

Key features

  • Case and tribunal database discovery
  • Case metadata browsing
  • Citation relationship lookup
  • Legislation database and metadata access
  • Hosted streamable HTTP endpoint
  • Local stdio and HTTP deployment options

Tools7

What Canlii MCP lets your agent do. Expand a tool for its parameters.

Self-reported~126 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

16/17 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 6d ago via OSV.dev · @tomilashy/canlii-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars7Stargazers on the source repository.
npm downloads57Package downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed7Callable tools this server registers over MCP.
Directory activity6 viewsConfig copies, upvotes, and views on AllMCPs.

How Canlii MCP works

What Vaquill-AI/canlii-mcp MCP server does

Vaquill-AI/canlii-mcp MCP server connects MCP-compatible clients to the CanLII Canadian legal information API. It covers federal, provincial, and territorial collections, including courts, tribunals, statutes, and regulations. The server returns metadata rather than the contents of legal documents: titles, citations, dates, keywords, and citation relationships.

Its tools let an agent first discover available databases, then browse records within a selected court, tribunal, statute, or regulation collection. Case metadata can be retrieved for a specific result, and citation queries can identify authorities cited by a case, cases that cite it, or legislation referenced by it.

How it works

The hosted MCP endpoint is available at https://canlii-mcp.vaquill.ai/mcp. Clients that support MCP streamable HTTP can send the CanLII credential in the X-CanLII-Token header. Header-less clients can pass the credential as the token or canlii_token URL parameter. The hosted endpoint does not require a Vaquill bearer token.

Local deployments can run over stdio, HTTP, Docker, or a Cloudflare Worker. In stdio mode, the server reads the CanLII key from CANLII_API. HTTP deployments can also use MCP_AUTH_TOKEN to require a bearer token for incoming requests. HTTP mode is stateless: each MCP request is self-contained and does not require a session initialization handshake.

Setup and configuration

The documented quick-start command uses Node.js 22 or newer and the npm package @tomilashy/canlii-mcp:

config.json
{
  "command": "npx",
  "args": ["-y", "@tomilashy/canlii-mcp"],
  "env": { "CANLII_API": "your_api_key" }
}

The CanLII key is obtained through CanLII’s API application process. The server does not provide a fallback key and does not store keys supplied with requests. A self-hosted HTTP instance can set PORT, which defaults to 3000; MCP_AUTH_TOKEN is optional and adds bearer-token protection.

The hosted configuration examples cover Claude Desktop, Cursor, VS Code, and Windsurf. The hosted URL can be used directly by clients that support custom HTTP headers.

Tools and capabilities

  • list_case_databases: discover CanLII court and tribunal databases.
  • list_cases: browse decisions from a selected case database.
  • get_case: retrieve a case’s title, citation, date, and keywords.
  • get_case_citations: inspect cited cases, citing cases, or referenced legislation.
  • list_legislation_databases: discover statute and regulation databases.
  • list_legislation: browse entries in a selected legislation database.
  • get_legislation: retrieve metadata for a specific legislative item.

Limitations and notes

The Vaquill-AI/canlii-mcp MCP server is limited by the CanLII API’s metadata-only coverage. It cannot provide full case opinions, statute text, or regulation text through these tools. API usage is subject to per-key limits enforced by the server: one request at a time, two requests per second, and 5,000 requests per day. Usage is tracked independently for each CanLII key, and requests beyond the daily allowance return an error instead of being sent to CanLII.

Because every hosted request uses the caller’s own CanLII key, the available quota depends on that key. The project is released under the MIT license.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Canlii MCP

A hosted endpoint is also available without local installation.

Yes. Claude Desktop can connect to the hosted endpoint with the `X-CanLII-Token` header, or use the documented stdio configuration.

It returns metadata such as titles, citations, dates, keywords, and citation relationships. Full document text is not available through the CanLII API.

Yes. Hosted requests use the caller’s own key in a header or URL parameter, while self-hosted stdio uses `CANLII_API`.

The server enforces one request at a time, two requests per second, and 5,000 requests per day for each CanLII key.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewCanlii MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/vaquill-ai-canlii-mcp?style=directory)](https://allmcps.com/mcp/vaquill-ai-canlii-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/vaquill-ai-canlii-mcp"><img src="https://allmcps.com/api/badge/vaquill-ai-canlii-mcp?style=directory" alt="Canlii MCP on AllMCPs" /></a>