使用说明
canlii mcp
一 MCP(模型上下文协议) 服务器 CanLII 加拿大法律信息API。使人工智能助理能够访问所有联邦、省和地区司法管辖区的加拿大判例法和立法元数据。
注: CanLII API仅提供元数据-标题、引用、日期、关键字和引用关系。API无法提供完整的文档文本。
工具
| 工具 | 说明 |
|---|---|
list_case_databases |
列出CanLII收藏中的所有法院和法庭 |
list_cases |
浏览特定法院/法庭数据库中的判决 |
get_case |
获取特定案例的元数据(标题、引用、日期、关键字) |
get_case_citations |
获取案例引用的案例、引用案例或引用的立法 |
list_legislation_databases |
列出所有法规和条例数据库 |
list_legislation |
从特定数据库浏览法规或条例 |
get_legislation |
获取特定立法的元数据 |
需求
- Node.js 22+
- A CanLII API密钥- 此处申请
用法
通过npx进行stdio(最快)
{
"mcpServers": {
"canlii": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@tomilashy/canlii-mcp"],
"env": {
"CANLII_API": "your_api_key"
}
}
}
}
stdio(来源)
npm install
npm run build
node dist/index.js
添加到MCP配置中:
{
"mcpServers": {
"canlii": {
"command": "node",
"args": ["/path/to/canlii-mcp/dist/index.js"],
"env": {
"CANLII_API": "your_api_key"
}
}
}
}
HTTP服务器
PORT=3000 CANLII_API=your_api_key node dist/index.js --transport http
MCP端点位于 http://localhost:3000/mcp服务器在无状态模式下运行——每个请求都是自包含的,不需要会话ID或初始化握手。客户可以直接调用工具:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_case_databases","arguments":{"language":"en"}}}'
码头工人
docker run -e CANLII_API=your_api_key -e MCP_AUTH_TOKEN=your_secret -p 3000:3000 ghcr.io/tomilashy/canlii-mcp
或者使用Docker Compose:
services:
canlii-mcp:
image: ghcr.io/tomilashy/canlii-mcp
environment:
CANLII_API: your_api_key
MCP_AUTH_TOKEN: your_secret # optional
ports:
- "3000:3000"
Cloudflare员工
服务器包括一个与Workers兼容的入口点(src/worker.ts).
CLI部署
npx wrangler secret put CANLII_API
npx wrangler secret put MCP_AUTH_TOKEN # optional
npx wrangler deploy
仪表板部署(连接到Git)
- 首选 Cloudflare仪表板 → 工人和页面 → 创建 → 连接到Git
- 选择您的
tomilashy/canlii-mcp仓库 - 上 设置您的应用程序 页面:
- 项目名称:
canlii-mcp - 生成命令:
npm install && npm run build - 部署命令:
npx wrangler deploy(预填)
- 项目名称:
- 扩展 高级设置:
- 变量名称:
CANLII_API - 变量值:您的CanLII API密钥
- 检查 加密 将其作为秘密存储
- 变量名称:
- 点击 部署
MCP端点将位于 https://canlii-mcp.<your-subdomain>.workers.dev/mcp.
配置
| 环境变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
CANLII_API |
是 | - | 您的CanLII API密钥 |
PORT |
没有 | 3000 |
HTTP服务器端口(仅限HTTP模式) |
MCP_AUTH_TOKEN |
没有用于HTTP身份验证的承载令牌。如果设置,所有HTTP请求都必须包括 Authorization: Bearer <token>。如果未设置,服务器将在没有身份验证的情况下运行。 |
速率限制
服务器自动执行CanLII的API限制:
- 一次一个请求
- 每秒2个请求
- 每天5000个请求
超过每日限制的请求返回错误,而不是命中API。
发展
npm install
npm run build # compile TypeScript
npm run watch # watch mode
发布
此项目使用 语义化版本 通过 语义释放.提交消息后 约定式提交 规格:
| 提交前缀 | 发布类型 |
|---|---|
fix: |
补丁(1.0.0 → 1.0.1) |
feat: |
未成年人(1.0.0 → 1.1.0) |
feat!: 或 BREAKING CHANGE |
专业(1.0.0 → 2.0.0) |
推到 main 触发发布工作流。如果版本被剪切,Docker镜像会自动构建并发布到 ghcr.io.
许可证
麻省理工学院