io.github.matematicsolutions/ca-eli-mcp

Official registry Other

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).

PYPI package ca-eli-mcp
Claude Code
claude mcp add ca-eli-mcp -- uvx ca-eli-mcp==0.3.3
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "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.

Contents
  1. ca-eli-mcp
  2. What this is not
  3. Tools
  4. Install
  5. Configuration
  6. License

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-mcp for 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

ToolPurpose
ca_get_documentMetadata (title, in-force status, last-consolidated date) for one act or regulation
ca_get_textFull consolidated XML text of the same document
ca_coverageDeclare 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 varDefault
CA_ELI_CACHE_DIR~/.matematic/cache/ca-eli
CA_ELI_AUDIT_DIR~/.matematic/audit
CA_ELI_BASE_URLhttps://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.