Skip to main content

sg-eli-mcp

An MCP server for Singapore Statutes Online (SSO, sso.agc.gov.sg), the Attorney-General's Chambers' official portal for Singapore legislation. It browses, fetches, and cites Acts, with a verifiable citation on every response.

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

Scope. SSO's robots.txt disallows /search; discovery here is by browsing the current Acts listing (sg_list_acts, paginated), not by title or keyword query. Fetch a specific section (sg_get_provision) or the full text (sg_get_full_text, truncated for very large Acts). Every response carries a dataset_note.

Licence. SSO legislation is official public information published by the Singapore government. This connector relays it with attribution and a source_url, respects robots.txt (no /search calls), and does not cache more aggressively than a normal browser visit would.

The tools

Tool What it does
sg_list_acts Browse the current Acts, paginated (no keyword search - see Scope above).
sg_get_provision The text of one numbered section of an Act, by act_code and section number.
sg_get_full_text The full text of an Act (truncated at ~300,000 characters).

Every response carries the contract: eli_uri (Singapore has no ELI - this is the durable SSO act URL, e.g. https://sso.agc.gov.sg/Act/CoA1967, see eli_note), human_readable_citation (the Act title as SSO itself renders it, e.g. Companies Act 1967), and source_url.

Install

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

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

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

Configuration via env:

  • SG_ELI_BASE_URL - default https://sso.agc.gov.sg
  • SG_ELI_CACHE_DIR - default ~/.matematic/cache/sg-eli
  • SG_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. SSO is keyless.

Configure (Claude Code / any MCP client)

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

Windows 11 ze Smart App Control

Smart App Control blokuje niepodpisane pliki wykonywalne, a uvx.exe, pip.exe i generowany przy instalacji sg-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 sg-eli-mcp
python -m sg_eli_mcp
{ "mcpServers": { "sg-eli-mcp": { "command": "python", "args": ["-m", "sg_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 SSO; no client data leaves the machine.
  • Robots-compliant - never calls /search (disallowed by SSO's robots.txt); discovery uses only the allowed /Browse listing.
  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/sg-eli-mcp.jsonl.
  • Vendor-neutral - talks only to sso.agc.gov.sg; 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 SSO

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

sg_eli_mcp-0.2.1.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

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

sg_eli_mcp-0.2.1-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sg_eli_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5c10fb169ffe2ea01290bdc215dcb0d3362c226f55bbc668afee02b2c0311741
MD5 1b3fd92bd75139b7ba9e1ac7b9c475b0
BLAKE2b-256 3c5eb160f2a44e5655389ece696e676a1ab0da04346a1b4fcdb6fbc850c12624

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sg_eli_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 35420238950038a85c63638e1e3594c7bf1de5f007225325d2a2e2b40a5bf55f
MD5 456acb13c594df7945aee82e3ed7ef10
BLAKE2b-256 7826fa94a734ba545819c5455bd9a2dc81f0eecadf924cb215082137db494ec4

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