法律推理分析服务器

企业级法律推理与分析服务器,提供结构化法律推理工具、法律问题跟进工具和法律分析结果格式化工具,适用于法律争议、消费者保护和合同分析等场景。

  • by yoda-digital
  • TypeScript
  • 本地部署
  • 33 星标
  • 更新于
在 GitHub 查看 yoda-digital/mcp-cerebra-legal-server

使用说明

Cerebra合法MCP服务器

基于“think”工具概念的企业级MCP服务器,用于法律推理和分析 Anthropic的工程博客.

概述

Cerebra Legal提供了三种强大的法律推理和分析工具:

  1. 法律思考 -一种结构化的法律推理工具,通过特定领域的指导和模板帮助分析复杂的法律问题。
  2. legal_ask_跟进_问题 -一种专门的工具,用于在具有特定领域选项的法律背景下提出后续问题。
  3. legal_尝试_完成 -一种以适当的结构和引用格式呈现法律分析结果的工具。

服务器自动检测合法域(ANSC争议、消费者保护、合同分析),并提供特定域的指导、模板和反馈。

特性

  • 域检测:自动识别分析的法律域
  • 特定领域指导:为不同的法律领域提供量身定制的指导
  • 结构化模板:提供特定领域的法律分析模板
  • 引文格式:正确格式化法律引用
  • 思维质量分析:提供关于法律推理质量的反馈
  • 修订支持:允许修改以前的想法

安装

# Clone the repository
git clone https://github.com/yoda-digital/mcp-cerebra-legal-server.git
cd mcp-cerebra-legal-server

# Install dependencies
npm install

# Build the project
npm run build

用法

运行服务器

npm start

测试服务器

存储库包括一个测试客户端,演示如何与服务器交互:

# Make the test client executable
chmod +x test-client.js

# Run the test client
./test-client.js

测试客户端将:

  1. 启动服务器
  2. 发送工具/列表请求以获取可用工具
  3. 发送带有示例思维的legal_think请求
  4. 显示服务器的响应

添加到克劳德

要将服务器添加到Claude,请使用以下配置更新MCP设置文件:

用于VSCode扩展

在以下位置编辑文件 ~/.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": []
    }
  }
}

适用于Claude桌面应用程序

在以下位置编辑文件 ~/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中的工具

一旦服务器被添加到Claude中,您就可以在对话中使用这些工具:

系统快速集成

为了使人工智能与这些法律工具进行最佳交互,在系统提示中包含适当的指导至关重要。这些工具遵循相同的AI→ 人机交互模型作为标准的Cline工具,但具有特定领域的增强功能。

系统提示应包括每个工具的详细文档:

## legal_think
Description: A structured legal reasoning tool that helps analyze complex legal issues with domain-specific guidance and templates. This tool enables step-by-step legal analysis with feedback on reasoning quality.

Parameters:
- thought: (required) The current legal reasoning step
- thoughtNumber: (required) Current thought number in sequence
- totalThoughts: (required) Estimated total thoughts needed
- nextThoughtNeeded: (required) Whether another thought step is needed
- category: (optional) Legal domain category (auto-detected if not provided)
- references: (optional) Array of legal references
- isRevision: (optional) Whether this revises previous thinking
- revisesThoughtNumber: (optional) Which thought is being reconsidered
- requestGuidance: (optional) Whether to request domain-specific guidance
- requestTemplate: (optional) Whether to request a domain-specific template

Usage:
<legal_think>
<thought>Your legal reasoning step here</thought>
<thoughtNumber>Current thought number</thoughtNumber>
<totalThoughts>Estimated total thoughts</totalThoughts>
<nextThoughtNeeded>true or false</nextThoughtNeeded>
<category>Legal domain (optional)</category>
<references>Array of references (optional)</references>
<isRevision>true or false (optional)</isRevision>
<revisesThoughtNumber>Thought number being revised (optional)</revisesThoughtNumber>
<requestGuidance>true or false (optional)</requestGuidance>
<requestTemplate>true or false (optional)</requestTemplate>
</legal_think>

## legal_ask_followup_question
Description: Ask the user a legal domain-specific question to gather additional information needed to complete the task. This tool enhances the standard ask_followup_question with legal domain detection, terminology formatting, and domain-specific suggested options.

Parameters:
- question: (required) The question to ask the user. This will be automatically enhanced with appropriate legal terminology.
- options: (optional) An array of 2-5 options for the user to choose from. If not provided, domain-specific options will be automatically suggested.
- context: (optional) Additional context to help with domain detection and question formatting.

Usage:
<legal_ask_followup_question>
<question>Your question here</question>
<options>
Array of options here (optional), e.g. ["Option 1", "Option 2", "Option 3"]
</options>
<context>Additional context to help with domain detection (optional)</context>
</legal_ask_followup_question>

## legal_attempt_completion
Description: Present the result of your work to the user with proper legal structure and formatting. This tool enhances the standard attempt_completion with legal domain detection, document structuring, and citation formatting.

Parameters:
- result: (required) The result of the task. This will be automatically formatted with proper legal structure.
- command: (optional) A CLI command to execute to show a live demo of the result to the user.
- context: (optional) Additional context to help with domain detection and result formatting.

Usage:
<legal_attempt_completion>
<result>
Your final result description here
</result>
<command>Command to demonstrate result (optional)</command>
<context>Additional context to help with domain detection (optional)</context>
</legal_attempt_completion>

该指南确保AI理解:

  1. 这些是标准工具的专用版本
  2. 他们保持相同的AI→ 人机交互流程
  3. 它们具有额外的功能和参数
  4. 如何正确格式化工具调用

如果没有这一指导,人工智能可能无法充分利用这些工具中内置的特定领域功能。

1.使用legal_think

legal_think工具可帮助您用结构化思维分析复杂的法律问题:

I need to analyze an ANSC contestation where a claimant argues that technical specifications in a tender were too restrictive.

Claude将使用legal_think工具:

  • 检测合法域名(ANSC竞争)
  • 提供特定领域的指导
  • 提供结构化的分析模板
  • 对法律推理的质量提供反馈
  • 支持修改之前的想法

2.使用legal_ask_flowup_question

当克劳德需要更多信息来完成法律分析时:

What specific provisions of the technical specifications are being challenged?

Claude将使用legal_ask_followup_question工具:

  • 用适当的法律术语格式化问题
  • 提供特定于域的选项供用户选择
  • 检测上下文感知提问的法律领域

3.使用legal_attempt_coompletion

当克劳德准备提交最终的法律分析时:

Based on my analysis, the technical specifications requiring "minimum 5 years experience" appear disproportionate and likely violate Article 33(2) of Law 131/2015 on public procurement.

Claude将使用legal_attempt_complement工具:

  • 以适当的法律结构形成结论
  • 提取并格式化法律引文
  • 将分析组织成清晰的部分
  • 提供专业的法律文件格式

工具输入模式

法律思考

{
  "thought": "Analyzing ANSC contestation where claimant argues technical specifications were too restrictive.",
  "thoughtNumber": 1,
  "totalThoughts": 5,
  "nextThoughtNeeded": true,
  "category": "ansc_contestation",  // Optional, auto-detected if not provided
  "references": ["Law 131/2015", "ANSC Decision #12345"],  // Optional
  "isRevision": false,  // Optional
  "revisesThoughtNumber": null,  // Optional
  "requestGuidance": true,  // Optional
  "requestTemplate": true  // Optional
}

legal_ask_跟进_问题

{
  "question": "What specific provisions of the technical specifications are being challenged?",
  "options": [  // Optional, auto-generated if not provided
    "Are you challenging the experience requirements?",
    "Are you challenging the technical capacity requirements?",
    "Are you challenging the financial requirements?",
    "Are you challenging the certification requirements?"
  ],
  "context": "ANSC contestation regarding procurement of IT equipment"  // Optional
}

legal_尝试_完成

{
  "result": "Based on the analysis of ANSC contestation #12345, the technical specifications requiring 'minimum 5 years experience' appear disproportionate and likely violate Article 33(2) of Law 131/2015 on public procurement.",
  "command": null,  // Optional
  "context": "ANSC contestation analysis"  // Optional
}

建筑

服务器采用模块化架构构建:

  • 域检测器:确定分析的法律领域
  • 法律知识库:提供特定领域的指导和模板
  • 引文格式化工具:正确设置法律引文格式
  • 工具实施:处理每个工具的逻辑

发展

项目结构

mcp-cerebra-legal-server/
├── src/
│   ├── shared/           # Shared components
│   │   ├── DomainDetector.ts
│   │   ├── LegalKnowledgeBase.ts
│   │   ├── CitationFormatter.ts
│   │   └── types.ts
│   ├── tools/            # Tool implementations
│   │   ├── LegalThinkTool.ts
│   │   ├── LegalAskFollowupQuestionTool.ts
│   │   └── LegalAttemptCompletionTool.ts
│   ├── utils/            # Utilities
│   │   └── logger.ts
│   └── index.ts          # Main server entry point
├── build/                # Compiled JavaScript
├── test-client.js        # Test client
├── package.json
└── tsconfig.json

建筑

npm run build

测试

# Run the test client
./test-client.js

仓库

这个项目可以在GitHub上找到: https://github.com/yoda-digital/mcp-cerebra-legal-server

参考文献

许可证

麻省理工学院