canlii-mcp
CanLII MCP 서버
CanLII API를 통해 캐나다 법률 정보를 검색하기 위한 MCP(Model Context Protocol) 서버입니다. Claude Desktop 또는 Claude Code에서 바로 판례 검색, 법령 탐색, 인용 확인을 수행할 수 있습니다.
npx canlii-mcp주요 기능
전문 검색(Full-text search) — 키워드, 사건명 또는 법적 개념을 사용하여 CanLII 전체 검색
판례 인용 확인(Case citator) — 후속 판례에서 해당 사건을 어떻게 인용하는지 확인하여 현재 유효한 판례인지 검토
법령 탐색 — 관할 구역별 법률 및 규정 탐색
이중 언어 지원 — 인용 도구를 포함한 모든 도구에서 영어 및 프랑스어 지원
9가지 도구 — 검색, 법원 탐색, 판례 탐색, 판례 메타데이터, 전체 인용 정보, 인용 미리보기, 법령 데이터베이스, 법령 탐색, 법령 메타데이터
내장 속도 제한 — CanLII API 제한(초당 2회 요청, 동시 1회, 일일 5,000회)을 준수하는 직렬 요청 큐
입력 유효성 검사 — 모든 매개변수는 정규식 검증 및 URI 인코딩을 거쳐 인젝션 방지
최소한의 리소스 — 2개의 런타임 의존성, 약 500줄의 코드, 로컬 stdio 프로세스로 실행
보안 우선 — 파일 시스템 접근 불가, 셸 실행 불가,
api.canlii.org에만 연결
Related MCP server: canlii-mcp
빠른 시작
사전 요구 사항: Node.js 18+ 및 CanLII API 키 (연구용 무료).
Claude Desktop — 설정 파일에 추가 (~/Library/Application Support/Claude/claude_desktop_config.json macOS 기준):
{
"mcpServers": {
"canlii": {
"command": "npx",
"args": ["-y", "canlii-mcp"],
"env": {
"CANLII_API_KEY": "your_api_key_here"
}
}
}
}저장 후 Claude Desktop을 재시작하세요.
Claude Code:
claude mcp add canlii -e CANLII_API_KEY=your_key -- npx -y canlii-mcp소스에서 실행 (개발용):
git clone https://github.com/mohammadfarooqi/canlii-mcp.git
cd canlii-mcp
npm install && npm run build사용 가능한 도구 (9)
search
CanLII 전체(판례, 법령, 주석)에 대한 전문 키워드 검색. 법률 연구의 기본 진입점입니다.
search({ query: "material change in circumstances Ontario", resultCount: 10 })get_courts_and_tribunals
사용 가능한 모든 법원 및 재판소 데이터베이스 목록을 나열합니다. 다른 도구에서 필요한 데이터베이스 ID를 반환합니다.
주요 온타리오 데이터베이스: onsc (고등법원), onca (항소법원), oncj (사법재판소), csc-scc (캐나다 대법원).
get_case_law_decisions
특정 법원 데이터베이스의 판례를 최근 추가된 순서대로 탐색합니다. 날짜 필터를 지원합니다.
get_case_law_decisions({ databaseId: "onsc", resultCount: 20 })get_case_metadata
특정 사건에 대한 전체 세부 정보(인용, 판결 날짜, 사건 번호, 키워드) 및 전체 판결문을 읽을 수 있는 CanLII URL을 가져옵니다.
get_case_metadata({ databaseId: "onsc", caseId: "2021onsc8582" })get_case_citator
사건의 인용 관계를 조회합니다. citingCases를 사용하여 해당 사건이 여전히 유효한 판례인지 확인하세요.
get_case_citator({ databaseId: "csc-scc", caseId: "1996canlii190", metadataType: "citingCases" })get_case_citator_tease
최대 5개의 결과를 반환하는 빠른 인용 미리보기입니다. 전체 인용 도구보다 빠르게 확인할 때 유용합니다.
get_case_citator_tease({ databaseId: "csc-scc", caseId: "1996canlii190", metadataType: "citingCases" })get_legislation_databases
모든 법령 데이터베이스를 나열합니다. 온타리오: ons (법률), onr (규정). 연방: cas (법률), car (규정).
browse_legislation
특정 데이터베이스 내의 법령 항목을 나열합니다.
browse_legislation({ databaseId: "ons" })get_legislation_regulation_metadata
특정 법률 또는 규정에 대한 메타데이터(CanLII URL 포함)를 가져옵니다.
일반적인 연구 워크플로우
검색 —
search({ query: "gatekeeping parenting time" })으로 관련 판례 찾기세부 정보 확인 —
get_case_metadata(...)로 전체 인용 및 CanLII URL 가져오기인용 확인 —
get_case_citator(..., metadataType: "citingCases")로 해당 판례가 여전히 유효한지 검증판결문 읽기 — CanLII URL을 클릭하여 canlii.org에서 전문 읽기
API 속도 제한
CanLII API 약관에 따름:
일일 5,000회 쿼리
초당 2회 요청
한 번에 1회 요청
메타데이터 접근만 가능 — 전체 문서 텍스트는 API를 통해 제공되지 않음
서버는 내장된 속도 제한기를 통해 이러한 제한을 자동으로 준수합니다.
개발
npm run build # Compile TypeScript
npm run start # Run the server (needs CANLII_API_KEY env var)프로젝트 구조
src/
index.ts # MCP server — tools, rate limiter, stdio transport
schema.ts # Zod schemas for CanLII API responses기여하기
기여를 환영합니다! 이 프로젝트는 AI 도구를 통해 캐나다 법률 연구를 더 쉽게 만드는 것을 목표로 합니다.
기여 방법:
PR 제출 방법:
이 저장소를 포크(Fork)합니다.
기능 브랜치를 생성합니다 (
git checkout -b feature/my-improvement).변경 사항을 적용하고 로컬에서 테스트합니다 (
npm run build && CANLII_API_KEY=your_key npm run start).커밋하고 포크한 저장소에 푸시합니다.
변경 내용과 이유를 설명하는 풀 리퀘스트를 엽니다.
CanLII API 응답 문제, 스키마 불일치 또는 법률 연구에 도움이 될 새로운 도구 아이디어가 있다면 해결 방법을 모르더라도 이슈를 열어주세요. 함께 조사하겠습니다.
보안
이 서버는 투명하고 최소한의 기능으로 설계되었습니다:
api.canlii.org에만 연결 — 다른 네트워크 호출, 텔레메트리, 분석 도구 없음API 키는 로컬에 유지 — 환경 변수를 통해 전달되며, 로그에 남거나 응답에 포함되지 않음
모든 입력값 검증 — 데이터베이스 ID, 사건 ID, 날짜는 사용 전 정규식 검증을 거치며, 경로 세그먼트는 URI 인코딩됨
모든 API 응답 검증 — 반환 전 Zod 스키마를 통해 파싱
파일 시스템 접근 불가 — 서버는 CanLII에 대한 HTTPS 호출만 수행
셸 실행 불가 —
child_process,exec,spawn사용 안 함2개의 런타임 의존성 —
@modelcontextprotocol/sdk(공식 Anthropic MCP SDK) 및zod(스키마 검증)내장 속도 제한 — 직렬 요청 큐를 통해 API 남용 방지
MIT 라이선스, 완전 오픈 소스 — src/index.ts(약 350줄) 및 src/schema.ts(약 140줄)에서 모든 코드 확인 가능
보안 문제를 발견하시면 SECURITY.md를 참조하세요.
알려진 제한 사항
판결문 본문 없음 — 전문 검색은 가능하지만(사건 제목, 인용, 내용 검색), API는 판결문 전문을 반환할 수 없습니다. canlii.org에서 판결문을 읽으려면 CanLII URL을 클릭해야 합니다. 단락 번호와 직접 인용은 원문을 읽고 확인해야 합니다.
키워드 기반 검색 — 의미론적 검색이 아니므로 "mother gatekeeping sole decision-making"과 같은 쿼리는 혼합된 결과를 반환할 수 있습니다. 쿼리를 구체화하고 메타데이터를 확인하기 전에 사건 제목을 먼저 확인하세요.
검색 결과에 사건 세부 정보 미포함 — 검색 결과는 인용과 제목만 반환합니다. 키워드, 주제, 판결 날짜, CanLII URL을 얻으려면 각 사건에 대해
get_case_metadata를 별도로 호출해야 합니다.처리 지표 없음 — 인용 도구는 어떤 사건이 해당 판결을 인용하는지 보여주지만, 인용된 판결이 따랐는지, 구별되었는지, 뒤집혔는지 여부는 나타내지 않습니다. 인용된 판례를 읽고 처리 여부를 판단해야 합니다.
인용 미리보기는 최대 5개 결과 — 포괄적인 인용 분석을 위해서는
get_case_citator(전체 버전)를 사용하세요.검색 시 데이터베이스/관할 구역 필터 없음 — 서버 측에서 특정 법원이나 주(province)로 검색 결과를 제한할 수 없습니다. 대신 쿼리에 관할 구역 키워드를 추가하세요 (예: "custody" 대신 "custody Ontario").
검색 엔드포인트는 비공식 — 작동은 하지만 CanLII 공식 API 문서에 없으므로 예고 없이 변경될 수 있습니다.
엄격한 속도 제한 — 일일 5,000회 쿼리, 초당 2회 요청, 동시 1회 요청(내장 속도 제한기에 의해 자동 강제).
라이선스
MIT — LICENSE 참조.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceProvides access to Canadian federal parliamentary data (debates, bills, MPs, votes, Hansard transcripts) and legal information (case law and legislation through CanLII) for research and analysis.3
- AlicenseNot gradedqualityCmaintenanceProvides access to the CanLII API for searching and retrieving Canadian legal information, including court decisions, legislation, and citations.22MIT

caselegis-mcpofficial
AlicenseNot gradedqualityDmaintenanceEnables searching, retrieving, and checking citation status of California legal opinions via the Caselegis API.MIT- FlicenseAqualityDmaintenanceEnables Claude Desktop to search the CanLII Canadian legal database and retrieve the full text of matching legal documents.1
Related MCP Connectors
MCP for CanLII: Canadian case law and legislation metadata (federal, provincial, territorial).
Resolve, search and verify legal citations against the official sources, with provenance.
Search Swiss federal legislation: laws, articles, amendments via the Fedlex SPARQL endpoint.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mohammadfarooqi/canlii-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server