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

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

MCP server for Israeli law via the Knesset's official OData API plus a
local case-law corpus. Covers the legislation registry (`KNS_IsraelLaw`:
in-force/repealed status, Basic Law flag), published law versions with
their official PDF documents (`KNS_Law` + `KNS_DocumentLaw`, including
consolidated texts), and 10,558 Hebrew court judgments.

## What this is not

- **Law texts are PDF links, not inline text** - `il_get_law_documents`
  returns official fs.knesset.gov.il PDF URLs; fetching and reading the
  PDF is the client's job.
- **Two disjoint legislation id spaces** - `israel_law_id` (registry) and
  `law_id` (published versions). The Knesset exposes no reliable general
  join between them; search both by name (see [DISCOVERY.md](DISCOVERY.md)).
- **Hebrew only** - law names, queries and judgments are in Hebrew.
- **No Supreme Court case law** - the local corpus covers Family, District,
  Magistrate, Labor, Military and Administrative courts only, and its
  upstream license is undocumented (analysis use, not redistribution).

## Tools

| Tool | Purpose |
|---|---|
| `il_search_laws` | Full-text search over law names (registry: status, Basic Law flag) |
| `il_get_law` | Full detail for one law by its `IsraelLawID` |
| `il_search_law_texts` | Search published law versions (KNS_Law), incl. consolidated texts |
| `il_get_law_documents` | Official PDF documents for a published law (fs.knesset.gov.il) |
| `il_search_case_law` | Keyword search over the local corpus of 10,558 judgments |
| `il_get_case` | One judgment's full text by `judgment_id` |
| `il_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`, `source_url` and `human_readable_citation`
(the Hebrew name) - Israel has no separate public citation identifier
scheme for this data, so the URLs are dereferenceable Knesset OData entity
URLs, never invented.

## Install

```bash
pip install il-eli-mcp
```


### Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers `uvx.exe`, `pip.exe`
and the `il-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 il-eli-mcp
python -m il_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 il_eli_mcp`.

```json
{ "mcpServers": { "il-eli-mcp": { "command": "python", "args": ["-m", "il_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 |
|---|---|
| `IL_ELI_CACHE_DIR` | `~/.matematic/cache/il-eli` |
| `IL_ELI_AUDIT_DIR` | `~/.matematic/audit` |
| `IL_ELI_BASE_URL` | `https://knesset.gov.il/Odata/ParliamentInfo.svc` |

## License

Apache-2.0 (code). Knesset OData content is official parliamentary
publication material (see [SOURCES.md](SOURCES.md)).

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource and action: law metadata, law detail, published law texts, law documents, case law search, case detail, and coverage. The overlapping search tools explicitly clarify the disjoint ID spaces and different underlying registries.

Naming Consistency5/5

All tools follow a consistent `il_` prefix with verb_noun structure: search_laws, get_law, search_law_texts, get_law_documents, search_case_law, get_case. The only outlier `coverage` is a single non-CRUD utility, still readable and consistent with the prefix pattern.

Tool Count5/5

Seven tools is a well-scoped set for a legal research connector, covering both statutory law and case law without unnecessary overlap. Each tool serves a clear purpose and fits within the typical 3-15 tool sweet spot.

Completeness5/5

The tool surface provides complete search, retrieval, and document access for both laws and cases. The explicit coverage tool acknowledges gaps and offers fallbacks, making the set robust against missing data and reducing dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues