Skip to main content
Glama
README.md
# cl-eli-mcp

<!-- mcp-name: io.github.matematicsolutions/cl-eli-mcp -->

MCP server for Chilean legislation via the BCN (Biblioteca del Congreso
Nacional de Chile) Linked Open Data SPARQL endpoint. Searches and fetches
laws, decrees, and resolutions by their persistent resource URI.

## What this is not

BCN's resource URIs are not formally called ELI, but they carry the same
idea: jurisdiction, type, issuing body, date, number, all in one
dereferenceable URI. This connector returns metadata (title, number, dates,
issuing body) - not the operative text of the law. Following `source_url`
(the same URI, content-negotiated) takes you to the human-readable page.

## Tools

| Tool | Purpose |
|---|---|
| `cl_search_norms` | Full-text search over norm titles |
| `cl_get_norm` | Full detail for one norm by its BCN resource URI |
| `cl_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` and `source_url` (both the BCN resource
URI) and `human_readable_citation` (e.g. `"Ley 18290, de 1984-01-23"`).

## Install

```bash
pip install cl-eli-mcp
```


### Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers `uvx.exe`, `pip.exe`
and the `cl-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:

```bash
python -m pip install cl-eli-mcp
python -m cl_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 cl_eli_mcp`.

```json
{ "mcpServers": { "cl-eli-mcp": { "command": "python", "args": ["-m", "cl_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 |
|---|---|
| `CL_ELI_CACHE_DIR` | `~/.matematic/cache/cl-eli` |
| `CL_ELI_AUDIT_DIR` | `~/.matematic/audit` |
| `CL_ELI_BASE_URL` | `https://datos.bcn.cl/sparql` |

## License

Apache-2.0 (code). BCN Linked Open Data is a public government dataset (see
[SOURCES.md](SOURCES.md)).

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search for norms, retrieve a specific norm by URI, and declare coverage gaps. There is no meaningful overlap; get_norm requires a URI from search or elsewhere, while coverage is a meta-tool.

Naming Consistency4/5

The naming uses a consistent 'cl_' prefix and most tools follow a verb_noun pattern (search_norms, get_norm). However, 'cl_coverage' is a noun phrase rather than verb_noun, which is a minor deviation from the otherwise consistent style.

Tool Count5/5

Three tools is an appropriate, focused set for a Chilean legal norms connector. Each tool serves a necessary function: searching, retrieving full details, and self-documenting gaps. No tool feels redundant or missing.

Completeness5/5

The tool surface covers the core workflow of discovering and reading Chilean norms (search + get). The coverage tool proactively addresses a key gap by telling users when absence might be a connector limitation, making the set complete for its read-only purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues