Skip to main content

my-eli-mcp

An MCP server for Laws of Malaysia Online (lom.agc.gov.my), the Attorney-General's Chambers' official portal for Malaysian federal legislation. It fetches and cites principal Acts, with a verifiable citation on every response.

Part of the MateMatic eu-legal-mcp production line, extended into Asia alongside jp-eli-mcp and sg-eli-mcp. Same citation contract (a stable identifier + a human-readable citation + a source URL), adapted for a jurisdiction with no ELI, no confirmed search API, and a source that publishes only PDF.

Scope. This MVP covers principal Acts only, addressed by their numeric act coordinate (e.g. 883). No free-text search API was found on this portal during discovery; amendments and subsidiary legislation (P.U. (A)/(B) notices) are not yet covered. Every response carries a dataset_note.

Licence. lom.agc.gov.my legislation is official public information published by the Attorney-General's Chambers of Malaysia. This connector relays it with attribution and a source_url.

The tools

Tool What it does
my_get_act Metadata for a principal Act by its numeric act coordinate.
my_get_text The full text of an Act, extracted from the official PDF.

Every response carries the contract: eli_uri (Malaysia has no ELI - this is the durable lom.agc.gov.my act page URL, e.g. https://lom.agc.gov.my/act-detail.php?language=BI&act=883, see eli_note), human_readable_citation (derived from the official PDF's own filename, since the portal carries no separate title metadata), and source_url.

Install

Not yet on PyPI - install from source until the first release ships:

git clone https://github.com/matematicsolutions/my-eli-mcp
cd my-eli-mcp
pip install -e .

Once released, this will be uvx my-eli-mcp.

Configuration via env:

  • MY_ELI_BASE_URL - default https://lom.agc.gov.my
  • MY_ELI_CACHE_DIR - default ~/.matematic/cache/my-eli
  • MY_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. lom.agc.gov.my is keyless.

Configure (Claude Code / any MCP client)

{
  "mcpServers": {
    "my-eli-mcp": { "command": "my-eli-mcp" }
  }
}

Windows 11 ze Smart App Control

Smart App Control blokuje niepodpisane pliki wykonywalne, a uvx.exe, pip.exe i generowany przy instalacji my-eli-mcp.exe podpisane nie sa. python.exe z python.org jest podpisany przez Python Software Foundation, wiec uruchomienie przez modul omija blokade:

python -m pip install my-eli-mcp
python -m my_eli_mcp
{ "mcpServers": { "my-eli-mcp": { "command": "python", "args": ["-m", "my_eli_mcp"] } } }

Nie wylaczaj Smart App Control, zeby to obejsc - wylaczenia nie da sie cofnac bez ponownej instalacji systemu.

Governance

  • Public data only - read-only against lom.agc.gov.my; no client data leaves the machine.
  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/my-eli-mcp.jsonl.
  • Vendor-neutral - talks only to lom.agc.gov.my; no LLM provider, no telemetry.
  • Verifiable citations - every response is independently checkable via source_url.

See CONSTITUTION.md and DISCOVERY.md.

Tests

pip install -e ".[dev]"
pytest tests/test_instructions_drift.py -v   # offline
pytest tests/test_smoke.py -v                # hits live lom.agc.gov.my

Licence

Apache-2.0. © Matematic Solutions / Wieslaw Mazur.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

my_eli_mcp-0.2.1.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

my_eli_mcp-0.2.1-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file my_eli_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: my_eli_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for my_eli_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9ac65a472501275ab835082badd051bf47b86c339e3a8f08effbcaba3feb973c
MD5 af197e49c7cf8a6f0daed92c7df72ac0
BLAKE2b-256 fc567f5e420ac1c3a8db5f5680f3b7ded1af619dde6071ed94c983b109e6c716

See more details on using hashes here.

File details

Details for the file my_eli_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: my_eli_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for my_eli_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 176116a69fab8a59d2a20b58c395022c79534362a615140c9fa7944033318d0b
MD5 092e029007ae2c3a21afb68823395b90
BLAKE2b-256 5352630e76994765cce65343a21cd87df91362ed8dee0589652bbe4cd2be325d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page