io.github.matematicsolutions/ca-eli-mcp
MCP server for Canadian federal legislation (Justice Laws Website), verifiable citations.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
ca-eli-mcpclaude mcp add ca-eli-mcp -- uvx ca-eli-mcp==0.3.3
{
"mcpServers": {
"ca-eli-mcp": {
"command": "uvx",
"args": [
"ca-eli-mcp==0.3.3"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
ca-eli-mcp
MCP server for Canadian federal legislation via the Justice Laws Website (laws-lois.justice.gc.ca), the Department of Justice Canada's official source for consolidated Acts and regulations. Bilingual (English/French).
What this is not
- No free-text search - the Justice Laws Website has no search API of
its own. This connector is by-code only (the same limitation as
ie-eli-mcpfor Ireland): you need to already know the code (e.g."C-46"for the Criminal Code) or a short title to look one up. - Federal only - provincial and territorial legislation is out of scope.
- No case law - CanLII's terms of service forbid bulk redistribution and its content API requires a per-identity key, which breaks the zero-cloud pattern this connector otherwise follows. Not attempted here.
Tools
| Tool | Purpose |
|---|---|
ca_get_document | Metadata (title, in-force status, last-consolidated date) for one act or regulation |
ca_get_text | Full consolidated XML text of the same document |
ca_coverage | Declare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback. |
Every response carries lex_uri (the XML source), source_url (the public
HTML page), and human_readable_citation (e.g. "Criminal Code (C-46)").
Install
pip install ca-eli-mcp
Windows 11 with Smart App Control
Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe
and the ca-eli-mcp.exe launcher that pip writes at install time. The python.exe and
py.exe from the python.org installer are signed by the Python Software
Foundation, so running the module through the interpreter works:
python -m pip install ca-eli-mcp
python -m ca_eli_mcp
pip.exe is blocked for the same reason, so install with python -m pip, not
pip install. If python is not on PATH, use the Windows launcher: py -3 -m ca_eli_mcp.
{ "mcpServers": { "ca-eli-mcp": { "command": "python", "args": ["-m", "ca_eli_mcp"] } } }
Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.
Configuration
| Env var | Default |
|---|---|
CA_ELI_CACHE_DIR | ~/.matematic/cache/ca-eli |
CA_ELI_AUDIT_DIR | ~/.matematic/audit |
CA_ELI_BASE_URL | https://laws-lois.justice.gc.ca |
License
Apache-2.0 (code). Justice Laws Website content is Government of Canada material (see SOURCES.md).
Frequently asked questions
What is io.github.matematicsolutions/ca-eli-mcp?
MCP server for Canadian federal legislation (Justice Laws Website), verifiable citations.
How do I install io.github.matematicsolutions/ca-eli-mcp?
It runs on your machine. In Claude Code: claude mcp add ca-eli-mcp -- uvx ca-eli-mcp==0.3.3. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.matematicsolutions/ca-eli-mcp need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.matematicsolutions/ca-eli-mcp open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Who maintains io.github.matematicsolutions/ca-eli-mcp?
It is published by matematicsolutions. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.