
CanLII
io.github.Vaquill-AIv0.1.0更新于 Sep 29, 2026
MCP for CanLII: Canadian case law and legislation metadata (federal, provincial, territorial).
安装
在 SourceWeft 中
- 打开 控制台中的 CanLII,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"canlii-mcp": {
"type": "http",
"url": "https://canlii-mcp.vaquill.ai/mcp"
}
}
}README
canlii-mcp
An MCP (Model Context Protocol) server for the CanLII Canadian legal information API. Gives AI assistants access to Canadian case law and legislation metadata across all federal, provincial, and territorial jurisdictions.
Forked from tomilashy/canlii-mcp. This fork adds bring-your-own-key (BYOK) auth, a
/healthroute, and a hosted endpoint atcanlii-mcp.vaquill.ai. Tools are unchanged.
Note: The CanLII API provides metadata only — titles, citations, dates, keywords, and citation relationships. Full document text is not available through the API.
Use the hosted endpoint (no install)
The hosted instance is public. No Vaquill token is required. Provide your own CanLII key one of two ways:
-
Header (recommended, keeps the key out of the URL):
X-CanLII-Token: <your_canlii_api_key> -
URL parameter (simplest; works in header-less clients like the Claude Desktop connector UI and claude.ai web): append
?token=<your_canlii_api_key>to the URL:
Apply for a key via the CanLII API request form. The server never stores your key, and there is no server-side fallback key, so every call counts against your own CanLII quota.
Claude Desktop / Claude Code
Cursor / VS Code / Windsurf
Same pattern: any client supporting MCP streamable HTTP with custom headers works. For stdio-only clients use mcp-remote to proxy.
Authentication
Tools
Requirements
- Node.js 22+
- A CanLII API key — apply here
Usage
stdio via npx (quickest)
stdio (from source)
Add to your MCP config:
HTTP server
The MCP endpoint is available at http://localhost:3000/mcp. The server runs in stateless mode — each request is self-contained, no session ID or initialize handshake required. Clients can call tools directly:
Docker
Or with Docker Compose:
Cloudflare Workers
The server includes a Workers-compatible entry point (src/worker.ts).
CLI deploy
Dashboard deploy (Connect to Git)
- Go to Cloudflare Dashboard → Workers & Pages → Create → Connect to Git
- Select your
tomilashy/canlii-mcprepository - On the Set up your application page:
- Project name:
canlii-mcp - Build command:
npm install && npm run build - Deploy command:
npx wrangler deploy(pre-filled)
- Project name:
- Expand Advanced settings:
- Variable name:
CANLII_API - Variable value: your CanLII API key
- Check Encrypt to store it as a secret
- Variable name:
- Click Deploy
The MCP endpoint will be at https://canlii-mcp.<your-subdomain>.workers.dev/mcp.
Configuration
Rate Limits
The server enforces CanLII's API limits automatically, per CanLII key, so one caller's usage never throttles another's:
- 1 request at a time
- 2 requests per second
- 5,000 requests per day
These mirror CanLII's own per-key limits. Each X-CanLII-Token gets its own independent budget (keyed by a hash of the key; raw keys are never retained). Requests that exceed the daily limit return an error rather than hitting the API.
Development
Release
This project uses Semantic Versioning via semantic-release. Commit messages follow the Conventional Commits spec:
Pushing to main triggers the release workflow. If a release is cut, the Docker image is automatically built and published to ghcr.io.
License
MIT
Community
Questions, ideas, or want to contribute? Join the Vaquill community on Discord.
来源:README.md,提交 fad5aa1
工具
0版本历史
1- v0.1.0最新Sep 16, 2026