Canlii Mcp

Canlii Mcp

🚀 CanLII MCP服务器

CanLII MCP服务器是一个基于模型上下文协议(MCP)的服务器,它提供了对加拿大法律信息研究所(CanLII)API的访问。借助该服务器,AI助手能够搜索和获取包括法院判决、法规以及法律引用在内的加拿大法律信息。

🚀 快速开始

✨ 主要特性

  • 提供对CanLII API的访问,支持AI助手搜索和获取加拿大法律信息。
  • 提供多种工具,可用于检索法院和法庭数据库、法规数据库、浏览法规、获取法规元数据、获取判例法判决、获取案例元数据和案例引用信息等。
  • 支持与Claude Desktop和Cloudflare AI Playground集成。

📦 安装指南

前提条件

  • CanLII API密钥(从 CanLII API 获取)
  • Node.js和npm
  • Cloudflare Workers账户(用于部署)

安装步骤

  1. 克隆仓库并安装依赖
git clone 
cd canlii-mcp
npm install
  1. 配置环境变量 创建一个 .env 文件或在Cloudflare Workers环境中配置以下内容:
CANLII_API=your_canlii_api_key_here

若要部署到Cloudflare Workers,可使用以下命令设置环境变量:

wrangler secret put CANLII_API
  1. 本地开发
npm run dev

这将在本地启动服务器,访问地址为 http://localhost:8787。 4. 部署到Cloudflare Workers

npm run deploy

💻 使用示例

基础用法

查找法院判决
// 获取可用的法院和法庭
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",
});

📚 详细文档

可用工具

  1. get_courts_and_tribunals 检索可用的法院和法庭数据库列表。 参数:
  • language(必填):"en" 或 "fr"
  • 可选日期过滤器:publishedBeforepublishedAftermodifiedBeforemodifiedAfterchangedBeforechangedAfterdecisionDateBeforedecisionDateAfter
  1. get_legislation_databases 获取可用的法规数据库(如成文法、法规等)。 参数:
  • language(必填):"en" 或 "fr"
  • 可选日期过滤器(同上)
  1. browse_legislation 浏览特定数据库中的法规。 参数:
  • language(必填):"en" 或 "fr"
  • databaseId(必填):数据库代码(例如,"cas" 表示加拿大法规,"car" 表示加拿大条例)
  • 可选日期过滤器
  1. get_legislation_regulation_metadata 获取特定法规的详细元数据。 参数:
  • language(必填):"en" 或 "fr"
  • databaseId(必填):数据库标识符
  • legislationId(必填):特定法规ID
  1. get_case_law_decisions 从特定数据库中检索判例法判决。 参数:
  • language(必填):"en" 或 "fr"
  • databaseId(必填):数据库标识符
  • offset(必填):起始记录编号
  • resultCount(必填):结果数量(最多10,000条)
  • 可选日期过滤器
  1. get_case_metadata 获取特定法院案件的详细元数据。 参数:
  • language(必填):"en" 或 "fr"
  • databaseId(必填):数据库标识符
  • caseId(必填):案件标识符
  • 可选日期过滤器
  1. get_case_citator 获取案件的引用信息(如哪些案件引用了此案件、此案件引用了哪些案件等)。 参数:
  • language(必填):"en" 或 "fr"
  • databaseId(必填):数据库标识符
  • caseId(必填):案件标识符
  • metadataType(必填):"citedCases"、"citingCases" 或 "citedLegislations"
  • 可选日期过滤器

连接到Claude Desktop

  1. 安装 mcp-remote代理
npm install -g mcp-remote
  1. 在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
  1. 重启Claude Desktop

连接到Cloudflare AI Playground

  1. 访问 https://playground.ai.cloudflare.com/
  2. 输入你的MCP服务器URL:https://your-worker-name.your-account.workers.dev/sse
  3. CanLII工具将在Playground中可用

🔧 技术细节

脚本

  • npm run dev - 启动本地开发服务器
  • npm run deploy - 部署到Cloudflare Workers
  • npm run format - 使用Biome格式化代码
  • npm run lint:fix - 修复代码检查问题
  • npm run type-check - 运行TypeScript类型检查

项目结构

src/
├── index.ts          # 主要的MCP服务器实现
├── schema.ts         # API响应的Zod模式
└── worker-configuration.d.ts  # TypeScript声明

📄 许可证

文档未提及相关许可证信息。

⚠️ 重要提示

要注意CanLII API的速率限制和使用条款。该API仅用于研究和教育目的。

💡 使用建议

如果你想为项目做出贡献,可以按照以下步骤进行:

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 运行测试和代码检查
  5. 提交拉取请求
  • 0 关注
  • 0 收藏,27 浏览
  • system 提出于 2025-10-03 23:27

相似服务问题

相关AI产品