# LawMCP

**把 AlphaLawyer 接入 AI 对话窗口，让类案检索、法规定位和继续追问在同一个工作流里完成。**

LawMCP 是面向律师、法务和法律研究人员的本地运行工具（MCP Server）。它不提供新的法律数据库，也不替代您的 AlphaLawyer 账号；它做的是把您已经可以访问的 AlphaLawyer 案例与法规检索能力，交给支持 MCP 的 AI 客户端调用。

接入后，您可以直接用自然语言向 AI 助手提出检索需求：先找相似案例，再打开详情，继续追问法院观点、争议焦点、裁判结果或相关法规依据。

目前可接入 **Claude Code**、**Kimi Code**、**Codex** 以及其他支持 stdio MCP 的 AI 客户端。LawMCP 已内置 **Claude Code / Kimi Code / Codex** 一键配置命令；其他客户端可手动添加 MCP 配置。

[联系试用](mailto:tend_stretch_9r@icloud.com)

<!-- 维护提醒：npm README 页面不会按包内文件解析相对图片路径，因此这里使用 npm CDN 绝对 URL。 -->

## 适合哪些工作

LawMCP 更适合把 AI 当成“会调用检索工具的研究助理”，而不是让 AI 凭空回答法律问题。

| 工作场景 | 您可以这样问 | LawMCP 会做什么 |
| --- | --- | --- |
| 类案初筛 | “帮我检索近三年北京法院关于竞业限制补偿金的案例。” | 调用 AlphaLawyer 案例检索，返回标题、法院、案号、裁判日期和摘要线索。 |
| 多案例观点对比 | “先找钢材加价款相关案例，只看每个案例的法院认为。” | 只提取检索结果里的“法院认为”内容，减少一次查看多个案例时的上下文占用。 |
| 案例细读 | “打开第 3 个案例，看看法院怎么认定违约金过高。” | 根据检索结果读取案例详情，便于继续追问裁判观点和事实认定。 |
| 精准组合检索 | “排除保险公司，只看管理人责任纠纷中一审全部或部分支持的案例。” | 使用高级条件组合检索，适合更精确的类案研究。 |
| 法规定位 | “查一下现行有效的民事诉讼法相关法规。” | 检索中国大陆法规，并可继续查看法规详情。 |
| 长法规找条文 | “在民法典里找和抵押预告登记有关的命中条文。” | 只返回法规内命中的相关条文，减少整部法规带来的阅读噪音。 |

常见使用方式：

- 写诉状、答辩状、代理词、法律意见书前，先让 AI 拉取候选案例。
- 一次比较多个候选案例时，先看“法院认为”，有价值时再打开完整详情。
- 做类案检索时，让 AI 围绕“案由、法院、裁判结果、争议焦点”继续追问。
- 需要在同一轮对话里同时查看案例和法规，减少在数据库、文档和聊天窗口之间切换。
- 对 AI 生成的法律分析保持谨慎，让关键结论尽量回到可检索的案例或法规文本上。

## 能力边界

为了避免误解，LawMCP 的边界很明确：

- **需要您自己的 AlphaLawyer 账号。** LawMCP 不绕过 AlphaLawyer 授权，也不提供 AlphaLawyer 以外的数据访问权限。
- **当前法规范围是中国大陆法规。** 国际条约、港澳台法规、外国法规暂不在当前版本支持范围内。
- **AI 的分析仍需律师判断。** LawMCP 负责把检索结果带进对话，不能保证 AI 对法律事实和法律适用的最终判断一定正确。
- **本机 stdio 运行。** AlphaLawyer 登录态保存在您的电脑上；LawMCP 授权服务器只处理 LawMCP 激活、续期和设备授权，不接收 AlphaLawyer Token。

## 使用效果演示

以下先以 Claude Code 为例。其他支持 MCP 的客户端接入后，使用方式类似。

### 1. 在对话中提出检索需求

![在 Claude Code 中提出案例检索需求](https://cdn.jsdelivr.net/gh/realakagi/imgbed@main/images/claude-code-case-search-1.png)

### 2. LawMCP 返回 AlphaLawyer 检索结果

![LawMCP 返回案例检索结果](https://cdn.jsdelivr.net/gh/realakagi/imgbed@main/images/claude-code-case-search-2.png)

### 3. 继续查看案例详情

![继续查看案例详情](https://cdn.jsdelivr.net/gh/realakagi/imgbed@main/images/claude-code-case-search-3.png)

### 4. 基于检索结果继续追问

![基于案例结果继续追问](https://cdn.jsdelivr.net/gh/realakagi/imgbed@main/images/claude-code-case-search-4.png)

## 使用前准备

开始前请确认：

1. 您有一个可正常使用的 **AlphaLawyer** 账号。
2. 您有一个有效的 **LawMCP 激活码**，或已在 LawMCP 授权网站购买/领取授权。
3. 电脑已安装 **Node.js LTS**，安装后会自带 `npm` 和 `npx`。
4. 已安装并登录要使用的 AI 客户端，例如 **Claude Code**、**Kimi Code**、**Codex**。
5. 本机已安装 **Chrome 或 Edge**，用于首次登录 AlphaLawyer。

LawMCP 授权只校验您是否有权使用本软件；它不是 AlphaLawyer 密码，也不会代替您购买或登录 AlphaLawyer。

## 安装 Node.js

如果电脑还不能执行 `node`、`npm` 或 `npx`，请先安装 Node.js。

### Windows

1. 打开 [Node.js 官网](https://nodejs.org/)，下载并安装 **LTS** 版本。
2. 安装完成后，重新打开 PowerShell。
3. 执行下面命令确认安装成功：

```powershell
node -v
npm -v
npx -v
```

三条命令都能显示版本号，就可以继续配置 LawMCP。

### macOS

推荐打开 [Node.js 官网](https://nodejs.org/)，下载并安装 **macOS LTS** 版本。安装完成后，重新打开 Terminal，执行：

```bash
node -v
npm -v
npx -v
```

如果您已经在使用 Homebrew，也可以用命令安装：

```bash
brew install node
```

## 三步开始使用

首次执行 `npx -y @realakagi/lawmcp ...` 时，`npx` 会自动从 npm 下载 LawMCP。后续使用时无需手动克隆本仓库。

### 第一步：激活 LawMCP

如果已经拿到激活码，请在 Windows PowerShell 或 macOS Terminal 执行：

```bash
npx -y @realakagi/lawmcp activate 此处替换为激活码
```

查看本机授权状态：

```bash
npx -y @realakagi/lawmcp license status
```

该命令默认会联网刷新授权状态；如只想查看本机授权文件，可追加 `--local`。

### 第二步：登录 AlphaLawyer

正式使用前，还需要在本机保存 AlphaLawyer 登录态。这个步骤只是在您的电脑上读取网页端登录态，LawMCP 不会把 AlphaLawyer Token 写入仓库，也不会发送给 LawMCP 授权服务器。

Windows PowerShell 或 macOS Terminal 都执行：

```bash
npx -y @realakagi/lawmcp auth login
```

按提示用 **Chrome 或 Edge** 打开 AlphaLawyer，并完成 **微信扫码登录**。登录成功后，LawMCP 会把网页端登录态保存到您的用户目录。

查看是否已登录：

```bash
npx -y @realakagi/lawmcp auth status
```

### 第三步：接入 AI 客户端

如果您使用 **Claude Code**：

```bash
npx -y @realakagi/lawmcp setup claude
```

如果您使用 **Kimi Code**：

```bash
npx -y @realakagi/lawmcp setup kimi
```

如果您使用 **Codex**：

```bash
npx -y @realakagi/lawmcp setup codex
```

该命令会优先调用 Codex CLI；如果本机只有 Codex Desktop、没有可用的 `codex` 终端命令，LawMCP 会直接写入 Codex 的 `~/.codex/config.toml` 配置文件，并显式设置 `enabled = true`。

如果已安装多个客户端，也可以一次性配置全部内置目标：

```bash
npx -y @realakagi/lawmcp setup all
```

若 Claude Code 或 Kimi Code 配置失败，请确认对应客户端已经安装，且终端里能执行 `claude` 或 `kimi` 命令。Codex Desktop 不要求终端里必须能执行 `codex`。

### 其他 MCP 客户端

其他支持 stdio MCP、但未内置一键配置命令的 AI 工具，可按对应客户端文档手动添加。常见配置形态如下：

```json
{
  "mcpServers": {
    "lawmcp": {
      "command": "npx",
      "args": ["-y", "@realakagi/lawmcp"]
    }
  }
}
```

配置完成后，请重启或刷新 AI 客户端。

## 自检

配置完成后，可以用 `doctor` 检查 LawMCP 授权、AlphaLawyer 登录态和连通性。

```bash
npx -y @realakagi/lawmcp doctor
```

若软件授权与 AlphaLawyer 均正常，会给出成功提示。若有报错，可将完整提示发给技术支持，但不要截图或粘贴密钥全文。

## 在对话中使用

重启或刷新 AI 客户端后，直接提出检索需求即可。例如：

```text
帮我检索北京法院近三年关于竞业限制补偿金的案例，优先看劳动争议案件。
```

```text
打开第 2 个案例，帮我归纳法院支持或不支持违约金的理由。
```

```text
先检索钢材加价款相关案例，每条只返回法院认为，暂时不要展开完整详情。
```

```text
检索现行有效的民事诉讼法相关法规，并列出与管辖权异议有关的条文线索。
```

```text
找管理人责任纠纷中一审全部或部分支持的案例，排除保险公司相关案件。
```

不同 AI 客户端展示 MCP 工具的方式不同。默认服务名通常是 `lawmcp`；如果客户端需要您手动选择工具，请选择 LawMCP 提供的案例检索、案例法院认为、案例详情、法规检索或法规详情能力。

## 安全提醒

- 不要将 **LawMCP 激活码**、**AlphaLawyer Token** 发到不可信渠道。
- 不要把真实用户查询记录、案例批量导出数据或账号登录态提交到仓库。
- 若环境变量里设置了 `ALPHA_TOKEN`，其优先级高于本机保存的登录态。律所同事通常只需要使用 `auth login`，不需要手动设置 `ALPHA_TOKEN`。

退出本机 AlphaLawyer 登录：

```bash
npx -y @realakagi/lawmcp auth logout
```

## 常见问题

### MCP 是什么？

可以把 MCP 理解为 AI 助手调用外部工具的标准接口。您用自然语言描述需求，AI 客户端在合适的时候调用 LawMCP，让检索结果进入当前对话。

### `npx` 是什么？

`npx` 是 Node.js 附带的命令，用来临时下载并运行 npm 包。安装 Node.js LTS 后，一般会同时获得 `node`、`npm` 和 `npx`。

### LawMCP 授权和 AlphaLawyer 登录有什么区别？

LawMCP 授权用于校验您是否有权使用 LawMCP。AlphaLawyer 登录态用于访问您自己的 AlphaLawyer 账号。两者不是同一个东西。

### AlphaLawyer Token 会上传吗？

不会上传到 LawMCP 授权服务器。LawMCP 通过 stdio 在本机运行，AlphaLawyer 登录态保存在您的用户目录。授权服务器只处理 LawMCP 激活、续期和设备授权，不接收 AlphaLawyer Token。

### 为什么只说中国大陆法规？

当前法规检索接入的是 AlphaLawyer 的“中国大陆法规”接口。国际条约、港澳台法规、外国法规使用另一组接口，暂不在当前版本支持范围内。

### 这是开源软件吗？

不是。本软件**不是开源软件**。npm 包仅授权安装与按许可使用；未经作者书面许可，不得复制、修改、分发、转售、托管、反向工程或制作衍生版本。

<details>
<summary>技术附录：MCP 工具能力</summary>

下面内容主要给技术同事、运维同事或需要手动调试 MCP 的用户查看。普通使用时不需要记住这些工具名和参数。

- `search_cases`：按一个或多个关键词检索案例，支持分页与一次多页。
- `advanced_search_cases`：按 AlphaLawyer 查询表达式检索案例，适合字段组合、层级条件和排除词。
- `search_case_court_opinions`：检索案例并只返回列表条目中的“法院认为”内容，适合先比较多个案例的裁判理由。
- `get_case_detail`：根据检索结果里的案例编号 `jid` 查看详情。
- `search_laws`：按一个或多个关键词检索中国大陆法规，支持分页与一次多页。
- `advanced_search_laws`：按 AlphaLawyer 查询表达式检索中国大陆法规，适合字段组合、层级条件和排除词。
- `get_law_hit_articles`：根据法规编号 `lid` 和关键词，只返回该法规内命中的相关条文。
- `get_law_detail`：根据检索结果里的法规编号 `lid` 查看详情。

检索结果中通常包含 `total`、`totalPages`、`hasNextPage`、`nextPage` 等字段，便于连续翻页阅读。

### 案例关键词检索

```json
{
  "keywords": ["交通事故", "保险公司"],
  "page": 1,
  "pageSize": 10,
  "pageCount": 2,
  "limit": 20,
  "order": "相关性"
}
```

多个关键词会在 AlphaLawyer 侧组合为类似下面的全文检索表达式，无需普通用户手敲：

```text
全文:交通事故,全文:保险公司
```

### 案例高级检索

```json
{
  "query": "案由_0:与破产有关的纠纷,法院_0:莆田市中级人民法院",
  "excludeTerms": ["保险公司"],
  "page": 1,
  "pageSize": 10,
  "limit": 20,
  "order": "相关性"
}
```

结果类型示例：

```json
{
  "query": "案由_0:管理人责任纠纷,结果类型:一审全部/部分支持",
  "limit": 20
}
```

`query` 使用 AlphaLawyer 网页端表达式，例如 `字段:值`、`字段_层级:值`、同组 OR 的 `A||B`、多条件英文逗号拼接。MCP 会兼容部分常见网页展示名，例如将“法院认为”兼容为 `法院观点`，将“代理律师”“律师事务所”“裁判时间”分别兼容为 `律师`、`律所`、`裁判日期`。普通关键词检索优先使用 `search_cases`。

### 案例法院认为检索

```json
{
  "keywords": ["钢材加价款", "厦门"],
  "page": 1,
  "pageSize": 5,
  "limit": 10
}
```

也可以直接传 AlphaLawyer 查询表达式：

```json
{
  "query": "案由_0:买卖合同纠纷,法院认为:加价款",
  "limit": 10
}
```

该工具只返回案例摘要和 `courtOpinion.text`，默认会清洗 AlphaLawyer 高亮 HTML。适合先看多条结果的裁判理由，再决定是否调用 `get_case_detail` 拉取全文。

### 法规关键词检索

```json
{
  "keywords": ["民事诉讼法"],
  "field": "标题",
  "page": 1,
  "pageSize": 10,
  "limit": 20,
  "order": "相关性"
}
```

`field` 可选：

- `标题`：默认，适合按法规名称检索。
- `全文`：适合在法规正文中检索。

### 法规高级检索

```json
{
  "query": "标题_0:民法典,效力级别_1:法律",
  "excludeTerms": ["草案"],
  "regType": "中国大陆法规",
  "page": 1,
  "pageSize": 10,
  "limit": 20,
  "order": "相关性"
}
```

当前高级法规检索仅接入 AlphaLawyer 的“中国大陆法规”接口。法规高级检索会按网页表单口径补齐常见裸字段层级；已经写明层级的字段会原样保留。

### 法规命中条文

```json
{
  "lid": "law-id-from-search-result",
  "keywords": ["抵押预告"]
}
```

该工具对应 AlphaLawyer 法规列表里的“展开命中”，只返回命中的相关条文，不返回法规全文。对《民法典》等长法规，优先用它定位关键词相关条目。

</details>
