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" }
  }
}

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.0.tar.gz (19.8 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.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: my_eli_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 19.8 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.0.tar.gz
Algorithm Hash digest
SHA256 159caf68fae4b48bb430e6a54048e8d31616cd3436e1b71169b2d4f47c3753c0
MD5 f640fb5f494c8632bb06450776f9d07c
BLAKE2b-256 67e79395db89cf42d06b197d6cfda672a30668afaa99d566a4d442686a97b573

See more details on using hashes here.

File details

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

File metadata

  • Download URL: my_eli_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0098febb5f7fbdd814d1c4d4d7ae2040ce41d3aa82f95d8f1e54bdcff75e896d
MD5 549cfda8a298b173e9773798dd942c4e
BLAKE2b-256 80d6bee543d1a7deb8d9a93175b78b9340d9cb2e5feaebd8b30fcd1a7cdf0fc2

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

0.2.1

2 files

This release

0.2.0 This release

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