co-eli-mcp
# co-eli-mcp
<!-- mcp-name: io.github.matematicsolutions/co-eli-mcp -->
MCP server for the datos.gov.co open-data record of decisions (sentencias) by
the Colombian Constitutional Court (Corte Constitucional). Verifies whether a
citation exists and returns its metadata.
## What this is not
This dataset (`v2k4-2t8s`, "Sentencias proferidas por la Corte Constitucional")
has no full-text field - only metadata: proceso, expediente, magistrado
ponente, sala, and date. `source_url` points to the public relatoria page
where the full decision text lives, but this connector does not fetch it.
## Tools
| Tool | Purpose |
|---|---|
| `co_search_sentencias` | Free-text search (e.g. by magistrado name or proceso type) |
| `co_get_sentencia` | Exact lookup by citation, e.g. `"T-012/92"` - verifies it exists |
| `co_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` (the public
corteconstitucional.gov.co relatoria page) and `human_readable_citation`
(the citation itself, e.g. `"T-012/92"` - already the form used in practice,
so no separate identifier scheme is needed here).
## Install
```bash
pip install co-eli-mcp
```
### Windows 11 with Smart App Control
Smart App Control blocks unsigned executables, which covers `uvx.exe`, `pip.exe`
and the `co-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 co-eli-mcp
python -m co_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 co_eli_mcp`.
```json
{ "mcpServers": { "co-eli-mcp": { "command": "python", "args": ["-m", "co_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 |
|---|---|
| `CO_ELI_CACHE_DIR` | `~/.matematic/cache/co-eli` |
| `CO_ELI_AUDIT_DIR` | `~/.matematic/audit` |
| `CO_ELI_BASE_URL` | `https://www.datos.gov.co/resource/v2k4-2t8s.json` |
## License
Apache-2.0 (code). datos.gov.co data is open data (see [SOURCES.md](SOURCES.md)).
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: search for finding decisions, get for fetching metadata by citation, and coverage for understanding connector limitations. There is no overlap or ambiguity between them.
Two tools follow a clear co_verb_noun pattern (co_search_sentencias, co_get_sentencia), while co_coverage is a noun-only name. This is a minor deviation but the pattern remains readable and predictable.
With only 3 tools, the server is tightly scoped to the task of searching and retrieving Colombian constitutional decisions. Each tool earns its place, and the count feels appropriate for the connector's focused purpose.
The core workflows of searching, retrieving, and verifying decisions are covered. The coverage tool explicitly documents gaps and fallbacks, which mitigates potential missing functionality. A minor gap is the lack of a listing or browsing tool, but search handles that sufficiently.