基于 Anthropic 工程博客 中的“思考”工具概念,Cerebra 法律是一款面向企业的 MCP 服务器,用于法律推理和分析。
Cerebra 法律提供了三种强大的法律推理和分析工具:
该服务器会自动检测法律领域(如ANSC争议、消费者保护、合同分析),并提供特定领域的指导、模板和反馈。
# 克隆仓库
git clone https://github.com/yoda-digital/mcp-cerebra-legal-server.git
cd mcp-cerebra-legal-server
# 安装依赖
npm install
# 构建项目
npm run build
npm start
仓库中包括一个测试客户端,演示如何与服务器交互:
# 将测试客户端设置为可执行
chmod +x test-client.js
# 运行测试客户端
./test-client.js
测试客户端将:
要将服务器添加到 Claude,请更新您的 MCP 设置文件,如下所示配置:
编辑位于 ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json 的文件:
{
"mcpServers": {
"cerebra-legal": {
"command": "node",
"args": ["/path/to/mcp-cerebra-legal-server/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}
编辑位于 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或相应平台上的文件:
{
"mcpServers": {
"cerebra-legal": {
"command": "node",
"args": ["/path/to/mcp-cerebra-legal-server/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}
一旦服务器被添加到 Claude,您就可以在对话中使用这些工具:
为了使 AI 能够有效地与这些法律工具互动,必须在系统提示中包含适当的指导。这些工具遵循与标准 Cline 工具相同的 AI → 人类互动模型,但具有特定领域的增强功能。
系统提示应包含每个工具的详细文档:
## legal_think
描述:一种结构化的法律推理工具,帮助分析复杂的法律问题,并提供特定领域的指导和模板。此工具能够逐步进行法律分析,并提供关于推理质量的反馈。
参数:
- thought: (必需) 当前法律推理步骤
- thoughtNumber: (必需) 序列中的当前思维编号
- totalThoughts: (必需) 预计需要的总思维数
- nextThoughtNeeded: (必需) 是否需要另一个思维步骤
- category: (可选) 法律领域类别(如果没有提供则自动检测)
- references: (可选) 引用数组
- isRevision: (可选) 是否修订之前的思维
- revisesThoughtNumber: (可选) 正在重新考虑的思维编号
- requestGuidance: (可选) 是否请求特定领域的指导
- requestTemplate: (可选) 是否请求特定领域的模板
用法:
<legal_think>
<thought>您的法律推理步骤在这里</thought>
<thoughtNumber>当前思维编号</thoughtNumber>
<totalThoughts>预计总思维数</totalThoughts>
<nextThoughtNeeded>true 或 false</nextThoughtNeeded>
<category>法律领域(可选)</category>
<references>引用数组(可选)</references>
<isRevision>true 或 false(可选)</isRevision>
<revisesThoughtNumber>正在修订的思维编号(可选)</revisesThoughtNumber>
<requestGuidance>true 或 false(可选)</requestGuidance>
<requestTemplate>true 或 false(可选)</requestTemplate>
</legal_think>
## legal_ask_followup_question
描述:向用户询问特定领域的法律问题,以收集完成任务所需的额外信息。此工具增强了标准的 ask_followup_question 功能,增加了法律领域的检测、术语格式化以及特定领域的建议选项。
参数:
- question: (必需) 向用户询问的问题。这将自动增强以包含适当的法律术语。
- options: (可选) 用户可以选择的 2 到 5 个选项的数组。如果没有提供,则会自动建议特定领域的选项。
- context: (可选) 帮助进行领域检测和问题格式化的附加上下文。
用法:
<legal_ask_followup_question>
<question>您的问题在这里</question>
<options>
选项数组(可选),例如 ["选项 1", "选项 2", "选项 3"]
</options>
<context>帮助进行领域检测的附加上下文(可选)</context>
</legal_ask_followup_question>
## legal_attempt_completion
描述:以适当的法律结构和格式向用户展示您的工作结果。此工具增强了标准的 attempt_completion 功能,增加了法律领域的检测、文档结构化和引用格式化。
参数:
- result: (必需) 任务的结果。这将自动格式化为适当的法律结构。
- command: (可选) 用于显示结果的 CLI 命令。
- context: (可选) 帮助进行领域检测和结果格式化的附加上下文。
用法:
<legal_attempt_completion>
<result>
您的最终结果描述在这里
</result>
<command>用于演示结果的命令(可选)</command>
<context>帮助进行领域检测的附加上下文(可选)</context>
</legal_attempt_completion>
这些指导确保 AI 理解:
没有这些指导,AI 可能无法充分利用这些工具内置的特定领域能力。
legal_think 工具帮助您分析复杂的法律问题,采用结构化思考方式:
我需要分析一个 ANSC 争议案件,其中申诉人认为招标中的技术规格过于严格。
Claude 将使用 legal_think 工具来:
当 Claude 需要更多信息来完成法律分析时:
具体哪些技术规格条款被挑战?
Claude 将使用 legal_ask_followup_question 工具来:
当 Claude 准备展示最终的法律分析时:
根据我的分析,要求“至少 5 年经验”的技术规格似乎不合理,并可能违反《公共采购法》第 131/2015 条第 33(2)款。
Claude 将使用 legal_attempt_completion 工具来:
{
"thought": "分析 ANSC 争议案件,其中申诉人认为技术规格过于严格。",
"thoughtNumber": 1,
"totalThoughts": 5,
"nextThoughtNeeded": true,
"category": "ansc_contestation", // 可选,未提供时自动检测
"references": ["法律 131/2015", "ANSC 决定 #12345"], // 可选
"isRevision": false, // 可选
"revisesThoughtNumber": null, // 可选
"requestGuidance": true, // 可选
"requestTemplate": true // 可选
}
{
"question": "具体哪些技术规格条款被挑战?",
"options": [ // 可选,未提供时自动生成
"您是否质疑经验要求?",
"您是否质疑技术能力要求?",
"您是否质疑财务要求?",
"您是否质疑认证要求?"
],
"context": "关于 IT 设备采购的 ANSC 争议" // 可选
}
{
"result": "根据对 ANSC 争议 #12345 的分析,要求‘至少 5 年经验’的技术规格似乎不合理,并可能违反《公共采购法》第 131/2015 条第 33(2)款。",
"command": null, // 可选
"context": "ANSC 争议分析" // 可选
}
服务器采用模块化架构构建:
mcp-cerebra-legal-server/
├── src/
│ ├── shared/ # 共享组件
│ │ ├── DomainDetector.ts
│ │ ├── LegalKnowledgeBase.ts
│ │ ├── CitationFormatter.ts
│ │ └── types.ts
│ ├── tools/ # 工具实现
│ │ ├── LegalThinkTool.ts
│ │ ├── LegalAskFollowupQuestionTool.ts
│ │ └── LegalAttemptCompletionTool.ts
│ ├── utils/ # 实用工具
│ │ └── logger.ts
│ └── index.ts # 主服务器入口点
├── build/ # 编译后的 JavaScript
├── test-client.js # 测试客户端
├── package.json
└── tsconfig.json
npm run build
# 运行测试客户端
./test-client.js
该项目可在 GitHub 上找到: https://github.com/yoda-digital/mcp-cerebra-legal-server
MIT