这是一个提供访问CanLII(加拿大法律信息研究所)API的模型上下文协议(MCP)服务器。该服务器允许AI助手搜索并检索加拿大法律信息,包括法院判决、立法和法律引用。
git clone <repository-url>
cd canlii-mcp
npm install
创建一个.env文件或配置你的Cloudflare Workers环境:
CANLII_API=your_canlii_api_key_here
对于Cloudflare Workers部署,使用以下命令设置环境变量:
wrangler secret put CANLII_API
npm run dev
这将在http://localhost:8787启动本地服务器。
npm run deploy
检索可用的法院和仲裁机构数据库列表。
参数:
language(必需):"en" 或 "fr"publishedBefore,publishedAfter,modifiedBefore,modifiedAfter,changedBefore,changedAfter,decisionDateBefore,decisionDateAfter获取可用的立法数据库(法规、条例等)。
参数:
language(必需):"en" 或 "fr"在特定数据库中浏览立法。
参数:
language(必需):"en" 或 "fr"databaseId(必需):数据库代码(例如,“cas”代表加拿大法规,“car”代表加拿大条例)获取特定立法的详细元数据。
参数:
language(必需):"en" 或 "fr"databaseId(必需):数据库标识符legislationId(必需):特定立法ID从特定数据库检索案例法判决。
参数:
language(必需):"en" 或 "fr"databaseId(必需):数据库标识符offset(必需):起始记录编号resultCount(必需):结果数量(最大10,000)获取特定法院案件的详细元数据。
参数:
language(必需):"en" 或 "fr"databaseId(必需):数据库标识符caseId(必需):案件标识符获取案件引用信息(哪些案件引用了此案件,此案件引用了哪些案件等)。
参数:
language(必需):"en" 或 "fr"databaseId(必需):数据库标识符caseId(必需):案件标识符metadataType(必需):"citedCases","citingCases" 或 "citedLegislations"安装mcp-remote代理:
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
https://your-worker-name.your-account.workers.dev/sse// 获取可用的法院和仲裁机构
await get_courts_and_tribunals({
language: "en",
});
// 浏览加拿大最高法院最近的判决
await get_case_law_decisions({
language: "en",
databaseId: "scc-csc",
offset: 0,
resultCount: 10,
});
// 获取立法数据库
await get_legislation_databases({
language: "en",
});
// 浏览联邦法规
await browse_legislation({
language: "en",
databaseId: "cas",
});
// 获取特定法案的元数据
await get_legislation_regulation_metadata({
language: "en",
databaseId: "cas",
legislationId: "criminal-code",
});
// 获取案件元数据
await get_case_metadata({
language: "en",
databaseId: "scc-csc",
caseId: "2023scc1",
});
// 查找引用此案件的案件
await get_case_citator({
language: "en",
databaseId: "scc-csc",
caseId: "2023scc1",
metadataType: "citingCases",
});
npm run dev - 启动本地开发服务器npm run deploy - 部署到Cloudflare Workersnpm run format - 使用Biome格式化代码npm run lint:fix - 修复linting问题npm run type-check - 运行TypeScript类型检查src/
├── index.ts # 主MCP服务器实现
├── schema.ts # API响应的Zod模式
└── worker-configuration.d.ts # TypeScript声明
请注意CanLII API的速率限制和使用条款。API旨在用于研究和教育目的。