以色列法律数据API和MCP
REST和MCP服务,用于在希伯来语维基文库上搜索以色列法律、列出章节、获取章节文本和构建引用URL。
______________________________________________________________________
数据源和许可
- 来源: 这个项目是由 以色列开放法律书(Open Israel Law Book) 希伯来语维基文库。
- 数据许可证: 从维基文库检索到的内容在 知识共享署名-相同方式共享4.0国际版(CC BY-SA 4.0) 许可证。
- 代码许可证: 本软件(API和MCP实施)根据 MIT许可证.
免责声明
这是一个非官方的、由社区驱动的工具。 它的建立是为了改善公共法律数据的可访问性,但它不是官方的政府服务。
- 非法律建议: 本API提供的信息仅供参考,不构成法律意见。
- 不保证准确性: 虽然我们努力提供准确的数据,但法律文本可能不完整、未经审查或过时。
______________________________________________________________________
在本地运行
uvicorn api:app --reloadREST基本URL: http://127.0.0.1:8000/api
REST端点
GET /api/healthGET /api/laws/search?phrase=...&limit=10GET /api/laws/{page_id}/sectionsPOST /api/laws/{page_id}/sections/textPOST /api/citations
搜索备注:
- 法律搜索结果被过滤到法律主页上列出的标题(page_id=247)。该页面在本地缓存在
data/cache/page_247.json;如果无法获取并且不存在缓存,则搜索将返回错误。
例子:
curl --get \
--data-urlencode "phrase=איסור עישון" \
--data-urlencode "limit=5" \
"http://127.0.0.1:8000/api/laws/search"要请求全文,请传递 full: true 在JSON正文中:
curl -X POST "http://127.0.0.1:8000/api/laws/279238/sections/text" \
-H "Content-Type: application/json" \
-d '{"sections":["1","2"],"full":true}'MCP(HTTP)
MCP端点: http://127.0.0.1:8000/mcp/
如果部署在公共域后面,请设置 MCP_ALLOWED_HOSTS 包括它。 例子:
MCP_ALLOWED_HOSTS=localhost:*,127.0.0.1:*,israel-law-api-mcp.sliplane.app:*要允许所有主机(不建议用于公共部署),请禁用DNS重新绑定保护:
MCP_DNS_REBINDING_PROTECTION=falseMCP客户端配置示例:
{
"mcpServers": {
"israel-law": {
"url": "http://127.0.0.1:8000/mcp/"
}
}
}测试MCP客户端:
python3 scripts/test_mcp_client.py --server "http://127.0.0.1:8000/mcp/"API检查助手:
BASE_URL=http://127.0.0.1:8000/api python3 scripts/check_api.py码头工人
构建并运行(默认情况下为VPS本地访问):
docker compose up -d --build容器读取 HOST 和 PORT 从 .env.
限制和安全
默认限制通过以下方式配置 .env 并按IP应用。您可以调整:
RATE_LIMIT_PER_IP请求费率MAX_SECTIONS_PER_REQUESTMAX_SECTION_TEXT_CHARSMAX_SEARCH_PHRASE_LENMAX_SEARCH_LIMITCONCURRENT_LIMIT_TOTAL用于并发上限
