# Lebanese Legislation

> Search and read Lebanese laws, articles, court rulings and the Official Gazette, verbatim.

- name: com.lebaneselegislation/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.lebaneselegislation%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.lebaneselegislation%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "lebaneselegislation": {
      "type": "http",
      "url": "https://lebaneselegislation.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% +updated-7d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 73/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_law (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_ruling (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_links (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,331 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 1,331 tokens to load them all
- tool set hash: c1c085c59e0d76ce62bb54f42023a009
- tools last changed: 2026-10-20T16:42:23.400Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.lebaneselegislation/mcp.svg)](https://protogrid.dev/servers/com.lebaneselegislation/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-20 `get_law_texts` added
  - Get the verbatim texts of a law's articles in order, a page at a time: for each article its number, section_id, note, and the same text fields as get_article (text_ar in force today, text_fr, centre_text_ar when an amendment replaced the wording, version, repealed). Follow next_offset until it is absent to read the whole law. Amendment history stays in get_article. Not legal advice.
- 2026-10-20 `get_article` changed (description, inputSchema)
  - before: Get one article's verbatim Arabic text as in force today (and French, when the Centre published it and no amendment has replaced it), its in-force status, amendment history, and the canonical and source URLs. When an amendment replaced the wording, text_ar is the new wording and centre_text_ar the earlier one the Centre's site still shows. The text is copied exactly from the database; nothing here is AI-written. Laws with ids from 2000000000 are ones the Lebanese University has not published yet, read by machine from scans of the Official Gazette's pages (unofficial copies, page images on the law's page); where the two readings differ the text shows both as ⟦reading one | reading two⟧: quote neither as certain. Not legal advice.
  - after: Get one article's verbatim Arabic text as in force today (and French, when the Centre published it and no amendment has replaced it), its in-force status, amendment history, and the canonical and source URLs. When an amendment replaced the wording, text_ar is the new wording and centre_text_ar the earlier one the Centre's site still shows. centre_error, when present, notes an error in the Centre's own text (one article repeating another, a stray letter); the text itself is left as published. The text is copied exactly from the database; nothing here is AI-written. Laws with ids from 2000000000 are ones the Lebanese University has not published yet, read by machine from scans of the Official Gazette's pages (unofficial copies, page images on the law's page); where the two readings differ the text shows both as ⟦reading one | reading two⟧: quote neither as certain. Not legal advice.
- 2026-10-20 `get_law` changed (description)
  - before: Get a law, decree or similar text's metadata (kind, number, date, status), its table of contents (article numbers) and the texts it amended or was amended by. Use get_article to read one article's verbatim text. Not legal advice.
  - after: Get a law, decree or similar text's metadata (kind, number, date, status), its table of contents (the chapters: id, parent_id, depth, heading), its articles in order (number, and the section_id of the chapter each sits under) and the texts it amended or was amended by. Use get_article to read one article's verbatim text, or get_law_texts to read all of them. Not legal advice.
- 2026-10-20 `search_legislation` changed (description, inputSchema)
  - before: Search Lebanese legislation (laws, decrees, decisions), their articles, court rulings, or Official Gazette issues, by keyword. Arabic and French. Returns verbatim snippets from the Lebanese University's database, never an AI-written summary. Not legal advice.
  - after: Search Lebanese legislation (laws, decrees, decisions), their articles, court rulings, or Official Gazette issues, by keyword: Arabic words, French words (articles the Centre published in French, and the codes' French or English names), or a law's numeric id. Returns verbatim snippets from the Lebanese University's database, never an AI-written summary. Not legal advice.
- 2026-10-16 `get_article` changed (description)
  - before: Get one article's verbatim Arabic text as in force today (and French, when the Centre published it and no amendment has replaced it), its in-force status, amendment history, and the canonical and source URLs. When an amendment replaced the wording, text_ar is the new wording and centre_text_ar the earlier one the Centre's site still shows. The text is copied exactly from the database; nothing here is AI-written. Not legal advice.
  - after: Get one article's verbatim Arabic text as in force today (and French, when the Centre published it and no amendment has replaced it), its in-force status, amendment history, and the canonical and source URLs. When an amendment replaced the wording, text_ar is the new wording and centre_text_ar the earlier one the Centre's site still shows. The text is copied exactly from the database; nothing here is AI-written. Laws with ids from 2000000000 are ones the Lebanese University has not published yet, read by machine from scans of the Official Gazette's pages (unofficial copies, page images on the law's page); where the two readings differ the text shows both as ⟦reading one | reading two⟧: quote neither as certain. Not legal advice.
- 2026-10-13 `get_article` changed (description)
  - before: Get one article's verbatim Arabic text (and French, when the Centre published it), its in-force status, amendment history, and the canonical and source URLs. The text is copied exactly from the database; nothing here is AI-written. Not legal advice.
  - after: Get one article's verbatim Arabic text as in force today (and French, when the Centre published it and no amendment has replaced it), its in-force status, amendment history, and the canonical and source URLs. When an amendment replaced the wording, text_ar is the new wording and centre_text_ar the earlier one the Centre's site still shows. The text is copied exactly from the database; nothing here is AI-written. Not legal advice.

Full history: https://api.protogrid.dev/v1/servers/com.lebaneselegislation%2Fmcp/changes

## Remotes

- https://lebaneselegislation.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9655172)

## Packages

_none_

## Tools (8)

- `get_article`: Get one article's verbatim Arabic text as in force today (and French, when the Centre published it and no amendment has replaced it), its in-force status, amendment history, and the canonical and source URLs. When an amendment replaced the wording, text_ar is the new wording and centre_text_ar the earlier one the Centre's site still shows. centre_error, when present, notes an error in the Centre's own text (one article repeating another, a stray letter); the text itself is left as published. The text is copied exactly from the database; nothing here is AI-written. Laws with ids from 2000000000 are ones the Lebanese University has not published yet, read by machine from scans of the Official Gazette's pages (unofficial copies, page images on the law's page); where the two readings differ the text shows both as ⟦reading one | reading two⟧: quote neither as certain. Not legal advice.
- `get_gazette_issue`: Get one Official Gazette issue by id: its number, publication date, and the laws, decrees and decisions it published. Not legal advice.
- `get_law`: Get a law, decree or similar text's metadata (kind, number, date, status), its table of contents (the chapters: id, parent_id, depth, heading), its articles in order (number, and the section_id of the chapter each sits under) and the texts it amended or was amended by. Use get_article to read one article's verbatim text, or get_law_texts to read all of them. Not legal advice.
- `get_law_texts`: Get the verbatim texts of a law's articles in order, a page at a time: for each article its number, section_id, note, and the same text fields as get_article (text_ar in force today, text_fr, centre_text_ar when an amendment replaced the wording, version, repealed). Follow next_offset until it is absent to read the whole law. Amendment history stays in get_article. Not legal advice.
- `get_links`: Get the graph edges into or out of one item: a law, an article, a ruling, an opinion, a research study or a Gazette issue. Use this to walk citations and amendments directly, instead of only what get_law and get_article attach automatically. Not legal advice.
- `get_ruling`: Get one court ruling (judgment) by id: court, number, date, panel, and its verbatim text when the Centre holds it as typed text (some rulings exist only as a scanned file). Not legal advice.
- `possibly_affected`: Get the general repeals that may touch a law: earlier texts with a "all provisions contrary to this law are repealed" clause pointing at it. A list to check, never a finding that anything was actually repealed. Not legal advice.
- `search_legislation`: Search Lebanese legislation (laws, decrees, decisions), their articles, court rulings, or Official Gazette issues, by keyword: Arabic words, French words (articles the Centre published in French, and the codes' French or English names), or a law's numeric id. Returns verbatim snippets from the Lebanese University's database, never an AI-written summary. Not legal advice.
