关于 LexAPI
LexAPI 是面向法律专业人士和欧盟法律研究者的 MCP 服务,可检索 EUR-Lex 法规与欧盟法院判例,并提供文章级文本、引文关系和语义搜索。它支持查询法规在过去日期的有效版本,并以 CELEX 引用标识来源。
主要功能
- 01EUR-Lex 结构化检索与近期文件
- 02法规及判例语义搜索
- 03按 CELEX 或 URL 获取文件
- 04文章级法规文本与历史版本
- 05引文图谱及引用路径查询
- 06批量获取文件与元数据
适用场景
- 01查找特定欧盟法规条文
- 02研究欧盟法院判例及相关法规
- 03核对法规在历史日期的有效文本
- 04追踪文件之间的引用、修订关系
MCP 相关
LexAPI MCP 服务向兼容客户端提供欧盟法规、判例、文件和引文图谱查询工具,并支持本地 stdio 与托管 Streamable HTTP 连接。使用需要 LexAPI API 密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.lex-api.com/v1claude mcp add --transport http lexapi https://mcp.lex-api.com/v1{"mcpServers":{"lexapi":{"type":"http","url":"https://mcp.lex-api.com/v1"}}}在 Cursor 中打开{"servers":{"lexapi":{"type":"http","url":"https://mcp.lex-api.com/v1"}}}在 VS Code 中打开{"mcpServers":{"lexapi":{"type":"http","url":"https://mcp.lex-api.com/v1"}}}{"mcpServers":{"lexapi":{"serverUrl":"https://mcp.lex-api.com/v1"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.lex-api.com/v1需要授权工具
10| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | any | 否 | |
| query | string | 否 | 全文搜索。 |
| author | any | 否 | |
| dateTo | string | 否 | |
| dateFrom | string | 否 | |
| language | enum | 否 | en | fr | de | es | it | pl | nl | pt | ro | bg | cs | da | el | et | fi | ga | hr | hu | lt | lv | mt | sk | sl | sv |
| maxPages | integer | 否 | 要获取的结果页数(受订阅等级限制)。 |
| textScope | enum | 否 | 查询字符串的应用位置。title | text | title-text | any |
| documentType | any | 否 |
详细介绍
LexAPI MCP
适用于 LexAPI 的 Model Context Protocol 服务 — 面向 AI 助手的欧盟法律:解析到条款级别的 EUR-Lex 法规、CJEU 判例、带类型的引用图谱,以及语义搜索(包括过去某个日期有效的法律)。适用于 Claude、Cursor、VS Code 及任何其他 MCP 客户端。
向助手提问 “GDPR 第 17 条有哪些要求?”、“哪些法规修订了 REACH?” 或 “2019 年 6 月银行的自有资金要求是什么?” — 模型会调用 LexAPI,根据原文内容并附上 CELEX 引用作答。
你需要 LexAPI API 密钥。前往 lex-api.com/dashboard 免费创建 — FREE 套餐每月包含 500 个积分,无需银行卡,足以试用读取工具。
安装
Claude Desktop
将以下内容添加到 claude_desktop_config.json(macOS:~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"lexapi": {
"command": "npx",
"args": ["-y", "@lexapi/mcp"],
"env": { "LEXAPI_API_KEY": "lex_..." }
}
}
}
重启 Claude Desktop。
Claude Code
claude mcp add lexapi --env LEXAPI_API_KEY=lex_... -- npx -y @lexapi/mcp
Cursor、VS Code 和其他 stdio 客户端
在环境变量中设置 LEXAPI_API_KEY 后运行 npx -y @lexapi/mcp(Cursor:~/.cursor/mcp.json;VS Code:.vscode/mcp.json;使用与上文相同的 command / args / env 格式)。
托管服务(无需本地安装)
相同的工具通过 Streamable HTTP 提供,地址为 https://mcp.lex-api.com/v1,使用你的密钥进行身份验证,格式为 Authorization: Bearer lex_...(或 x-api-key: lex_...):
claude mcp add --transport http lexapi https://mcp.lex-api.com/v1 --header "Authorization: Bearer lex_..."
npm 包需要 Node.js 20 或更高版本。
工具
每次调用的费用都从你的 LexAPI 额度池中扣除,计费方式与其封装的 REST 端点完全相同;每个工具的说明都会注明费用,供模型查看。
| 工具 | 功能 | 额度 |
|---|---|---|
lex_semantic_legislation | 按含义查找法规条文。asOf 返回指定日期生效的文本。合并文本的搜索结果会标注,并注明应引用的正式法案。 | 5(使用 asOf 获取每个实时版本时,最多另加 5) |
lex_semantic_case_law | 按含义查找判决、裁定和 AG 意见;简短查询可使用 hyde;支持按法院、日期和案号筛选。 | 5(使用 hyde 时为 15) |
lex_search | 结构化 EUR-Lex 搜索:文本、日期、类型、作者、程序、文集。 | 每页 3 |
lex_recent_documents | 查看过去 N 天发布的内容。 | 每 10 条结果 3 |
lex_resolve | URL / ELI / ECLI → CELEX。 | 1 |
lex_get_document | 按 CELEX 获取文档——大型法案会先返回大纲,然后可通过 articleId 或 include 获取部分内容;支持指定语言和备用语言。 | 语料库 1 · Cellar 4 · 实时 5 |
lex_get_documents_batch | 一次最多获取 50 份文档(受套餐上限限制)。 | 每份文档按上述标准计费 |
lex_get_metadata | 仅获取元数据。 | 1 · 4 · 5 |
lex_get_document_by_url | 根据粘贴的 EUR-Lex URL 获取文档。 | 1 · 4 · 5 |
lex_document_versions | LexAPI 记录的文档版本历史。 | 1 |
lex_get_document_version | 按版本号或日期获取一个已记录的快照。 | 1 |
lex_cited_by | 查找引用 / 修订 / 更正 / 废止某项法案的文档。 | 1 |
lex_cites | 查看某份文档引用的内容。 | 1 |
lex_citation_network | 一次调用即可查询两个方向。 | 20 |
lex_citation_path | 查找两份文档之间最短的引用链。 | 20 |
lex_related | 查找引用相同法案的文档(书目耦合)。 | 20 |
lex_citation_stats | 引用图谱总数和被引用次数最多的文档。 | 20 |
lex_extract_citations | 将文档的外部引用添加到图谱中。 | 5(已完成时为 1) |
lex_export | 按类型(精确标签,不区分大小写)或类型族(documentTypeCode)、作者、文集、语言、文档日期(dateFrom/dateTo)、changedSince 或 fetchedSince 导出语料库行(仅限 BUSINESS 及以上套餐)。 | 每返回一行 1,且每次调用至少 1(预扣 1 额度;按 limit 预留行数对应的额度,未返回的行会退还;额度池无法覆盖预留额度时返回 402) |
lex_info | 查看你的套餐、额度余额和限额。 | 免费 |
lex_list_webhooks · lex_get_webhook | 查看你的 webhook 及其投递记录。 | 免费 |
lex_create_webhook · lex_update_webhook · lex_delete_webhook · lex_test_webhook | 订阅新文档及受监控法案变更的 Webhook(付费套餐)。URL 必须是公开的 https URL(端口 443/8443,不得使用内部主机或私有地址)——此处和 API 都会进行检查。 | 免费 |
面向模型的结果格式
- 紧凑输出。 响应会移除外层封装和重复的旧字段。文档保留元数据、
textAvailability(说明缺少文本的原因、现有语言以及最新合并版本的指针)和语言回退标签。 - 大型文档。 当文档内容不超过
maxChars(默认 40,000 个字符)时,lex_get_document会返回全文;否则返回大纲(条款 ID、章节树、数量)。使用articleId获取条款,或使用include获取部分内容;较长的部分可通过offset继续获取。 - 合并文本并非正式文本。 合并版本包含
consolidated: true、consolidatedAsOf、baseCelex和一条说明:可引用合并文本,但引用时应以《官方公报》发布的法案为准。 asOf。 每条法规搜索结果都会说明是否包含指定日期生效的版本(asOfResolved、asOfVersion);无法解析的结果会保留当前文本并附带asOfReason,响应也会对此发出警告。- 错误信息会说明如何处理。 402 会说明所需额度、剩余额度和重置日期;429 会说明需要等待多久。
配置
| 环境变量 | 默认值 | 用途 |
|---|---|---|
LEXAPI_API_KEY | (必填) | 你的 lex-api.com/dashboard API 密钥。 |
LEXAPI_BASE_URL | https://lex-api.com/api/v1 | 用于覆盖为暂存环境或自托管服务的地址。 |
LEXAPI_MCP_READ_ONLY | 关闭 | 设为 true 后,会隐藏(并拒绝)所有非只读工具:创建、更新、删除和测试 webhook,以及 lex_extract_citations(它会写入共享引文图谱并消耗额度)。 |
LEXAPI_TIMEOUT_MS | 55000 | 对 LexAPI 发起一次工具调用的时限,包含重试。只有同时提高 MCP 客户端自身的工具超时时限时,才应提高此值。 |
LEXAPI_MCP_ALLOWED_ORIGINS | (无) | 仅适用于托管 HTTP 服务:允许调用该服务的浏览器 Origin(以逗号分隔,* 表示任意来源)。不带 Origin 标头的请求(所有非浏览器客户端)始终会被允许。 |
密钥仅会作为 x-api-key 标头发送给 LexAPI;它绝不会被记录日志或包含在工具输出中。包含空白字符或控制字符(例如多行粘贴)的密钥会在启动时被拒绝。
超时时限。 MCP 客户端会在自身的超时时限后放弃工具调用(官方 SDK 默认是 60 秒;Claude Code 使用 MCP_TOOL_TIMEOUT)。首次实时获取 EUR-Lex 数据可能需要更长时间。服务为每次工具调用设置 55 秒时限,包含重试和等待速率限制的时间,然后会返回模型可以处理的消息,而不是客户端通用的超时错误。客户端发送进度令牌时,服务也会每 10 秒发送一次进度通知;这能否让调用继续进行取决于客户端(只有调用方启用了 resetTimeoutOnProgress 时,官方 SDK 才会在收到进度时延长超时时限,且服务无法检测该设置),因此时限仍为 55 秒。如果提高客户端的超时时限,请相应提高 LEXAPI_TIMEOUT_MS。取消调用会中止发往 LexAPI 的请求。
故障排除
LEXAPI_API_KEY is not set— 该变量未传递给启动的进程;请检查 MCP 客户端配置中的env部分。LexAPI error 401— 密钥错误或已撤销;请在控制面板中创建新密钥。LexAPI error 402 (CREDITS_EXHAUSTED)— 月度额度已用完。消息会提供重置日期;可在控制面板中购买额外额度或升级套餐。LexAPI error 429— 密钥的每分钟速率限制(FREE:每分钟 15 次)。系统会自动重试一次短暂等待;否则消息会说明需要等待多久。LexAPI error 403— 当前套餐不包含该功能(例如,低于 BUSINESS 套餐时无法导出,或旧版、采用额度制前的 FREE 套餐不支持语义搜索)。LexAPI error 400creating a webhook — 详情会说明问题所在(不支持的条件、超出套餐限制的监控列表,或套餐的 webhook 数量限制;FREE 套餐不提供 webhook)。
开发
git clone https://github.com/Lex-API/lexapi-mcp.git
cd lexapi-mcp
npm install
npm test # build + unit and transport tests (mocked API, no network)
npm run typecheck && npm run lint
node scripts/smoke-stdio.mjs # stdio smoke test against a local mock API
LEXAPI_API_KEY=lex_... node scripts/smoke-stdio.mjs --live # against the real API (spends roughly 6–25 credits)
npm run start:http 会运行托管的 Streamable HTTP 传输(POST /v1、GET /health,端口由 PORT 指定,默认为 3000);Dockerfile 用于构建该服务。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。