Skip to main content

MCP server for Laws of Malaysia Online (lom.agc.gov.my) — fetch and cite Malaysian principal Acts by act number.

Project description

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.

Project details


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.1.0.tar.gz (18.4 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.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: my_eli_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 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.1.0.tar.gz
Algorithm Hash digest
SHA256 bb58e3895d7c2cf918a04952a2716181cd31c8a0deecae21ca1e104caede40e6
MD5 96247f53ebb0d3edb79b3d8f6c4784f4
BLAKE2b-256 cbd20ba48afcd681dadea02859bec4bbc53a8ccd38d10b2bc2d52da8e935c3d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: my_eli_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13d9ab3550b24a0cd1278c6bbc9673224f2a39ae81b5e051c765034c636d530f
MD5 6d72558be47d4ae7d76458ba16e89287
BLAKE2b-256 acad013366210601c6e0c7afe4d87e0294a8500b7ad4e39f0647675c4d3b2237

See more details on using hashes here.

Supported by

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