Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"canlii": {
"env": {
"CANLII_API_KEY": "your_api_key_here"
},
"args": [
"-y",
"canlii-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server for searching Canadian legal information via the CanLII API. Search cases, browse legislation, and check citations — all from Claude Desktop or Claude Code.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'canlii-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked canlii-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in legal
87 tools for Korean law — statutes, precedents, ordinances, interpretations | MCP Server · CLI · npm
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
956k Swiss court decisions: full-text search, citation graph, statute lookup (DE/FR/IT)
AFIP — Argentine tax authority, electronic invoicing (Factura Electrónica)
MCP Security Weekly
Get CVE alerts and security updates for io.github.mohammadfarooqi/canlii and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server for searching Canadian legal information via the CanLII API. Search cases, browse legislation, and check citations — all from Claude Desktop or Claude Code.
npx canlii-mcp
api.canlii.orgPrerequisites: Node.js 18+ and a CanLII API key (free for research use).
Claude Desktop — add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"canlii": {
"command": "npx",
"args": ["-y", "canlii-mcp"],
"env": {
"CANLII_API_KEY": "your_api_key_here"
}
}
}
}
Restart Claude Desktop after saving.
Claude Code:
claude mcp add canlii -e CANLII_API_KEY=your_key -- npx -y canlii-mcp
From source (for development):
git clone https://github.com/mohammadfarooqi/canlii-mcp.git
cd canlii-mcp
npm install && npm run build
Full-text keyword search across all of CanLII — cases, legislation, and commentary. This is the primary entry point for legal research.
search({ query: "material change in circumstances Ontario", resultCount: 10 })
List all available court and tribunal databases. Returns database IDs needed by other tools.
Key Ontario databases: onsc (Superior Court), onca (Court of Appeal), oncj (Court of Justice), csc-scc (Supreme Court of Canada).
Browse case law decisions from a specific court database, ordered by most recently added. Supports date filters.
get_case_law_decisions({ databaseId: "onsc", resultCount: 20 })
Get full details for a specific case — citation, decision date, docket number, keywords, and CanLII URL for reading the full decision.
get_case_metadata({ databaseId: "onsc", caseId: "2021onsc8582" })
Look up citation relationships for a case. Use citingCases to check if a case is still good law.
get_case_citator({ databaseId: "csc-scc", caseId: "1996canlii190", metadataType: "citingCases" })
Quick citation preview returning max 5 results. Faster than the full citator for a quick check.
get_case_citator_tease({ databaseId: "csc-scc", caseId: "1996canlii190", metadataType: "citingCases" })
List all legislation databases. Ontario: ons (Statutes), onr (Regulations). Federal: cas (Statutes), car (Regulations).
List legislation items within a specific database.
browse_legislation({ databaseId: "ons" })
Get metadata for a specific statute or regulation, inclu