Model Context Protocol · 2025-11-25 / 2026-07-28

一个端点,五种法律工具,复制即用

MCP Streamable HTTP 端点:粘贴配置即可让 WorkBuddy、Cursor、Claude Code、Codex、VS Code 等 AI 工具 调用法律问答、法条检索、合同审查与文书生成。无需写集成代码,AI 会在需要时自动调用对应工具, 并引用真实法条原文。

Streamable HTTP 2025-11-25 2026-07-28 SSE 流式输出 5 个工具

快速接入

复制一段配置,粘贴到你的 AI 工具

将 YOUR_API_KEY 替换为你在控制台创建的 API Key(以 ak_live_ 开头)。以下两种格式覆盖绝大多数 MCP 客户端。

mcpServers JSON · 客户端配置
{ "mcpServers": { "accurlex": { "type": "http", "url": "https://accurlex.com/mcp/stream", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }

Cursor 项目配置位于 .cursor/mcp.json;Claude Code 与 VS Code 可使用项目根目录 .mcp.json。VS Code 若使用 .vscode/mcp.json,请将外层键名改为 servers。

* Key 在控制台创建后仅展示一次,请妥善保存;不要把它提交到公开仓库或写入前端代码。Codex 也支持改用 http_headers 直接写 Authorization 头。

端点与协议

项目说明
端点POST https://accurlex.com/mcp/stream
协议精确支持 MCP 2025-11-25 与 2026-07-28,共用 Streamable HTTP 端点。2025 版会话由客户端自动管理,无需手动配置;2026 版使用无状态请求
认证请求头 Authorization: Bearer ak_live_...
流式支持 SSE 流式返回与进度通知;客户端只接受 JSON 时返回单个 JSON 结果
Accept 头建议同时携带 application/json 与 text/event-stream;2025 请求须至少接受其中一种,2026 请求不带 SSE 时返回单条 JSON 结果
计费口径与 REST v1 完全一致:每日免费额度、点数计费、促销活动均按 API Key 记账。会话隔离不代表业务去重;重新发起调用可能重复计费,请避免自动重试付费调用
请求体上限单次请求不超过 2MB,超限返回 HTTP 413 + JSON-RPC -32000
取消语义2026-07-28 断连即取消;2025-11-25 断连后原调用继续执行,客户端须发送 notifications/cancelled 显式取消,且不得自动重放付费请求
兼容性精确支持 2025-11-25 标准 initialize 生命周期和现有 2026-07-28 协议。首次 initialize 可提出其他版本,服务端返回 2025-11-25;客户端须支持并使用返回版本继续请求。

可用工具

5 个 MCP Tool,对应开放平台全部能力

接入后一次性获得全部工具。AI 会根据你的问题自动选择合适的工具;工具的计费与额度规则和 REST API 完全一致。

权限提示:工具是否可用取决于 API Key 勾选的 scope。调用未启用权限的工具会返回 isError,并在错误详情中给出缺少的 scope 名称;前往控制台修改 Key 权限即可。
accurlex_law_search 限时免费

输入检索需求或案件材料,AI 自动拆解法律议题,覆盖式召回相关法律法规、司法解释的条文原文及出处。

law_search
deep 免费 · 100 次/日 · 1 万字 expert 3 万字 · 限免至 2026-12-31
accurlex_legal_qa 免费起

提交法律问题(可附带背景材料与多轮历史),AI 基于 Neo-RAG 引擎检索相关法条后生成分析回答。

qa_deepqa_expert
deep 免费 · 100 次/日 · 1 万字 expert 付费 · 3 万字
accurlex_contract_review

提交合同全文并指定审查立场(例如“我是买方,重点审查付款与违约条款”),AI 逐条分析风险、引用相关法条并生成审查意见。

contract_review
付费 · 3 万字
accurlex_document_draft

根据文书类型和案件事实,生成起诉状、答辩状、代理词等法律文书草稿,可直接作为初稿继续修改。

document_draft
付费 · 3 万字
accurlex_account_usage 免费

查询当前 API Key 最近 30 天的调用次数、输入字符数、消耗点数及最新 50 条调用记录。不消耗点数,任意有效 Key 均可调用。

无需额外 scope
仅需有效 API Key

接入指南

常用客户端怎么配

Cursor / VS Code

  1. 打开 MCP 设置,Cursor 项目配置使用 .cursor/mcp.json)
  2. 添加 Server,类型选择 HTTP
  3. 粘贴 JSON 配置,替换 API Key
  4. 重启编辑器会话

Claude Code / Codex CLI

  1. Claude Code 在项目根目录创建 .mcp.json
  2. Codex 在 ~/.codex/config.toml 粘贴 TOML
  3. 重启会话,直接提问法律问题
  4. 可用 /mcp(Claude Code)或 codex mcp list 检查连接

Trae / 其他桌面客户端

  1. 设置中找到 MCP / 连接器管理
  2. 添加自定义 MCP Server,类型选 HTTP(Streamable)
  3. 填入 URL 与 Authorization Bearer 头
  4. 保存后刷新工具列表

WorkBuddy / 连接器平台

  1. 审核上架后在连接器市场添加 accurLex;调试阶段可导入连接器包
  2. 在密码输入框填写开放平台 API Key
  3. 平台按 2025-11-25 自动完成 initialize 与工具发现
  4. 连接成功后先用“查询账户用量”做免费验证

开始使用

还没有 API Key?先创建一个

登录 accurLex 账号,在控制台创建 API Key 并勾选所需权限,然后复制上方配置到你的 AI 工具即可。从创建到能用,通常不超过两分钟。

进入开发者控制台

常见问题

接入前最常问的几个问题

支持哪些 MCP 客户端?

支持 WorkBuddy 等使用标准 2025-11-25 initialize 握手的客户端,也支持使用 2026-07-28 扩展协议的 Cursor、Claude Code、Codex、VS Code、Trae、Dify 等客户端。仅支持这里列出的两个协议版本。

配置后工具报错 / 不可用怎么办?

工具调用失败会返回 isError: true,错误详情在 structuredContent.error:scope_denied 表示 API Key 未启用对应权限,daily_quota_exceeded 表示当日免费额度已用完,too_many_requests 表示触发限流,exceed_char_limit 表示输入超长。遇到权限不足时,可到控制台创建具备所需权限的新 Key,完成替换后停用旧 Key;额度和限流问题按返回码处理。协议错误如 -32022、-32020 的含义与排查见上方错误码章节。

MCP 怎么计费?和 REST API 一样吗?

计费规则一致。问答 deep、法条 deep、法条 expert 限免期间各有每账号每天 100 次独立额度,同账号所有 Key、API 与 MCP 共用对应额度;其他付费调用按点数计费。用量按 API Key 分别记录,详见用量页。MCP 本身不额外收费。

旧版 npx stdio 包还能用吗?

不能。旧的 accurlex-mcp-server(stdio 方式)已退役下线,请使用本页的 Streamable HTTP 方式接入。新接入的客户端请直接复制上方配置。

协议参考

Streamable HTTP 接口规范

以下即线上 POST https://accurlex.com/mcp/stream 的实际行为: 支持的方法、请求头、响应格式、错误码与限流规则。

支持的方法

方法说明响应
initialize 仅 2025-11-25:标准版本协商与客户端信息握手 protocolVersion、capabilities.tools、serverInfo、instructions
server/discover 仅 2026-07-28:返回该扩展协议支持的版本、能力与服务说明 supportedVersions、capabilities、instructions、ttlMs、cacheScope
ping 仅 2025-11-25:连接探测,不创建业务任务或用量 空 result
tools/list 列出 5 个可用工具及 JSON Schema 两个版本均返回 tools;ttlMs、cacheScope 仅属于 2026 扩展
tools/call 调用工具;Mcp-Name 仅 2026 必填;可选 progressToken(放在 params._meta) 两个版本均返回 content、structuredContent、isError;2026 另含扩展字段
notifications/initialized / notifications/cancelled 仅 2025-11-25;通知不带 id,后者用于显式取消匹配中的请求 HTTP 202 空 body,不返回 JSON-RPC 响应

每个 POST 只接受一条 JSON-RPC 2.0 消息;批量数组返回 400 -32600。

请求头

头必填说明
MCP-Protocol-Version分版本2025 的 initialize 可由 body 选择版本,后续请求必须为 2025-11-25;2026 请求必须为 2026-07-28
Mcp-Method仅 2026 必填2026 必须与 body 的 method 一致;2025 客户端使用标准 JSON-RPC body method,无需此头
Mcp-Name仅 2026 tools/call 必填必须与 body.params.name 一致;含非 ASCII 字符时按官方规则编码为 =?base64?<base64>?=
Authorization业务调用必填Bearer ak_live_...,与 REST v1 同一套开放平台 API Key;2025 的 initialize、ping、tools/list 可匿名
Content-Type是application/json
Accept建议application/json, text/event-stream;2025 须至少允许其中一种,2026 不带 SSE 时返回单条 JSON 结果

请求体与版本协商

  • 请求体是单条 JSON-RPC 2.0 消息;批量数组不受支持,返回 400 -32600。
  • 2025-11-25:首次 initialize 在 params.protocolVersion 声明版本;后续请求通过 MCP-Protocol-Version 头声明,不使用 2026 扩展字段。
  • 2026-07-28:版本放在 body.params._meta['io.modelcontextprotocol/protocolVersion'](顶层 _meta 作为宽松回退也接受);与版本头不一致时返回 -32020。
  • 请求体上限 2MB;超限返回 HTTP 413 + JSON-RPC -32000,不会断连。

2025 标准 initialize 请求体

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": { "name": "workbuddy-compatible-client", "version": "1.0.0" }
  }
}

2026 扩展 server/discover 请求体

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "server/discover",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28"
    }
  }
}

响应格式

  • SSE(Accept 含 text/event-stream):连接建立后先发 : connected;每条消息为 event: message + data: <JSON-RPC>;tools/call 带 progressToken 时先发 notifications/progress(≥250ms 节流,progress 为生成正文的 UTF-8 字节累计值,不是百分比或计费字符数),空闲时每 15 秒发 : ping 注释帧保活,最后发送最终响应并关闭流。
  • JSON(Accept 不含 text/event-stream):返回单条 JSON-RPC 响应。
  • 通知(无 id):HTTP 202 空 body。

tools/call 成功结果字段

字段说明
resultType"complete",仅 2026-07-28 扩展结果包含
content[{type:"text", text}],最终回答文本
structuredContent结构化结果:answer(回答)、original_content(参考法条原文)、citations(法条引用)、warnings(提示)、mode、generation_id、request_id
isErrorfalse 为成功;true 为工具级失败(HTTP 仍为 200)

调用示例

initialize(2025 标准握手,WorkBuddy 自动完成)

curl -sS -X POST "https://accurlex.com/mcp/stream" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"workbuddy-compatible-client","version":"1.0.0"}}}'

tools/list(2025 标准工具发现)

curl -sS -X POST "https://accurlex.com/mcp/stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

tools/call(2025 JSON 模式)

curl -sS -X POST "https://accurlex.com/mcp/stream" \
  -H "Authorization: Bearer ak_live_YOUR_API_KEY" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"accurlex_account_usage","arguments":{}}}'

server/discover(2026 扩展协议,JSON 模式)

curl -sS -X POST "https://accurlex.com/mcp/stream" \
  -H "Authorization: Bearer ak_live_YOUR_API_KEY" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: server/discover" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}'

tools/call(2026 扩展协议,SSE 流式)

curl -sS -N -X POST "https://accurlex.com/mcp/stream" \
  -H "Authorization: Bearer ak_live_YOUR_API_KEY" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: accurlex_legal_qa" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"accurlex_legal_qa","arguments":{"question":"合同约定的违约金过高时,可以请求法院调整吗?","mode":"deep"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","progressToken":123}}}'

SSE 响应(先进度通知,后最终结果)

: connected

event: message
data: {"jsonrpc":"2.0","method":"notifications/progress","params":{"progressToken":123,"progress":42,"message":"生成中…"}}

event: message
data: {"jsonrpc":"2.0","id":1,"result":{"resultType":"complete","content":[{"type":"text","text":"..."}],"structuredContent":{"answer":"...","original_content":"...","citations":[],"warnings":[],"mode":"deep","generation_id":"...","request_id":"..."},"isError":false}}

工具级失败(HTTP 仍为 200,靠 isError 判断)

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "resultType": "complete",
    "content": [{ "type": "text", "text": "API Key 无效或未启用对应 scope" }],
    "structuredContent": {
      "error": "scope_denied",
      "message": "API Key 无效或未启用对应 scope",
      "hint": "请在开放平台控制台确认 API Key 已启用 scope: qa_expert"
    },
    "isError": true
  }
}

工具参数

accurlex_legal_qa 法律问答

字段类型必填规则
questionstring是法律问题
modestring否deep(默认,免费)或 expert(付费)
context_textstring否背景材料/案件事实,拼接在问题之前并计入字符数
historyarray否多轮历史:[{role:"user"|"assistant", content}]

accurlex_law_search 法条检索

字段类型必填规则
promptstring是检索需求或案件材料
modestring否deep(默认,免费)或 expert(专家模式,限时免费)

accurlex_contract_review 合同审查

字段类型必填规则
contract_textstring是待审查的合同全文
standpointstring是审查立场与要求,例如“我是甲方(买方),请重点审查付款条款和违约责任”

accurlex_document_draft 文书生成

字段类型必填规则
document_typestring是文书类型,如“民事起诉状”“答辩状”“代理词”
factsstring是案件关键事实与诉求
followup_promptstring否补充要求或特别说明

accurlex_account_usage 用量自查

无参数。返回当前 API Key 最近 30 天的用量汇总 summary,以及最新 50 条调用记录 recent。

错误码

错误分两层:协议/传输层错误:顶层 JSON-RPC error 字段,HTTP 可能为 200 或 4xx;工具级错误:HTTP 仍为 200, 通过 result.isError === true 和 structuredContent.error 表达。

业务错误码

错误码含义MCP 提示文字
upstream_rejected请提交与法律相关的问题请勿闲聊或讨论无关话题。
empty_original_content未检索到相关内容未检索到相关内容。
API_CALL_FAILED本次请求未能完成本次请求未能完成,请稍后再试。
generation_incomplete本次请求未能完成本次请求未能完成,请稍后再试。
internal_error本次请求未能完成本次请求未能完成,请稍后再试。

这五种码在 result.structuredContent.error 中保留大小写和含义。工具调用失败使用既有 result.isError: true,HTTP 通常仍为 200;它与顶层 JSON-RPC 协议错误的数字 error.code 不同。

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "resultType": "complete",
    "content": [
      {
        "type": "text",
        "text": "请勿闲聊或讨论无关话题。"
      }
    ],
    "structuredContent": {
      "error": "upstream_rejected",
      "message": "请勿闲聊或讨论无关话题。",
      "statusCode": 200,
      "refunded": true
    },
    "isError": true
  }
}

上例是付费合同调用拒识且已退款的示意。content[].text 和 structuredContent.message 对法律无关请求、未检索到内容分别给出上表中的具体提示,其余三种业务失败统一提示“本次请求未能完成,请稍后再试。”。收到前两种提示时,请补充或调整法律问题,避免反复提交相同输入。

用 isError 判断工具调用结果,statusCode 提供状态参考。refunded: true 表示付费点数已返还;免费/促销调用通过释放对应额度结算,该字段可为 false。

2025-11-25 继续使用标准 MCP 结果字段,不含 resultType;content、structuredContent 和 isError 的错误处理方式相同。SSE 通过最终 event: message 中的同一个 JSON-RPC 结果报告失败;进度通知不代表成功,也不是回答正文。

原文或部分回答后收到错误仍按失败结算。现有客户端沿用原请求地址、工具名、参数和协议版本,通过 isError 读取结果,无需更换配置。

协议层 JSON-RPC 错误码

协议JSON-RPC 错误码HTTP含义与处理
2026-32022400缺少或不支持协议版本;使用 2026-07-28 并保持请求头与 _meta 一致。
2026-32020400MCP-Protocol-Version、Mcp-Method 或 Mcp-Name 与请求正文不一致;按调用方法校对。
两版-32700400JSON 无法解析;检查请求格式。
两版-32600400消息格式无效;2025 还校验 JSON-RPC 版本、请求 ID、通知、initialize 参数和协议协商。
2025-32602400 / 200params 不是对象或 initialize 参数无效时为 400;tools/call 缺少名称或 arguments 类型无效时为 200。修正参数后重新调用。
2025 / 2026-32601200 / 404该协议不支持此方法。2025 使用 initialize、ping、tools/list、tools/call;2026 使用 server/discover、tools/list、tools/call。
两版-32000413请求体超过 2 MiB;缩小输入。
2025-32600406Accept 不包含 application/json 或 text/event-stream。
2025-32600405端点仅接受 POST;响应 Allow 为 POST。

HTTP 状态码

HTTP场景
200成功或工具级错误(isError)
202通知(无 id),空 body
400 / 403 / 404 / 405 / 406 / 413协议层错误,见上表
429IP 层限流,返回 {"error":"too_many_requests"}(普通 JSON,非 JSON-RPC)

工具级错误码(structuredContent.error)

error含义处理建议
idempotency_payload_conflict相同幂等键对应不同请求内容同一次操作重试保留原参数;新操作使用新键。
request_id_in_use2025 版中同一请求 ID 仍在执行等待原调用完成;独立请求使用新的 JSON-RPC ID。
api_key_invalidAPI Key 无效或未启用到控制台检查 Key 状态
scope_deniedKey 缺少对应 scope(hint 会给出缺少的 scope)在控制台创建具备所需 scope 的新 Key,完成替换后停用旧 Key
too_many_requests触发工具级限流按下方限流表等待后重试
daily_quota_exceeded每日免费/促销额度已用尽(hint 区分)明日恢复,或切换付费模式
question_required / prompt_required / contract_text_and_standpoint_required / document_type_and_facts_required缺少必填参数补齐必填字段
exceed_char_limit输入超过字符上限(limit 字段给出上限)按返回的 limit 缩短输入
unknown_tool工具不存在检查 params.name
server_not_configured服务暂时不可用稍后重试,必要时联系支持
idempotent_replay相同幂等键和请求内容已有任务,未新增执行或扣费保留原任务标识及首次响应;新操作使用新的幂等键
billing_failed 等计费结果码点数不足或计费失败(statusCode 给出对应 HTTP 语义)到控制台查看点数/稍后重试
upstream_error / upstream_http_error / upstream_response_error / upstream_request_failed / proxy_timeout本次请求未能完成(statusCode / refunded 给出详情)已退款(refunded: true)可稍后重试
generation_absolute_timeout超过 20 分钟硬截止(statusCode: 504)精简输入后重试
cancelled任务被取消(statusCode: 499)2026 断连即取消;2025 需发送 notifications/cancelled 显式取消
usage_query_failed用量查询失败稍后重试
注意:工具级错误不代表协议错误,客户端应始终检查 result.isError; 不要仅凭 HTTP 200 判定调用成功。

额度、计费与限流

工具模式计费字符上限
accurlex_legal_qadeep免费(每账号每日 100 次)10,000
accurlex_legal_qaexpert付费 5 点起30,000
accurlex_law_searchdeep免费(每账号每日 100 次)10,000
accurlex_law_searchexpert限免期间每账号每日 100 次,至 2026-12-31;到期恢复 5 点起30,000
accurlex_contract_review—付费 10 点起30,000(合同 + 立场合计)
accurlex_document_draft—付费 10 点起30,000(全部字段合计)
accurlex_account_usage—免费,不消耗点数无

计费阶梯与 REST v1 一致:输入超过 10,000 字符按 2 倍、超过 20,000 字符按 3 倍计点。问答 deep、法条 deep、法条 expert 限免期间各有每账号每天 100 次独立额度,同账号所有 Key、API 与 MCP 共用对应额度,上海时间 0 点更新。

取消与幂等

  • 2026-07-28:SSE/JSON 连接关闭即取消;计费前断连不扣费,计费后断连自动退款,并在用量台账记为 cancelled。
  • 2025-11-25:网络断开只停止响应写入,原调用继续执行并结算;需要取消时发送带原请求 ID 的 notifications/cancelled,不得因断线自动重放付费请求。
  • 同一 API Key 下,相同 HTTP Idempotency-Key、接口和参数复用原任务,返回 idempotent_replay 和任务标识,不新增执行或扣费,也不回放首次正文。同键不同内容返回 idempotency_payload_conflict。未传幂等键的重发可能再次计费。一次操作的重试复用原键;下一次独立操作换新键。相同问题本身不保证去重,JSON-RPC ID 用于关联响应;2025 版还会拒绝执行中重复使用的请求 ID。

限流

维度窗口上限
IP(mcp_stream)1 秒20
工具级 mcp_stream_qa3 秒6
工具级 mcp_stream_law_search3 秒6
工具级 mcp_stream_contract_review5 秒3
工具级 mcp_stream_draft5 秒3
工具级 mcp_stream_usage5 秒12

IP 层限流返回 HTTP 429 普通 JSON;工具级限流返回 isError: true + too_many_requests。