canlii-mcp
Сервер CanLII MCP
Сервер Model Context Protocol (MCP) для поиска канадской юридической информации через API CanLII. Ищите судебные дела, просматривайте законодательство и проверяйте цитирования — всё это из Claude Desktop или Claude Code.
npx canlii-mcpВозможности
Полнотекстовый поиск — поиск по всему CanLII по ключевым словам, названию дела или юридическому понятию
Цитирование дел (Citator) — проверка актуальности судебного решения путем поиска дел, ссылающихся на него
Просмотр законодательства — просмотр статутов и нормативных актов по юрисдикциям
Двуязычность — поддержка английского и французского языков во всех инструментах, включая цитатор
9 инструментов — поиск, просмотр судов, просмотр дел, метаданные дел, полный цитатор, предварительный просмотр цитатора, базы данных законодательства, просмотр законодательства, метаданные законодательства
Встроенное ограничение частоты запросов — очередь последовательных запросов соблюдает лимиты API CanLII (2 запроса/сек, 1 одновременный, 5000/день)
Валидация ввода — все параметры проверяются регулярными выражениями и кодируются в URI для предотвращения инъекций
Минимальный объем — 2 зависимости времени выполнения, ~500 строк кода, работает локально как процесс stdio
Безопасность прежде всего — нет доступа к файловой системе, нет выполнения команд оболочки, соединение только с
api.canlii.org
Related MCP server: canlii-mcp
Быстрый старт
Предварительные требования: Node.js 18+ и ключ API CanLII (бесплатно для исследовательских целей).
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
Получение полной информации по конкретному делу — цитирование, дата решения, номер дела, ключевые слова и URL CanLII для чтения полного текста решения.
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
Получение метаданных для конкретного статута или нормативного акта, включая его URL на CanLII.
Типичный рабочий процесс исследования
Поиск —
search({ query: "gatekeeping parenting time" })для поиска релевантных делПолучение деталей —
get_case_metadata(...)для получения полного цитирования и URL CanLIIПроверка цитирований —
get_case_citator(..., metadataType: "citingCases")для проверки того, что дело является действующим прецедентомЧтение решения — Нажмите на URL CanLII, чтобы прочитать полный текст на canlii.org
Лимиты API
Согласно условиям API CanLII:
5000 запросов в день
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Вклад в проект
Мы приветствуем ваш вклад! Этот проект направлен на то, чтобы сделать канадские юридические исследования более доступными с помощью инструментов ИИ.
Как помочь:
Сообщайте об ошибках или неожиданном поведении API — откройте issue
Предлагайте новые инструменты или улучшения — начните обсуждение
Отправляйте PR с исправлениями или новыми функциями
Чтобы отправить PR:
Сделайте форк этого репозитория
Создайте ветку для функции (
git checkout -b feature/my-improvement)Внесите изменения и протестируйте локально (
npm run build && CANLII_API_KEY=your_key npm run start)Закоммитьте и отправьте изменения в свой форк
Откройте pull request с описанием того, что вы изменили и почему
Если вы обнаружили проблемы с ответами API CanLII, несоответствия схем или у вас есть идеи для новых инструментов, которые помогли бы исследователям права, пожалуйста, откройте issue — даже если вы не уверены, как это исправить. Мы разберемся вместе.
Безопасность
Этот сервер спроектирован так, чтобы быть прозрачным и минималистичным:
Соединяется только с
api.canlii.org— никаких других сетевых вызовов, телеметрии или аналитикиКлюч API остается локальным — передается через переменную окружения, никогда не логируется и не включается в ответы
Все входные данные проверяются — ID баз данных, ID дел и даты проверяются регулярными выражениями перед использованием; сегменты путей кодируются в URI
Все ответы API проверяются — парсятся через схемы Zod перед возвратом
Нет доступа к файловой системе — сервер делает только HTTPS-вызовы к CanLII
Нет выполнения команд оболочки — нет
child_process,execилиspawn2 зависимости времени выполнения —
@modelcontextprotocol/sdk(официальный SDK Anthropic MCP) иzod(валидация схем)Встроенный ограничитель частоты запросов — очередь последовательных запросов предотвращает злоупотребление API
Лицензия MIT, полностью открытый исходный код — читайте каждую строку в src/index.ts (~350 строк) и src/schema.ts (~140 строк)
Если вы обнаружили проблему безопасности, пожалуйста, ознакомьтесь с SECURITY.md.
Известные ограничения
Нет текста решения — полнотекстовый поиск работает (поиск по названиям дел, цитированиям и содержанию), но API не может вернуть полный текст решения. Вы должны нажать на URL CanLII, чтобы прочитать решение на canlii.org. Номера абзацев и прямые цитаты должны быть проверены путем чтения источника.
Поиск основан на ключевых словах, а не на семантике — запросы вроде "mother gatekeeping sole decision-making" могут давать смешанные результаты. Уточняйте запросы и проверяйте названия дел перед изучением метаданных.
Результаты поиска не включают детали дела — поиск возвращает только цитирования и названия. Вам нужно вызывать
get_case_metadataотдельно для каждого дела, чтобы получить ключевые слова, темы, дату решения и URL CanLII.Нет индикаторов обработки — цитатор показывает, какие дела ссылаются на решение, но не указывает, было ли оно поддержано, разграничено или отменено. Вам нужно прочитать ссылающиеся дела, чтобы определить статус.
Предварительный просмотр цитатора ограничен 5 результатами — используйте
get_case_citator(полная версия) для комплексного анализа цитирований.В поиске нет фильтра по базе данных/юрисдикции — вы не можете ограничить результаты поиска конкретным судом или провинцией на стороне сервера; вместо этого добавляйте ключевые слова юрисдикции в ваш запрос (например, "custody Ontario" вместо просто "custody").
Эндпоинт поиска не задокументирован — он работает, но его нет в официальной документации API CanLII, поэтому он может измениться без предупреждения.
Строгие лимиты API — 5000 запросов/день, 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