](https://mseep.ai/app/alhwyn-canlii-mcp)
CanLII MCP服务器
一种模型上下文协议(MCP)服务器,提供对CanLII(加拿大法律信息研究所)API的访问。该服务器允许人工智能助手搜索和检索加拿大法律信息,包括法院判决、立法和法律引用。
先决条件
- CanLII API密钥(从 加拿大API)
- Node.js和npm
- Cloudflare Workers帐户(用于部署)
设置
1.克隆和安装依赖项
git clone
cd canlii-mcp
npm install2.配置环境变量
创建一个 .env 使用以下文件或配置Cloudflare Workers环境:
CANLII_API=your_canlii_api_key_here对于Cloudflare Workers部署,使用以下命令设置环境变量:
wrangler secret put CANLII_API3.地方发展
npm run dev这将在本地启动服务器 http://localhost:8787
4.部署到Cloudflare Workers
npm run deploy可用工具
1.get_courts_and_tribunals
检索可用法院和法庭数据库的列表。
参数:
language(必填):“en”或“fr”- 可选日期筛选器:
publishedBefore,publishedAfter,modifiedBefore,modifiedAfter,changedBefore,changedAfter,decisionDateBefore,decisionDateAfter
2.get_legislation_databases
获取可用的立法数据库(法规、条例等)。
参数:
language(必填):“en”或“fr”- 可选日期过滤器(与上述相同)
3.浏览_立法
浏览特定数据库中的立法。
参数:
language(必填):“en”或“fr”databaseId(必填):数据库代码(例如,“cas”代表加拿大法规,“car”代表加拿大条例)- 可选日期过滤器
4.get_legislation_regulation_metadata
获取特定立法的详细元数据。
参数:
language(必填):“en”或“fr”databaseId(必填):数据库标识符legislationId(必填):特定立法ID
5.get_case_law_decisions
从特定数据库中检索判例法判决。
参数:
language(必填):“en”或“fr”databaseId(必填):数据库标识符offset(必填):起始记录编号resultCount(必填):结果数量(最多10000)- 可选日期过滤器
6.get_case_metadata
获取特定法庭案件的详细元数据。
参数:
language(必填):“en”或“fr”databaseId(必填):数据库标识符caseId(必填):案例标识符- 可选日期过滤器
7.get_case_citator
获取案例的引用信息(哪些案例引用了这个案例,这个案例引用了什么,等等)。
参数:
language(必填):“en”或“fr”databaseId(必填):数据库标识符caseId(必填):案例标识符metadataType(必填):“引用的案例”、“引用的案件”或“引用的立法”- 可选日期过滤器
连接到克劳德桌面
- 安装 mcp远程代理:
npm install -g mcp-remote- 在Claude Desktop中,转到“设置”>“开发人员”>“编辑配置”并添加:
{
"mcpServers": {
"canlii": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8787/sse"]
}
}
}对于已部署的服务器,请将URL替换为Cloudflare Workers URL:
https://your-worker-name.your-account.workers.dev/sse- 重新启动克劳德桌面
连接到Cloudflare AI游乐场
- 首选https://playground.ai.cloudflare.com/
- 输入您的MCP服务器URL:
https://your-worker-name.your-account.workers.dev/sse - CanLII工具将在操场上提供
使用示例
查找法院判决
// Get available courts and tribunals
await get_courts_and_tribunals({
language: "en",
});
// Browse recent decisions from Supreme Court of Canada
await get_case_law_decisions({
language: "en",
databaseId: "scc-csc",
offset: 0,
resultCount: 10,
});搜索立法
// Get legislation databases
await get_legislation_databases({
language: "en",
});
// Browse federal statutes
await browse_legislation({
language: "en",
databaseId: "cas",
});
// Get specific act metadata
await get_legislation_regulation_metadata({
language: "en",
databaseId: "cas",
legislationId: "criminal-code",
});案例引用
// Get case metadata
await get_case_metadata({
language: "en",
databaseId: "scc-csc",
caseId: "2023scc1",
});
// Find cases that cite this case
await get_case_citator({
language: "en",
databaseId: "scc-csc",
caseId: "2023scc1",
metadataType: "citingCases",
});发展
脚本
npm run dev-启动本地开发服务器npm run deploy-部署到Cloudflare Workersnpm run format-使用生物特征格式化代码npm run lint:fix-修复掉毛问题npm run type-check-运行TypeScript类型检查
项目结构
src/
├── index.ts # Main MCP server implementation
├── schema.ts # Zod schemas for API responses
└── worker-configuration.d.ts # TypeScript declarationsAPI费率限制
请注意CanLII API费率限制和使用条款。API旨在用于研究和教育目的。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 运行测试和梳理
- 提交拉取请求
