What this is
MCP (Model Context Protocol) lets an AI assistant call tools on a server instead of guessing from training data. Connect one here and it can search this library, open a law, read one article's exact text (Arabic and French, as the Lebanese University's Centre for Research and Studies in Legal Informatics published it), and walk the citation graph between texts.
Nothing here is written or rewritten by a model. Every text a tool returns is copied from the database, the same text the pages on this site show. Anything an AI tells you beyond that text can be wrong. Check the article it cites, and the Official Gazette, before relying on it.
The server
One address, no account, no key:
https://lebaneselegislation.com/mcp
It speaks Streamable HTTP, stateless JSON-RPC 2.0 (MCP protocol version 2025-06-18; 2025-03-26 also works). No sign-in, no session to keep open. It runs on Cloudflare, close to wherever your assistant is, and reads a nightly copy of the library rather than the site's own database, so a burst of AI traffic never slows the site down.
Claude (claude.ai and Claude Desktop)
Settings → Connectors → Add custom connector. Name it "Lebanese Legislation" and paste the URL above.
Claude Code
claude mcp add --transport http lebanese-legislation https://lebaneselegislation.com/mcp
ChatGPT
Settings → Connectors (or Settings → Apps & Connectors → Advanced → Developer mode on a paid plan) → Add connector, same URL.
Cursor and VS Code (mcp.json)
{
"mcpServers": {
"lebanese-legislation": {
"url": "https://lebaneselegislation.com/mcp"
}
}
}
Gemini CLI (settings.json)
{
"mcpServers": {
"lebanese-legislation": {
"httpUrl": "https://lebaneselegislation.com/mcp"
}
}
}
What it can do
- search_legislation: search laws, articles, rulings or Gazette issues by keyword, Arabic or French.
- get_law: a law's metadata, status, table of contents, and the texts it amended or was amended by.
- get_article: one article's verbatim text, status, amendment history and source.
- get_ruling: one court ruling.
- get_gazette_issue: one Official Gazette issue and what it published.
- get_links: the graph edges into or out of a law, article, ruling, opinion, research study or Gazette issue, for walking citations and amendments directly.
- possibly_affected: the general repeals that may touch a law, a list to check, never a finding that anything was actually repealed.
Every result carries this site's own address for that law, article, ruling or issue, the Centre's own source page when known, and the not-legal-advice line.
The JSON API
The same data, over plain HTTP, for anything that isn't an MCP client:
GET /api/v1/search/?q=&type=laws|rulings|gazette|articles&year=&limit=&offset=
GET /api/v1/law/{id}/
GET /api/v1/law/{id}/article/{n}/
GET /api/v1/ruling/{id}/
GET /api/v1/gazette/{id}/
curl "https://lebaneselegislation.com/api/v1/search/?q=%D9%85%D9%88%D8%AC%D8%A8%D8%A7%D8%AA&limit=5"
Limits
- 60 calls a minute per address. Past that, a 429 and a Retry-After.
- Requests over 64 KB are rejected.
- Search results, 20 at a time at most.
- Every legal text is verbatim from the database. No tool paraphrases or summarizes a law.
- Not legal advice. Official texts from the Lebanese University's Centre for Research and Studies in Legal Informatics.
Tell me if this changes
We are measuring how people connect to this. If anything about the server or the tools changes, we will email you once.
Nothing else is sent. To have your address deleted, write to [email protected]. See About for what we count.