关于 sg-eli-mcp
sg-eli-mcp 是面向新加坡法律研究者及 MCP 客户端的 Singapore Statutes Online 只读连接器,可浏览法案并获取条文或全文。每个响应都附带可核验的引文和来源链接,并遵守 SSO 的 robots.txt 限制。
主要功能
- 01分页浏览现行法案
- 02获取指定法案条文
- 03获取法案全文
- 04声明覆盖范围与数据缺口
- 05响应附带可核验引文
适用场景
- 01浏览现行新加坡法案清单
- 02查阅指定法案的某一条文
- 03获取法案文本并核对来源
MCP 相关
该项目是 MCP 服务,通过工具向 MCP 客户端提供 Singapore Statutes Online 的法案浏览、条文和全文读取功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page_size | integer | 否 | 每页结果数,1-100(默认值 20)。 |
| page_index | integer | 否 | 从 1 开始的页码(默认值为 1)。 |
详细介绍
sg-eli-mcp
面向 Singapore Statutes Online(SSO,sso.agc.gov.sg)的 MCP 服务。SSO 是新加坡总检察署负责新加坡法律的官方门户。该服务可浏览、获取并引用法令,每条响应都附有可验证的引用。
这是 MateMatic eu-legal-mcp 生产线的一部分,与 jp-eli-mcp 一同拓展至亚洲。它沿用相同的引用约定(稳定标识符 + 人类可读的引文 + 来源 URL),并针对没有 ELI 和公开搜索 API 的司法管辖区进行了调整。
范围。 SSO 的
robots.txt禁止访问/search;此处通过浏览当前法令列表(sg_list_acts,支持分页)来发现法令,而非按标题或关键词查询。获取指定条文(sg_get_provision)或全文(sg_get_full_text;对于超大法令会截断)。每条响应都包含dataset_note。许可。 SSO 法律是新加坡政府发布的官方公共信息。此连接器在注明出处并提供
source_url的同时转发相关内容,遵守robots.txt(不调用/search),且不会比普通浏览器访问更激进地缓存内容。
工具
| 工具 | 功能 |
|---|---|
sg_list_acts | 浏览当前法令列表,支持分页(不支持关键词搜索——见上文“范围”)。 |
sg_get_provision | 根据 act_code 和条文编号获取某部法令中的一条编号条文。 |
sg_get_full_text | 获取一部法令的全文(截断至约 300,000 个字符)。 |
sg_coverage | 声明此连接器涵盖的内容、各类内容的采集时间,以及明确声明未涵盖的内容。每项缺口都提供后备方案。 |
每条响应都包含以下约定字段:eli_uri(新加坡没有 ELI——此处为稳定的 SSO 法令 URL,例如 https://sso.agc.gov.sg/Act/CoA1967;见 eli_note)、human_readable_citation(SSO 页面显示的法令标题,例如 Companies Act 1967)和 source_url。
安装
作为 Claude 插件使用(Claude Code 或桌面应用,需要安装 uv);有关发送和存储内容的说明,请参阅 plugin/README.md:
/plugin marketplace add matematicsolutions/sg-eli-mcp
/plugin install sg-eli-mcp@sg-eli-mcp
作为独立服务,通过 PyPI 安装:
uvx sg-eli-mcp
通过环境变量配置:
SG_ELI_BASE_URL- 默认值为https://sso.agc.gov.sgSG_ELI_CACHE_DIR- 默认值为~/.matematic/cache/sg-eliSG_ELI_AUDIT_DIR- 默认值为~/.matematic/audit
无需 API 密钥。SSO 不需要密钥。
配置(Claude Code / 任意 MCP 客户端)
{
"mcpServers": {
"sg-eli-mcp": { "command": "sg-eli-mcp" }
}
}
Windows 11 与 Smart App Control
Smart App Control 会拦截未签名的可执行文件,包括 uvx.exe、pip.exe,以及 pip 安装时生成的 sg-eli-mcp.exe 启动器。python.org 安装程序提供的 python.exe 和 py.exe 均由 Python Software Foundation 签名,因此通过解释器运行模块即可:
python -m pip install sg-eli-mcp
python -m sg_eli_mcp
pip.exe 出于同样的原因会被拦截,因此请使用 python -m pip 安装,而非 pip install。如果 python 不在 PATH 中,请使用 Windows 启动器:py -3 -m sg_eli_mcp。
{ "mcpServers": { "sg-eli-mcp": { "command": "python", "args": ["-m", "sg_eli_mcp"] } } }
请勿为了绕过此问题而关闭 Smart App Control——关闭后,必须重新安装 Windows 才能重新启用。
治理
- 仅限公共数据——仅对 SSO 执行只读操作;不会有客户端数据离开本机。
- 遵守 Robots 规则——绝不调用
/search(SSO 的robots.txt禁止访问);发现法令时仅使用获准访问的/Browse列表。 - 审计日志——每次工具调用都会向
~/.matematic/audit/sg-eli-mcp.jsonl追加一行 JSON。 - 网络——服务会与
sso.agc.gov.sg及本地文件系统通信。首次使用时,还会从此仓库的 GitHub Releases 获取一个小型配置文件(sg-runtime.json.gz,内含更新后的来源地址)。该请求不包含查询内容;我们能看到的唯一使用信号,是该文件在 GitHub 上的下载计数。 设置SG_ELI_RUNTIME_URL=""可关闭此功能;Claude 插件默认关闭。无大模型提供商,也无其他遥测。 - 可验证的引用——每条响应都可以通过
source_url独立核验。
请参阅 CONSTITUTION.md 和 DISCOVERY.md。
测试
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.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。