Cerebra Legal MCP Server
Cerebra Legal MCP 服务器
基于Anthropic 工程博客中的“思考”工具概念,用于法律推理和分析的企业级 MCP 服务器。
概述
Cerebra Legal 提供了三种强大的法律推理和分析工具:
legal_think - 一种结构化的法律推理工具,可帮助通过特定领域的指导和模板分析复杂的法律问题。
legal_ask_followup_question - 一种专门用于在法律背景下提出后续问题的工具,具有特定领域的选项。
legal_attempt_completion - 一种以适当的结构和引用格式呈现法律分析结果的工具。
该服务器自动检测法律领域(ANSC 争议、消费者保护、合同分析)并提供特定领域的指导、模板和反馈。
Related MCP server: Codebase Intelligence MCP Server
特征
域检测:自动识别分析的合法域
特定领域指导:针对不同法律领域提供定制指导
结构化模板:提供特定领域的法律分析模板
引用格式:正确格式化法律引用
思维质量分析:提供法律推理质量的反馈
修订支持:允许修改以前的想法
安装
# 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测试客户端将:
启动服务器
发送工具/列表请求以获取可用工具
发送带有示例想法的 legal_think 请求
显示服务器的响应
添加到克劳德
要将服务器添加到 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": []
}
}
}对于克劳德桌面应用程序
编辑~/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 工具相同的 AI → 人机交互模型,但针对特定领域进行了增强。
系统提示应包括每个工具的详细文档:
## 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>本指南确保人工智能理解:
这些是标准工具的专门版本
它们保持相同的人工智能→人类交互流程
它们具有额外的功能和参数
如何正确格式化工具调用
如果没有这种指导,人工智能可能无法充分利用这些工具内置的特定领域功能。
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_followup_question
当克劳德需要更多信息来完成法律分析时:
What specific provisions of the technical specifications are being challenged?Claude 将使用 legal_ask_followup_question 工具来:
使用适当的法律术语来格式化问题
提供特定领域的选项供用户选择
检测上下文感知提问的合法领域
3. 使用legal_attempt_completion
当克劳德准备提出最终的法律分析时:
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_completion 工具来执行以下操作:
用适当的法律结构格式化结论
提取并格式化法律引文
将分析组织成清晰的部分
提供专业的法律文件格式
工具输入模式
法律思考
{
"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
}法律问题
{
"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
}合法尝试完成
{
"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
参考
“思考”工具:让克劳德在复杂的工具使用情况下停下来思考- 人因工程博客
执照
麻省理工学院
Available Tools
3 toolslegal_ask_followup_questionB
A specialized tool for asking follow-up questions in legal contexts. This tool helps gather additional information needed for legal analysis by formulating precise questions with domain-specific options.
When to use this tool:
When you need additional information to complete a legal analysis
When clarification is needed on specific legal points
When gathering evidence or documentation for a legal case
When exploring alternative legal interpretations
Key features:
Automatic detection of legal domains
Domain-specific question suggestions
Legal terminology formatting
Structured options for efficient information gathering
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The legal question to ask the user | |
| options | No | An array of 2-5 options for the user to choose from (optional) | |
| context | No | Additional context about the legal issue (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists 'Key features' like 'Automatic detection of legal domains' and 'Legal terminology formatting,' which hint at functionality, but fails to disclose critical behavioral traits such as whether this tool modifies data, requires specific permissions, has rate limits, or what the output looks like. For a tool with no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections ('When to use this tool,' 'Key features'), making it easy to scan. It's appropriately sized with no redundant sentences, though it could be slightly more concise by integrating some points. Every sentence adds value, such as explaining domain-specific options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (legal domain tool with 3 parameters, no annotations, no output schema), the description is partially complete. It covers purpose and usage well but lacks details on behavioral aspects and output. Without annotations or an output schema, the description should do more to explain what happens when the tool is invoked, but it provides enough context for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (question, options, context) with descriptions. The description adds no additional meaning beyond the schema, such as examples or usage tips for parameters. The baseline score of 3 is appropriate since the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'asking follow-up questions in legal contexts' and 'gather additional information needed for legal analysis,' which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like legal_attempt_completion or legal_think, leaving some ambiguity about when to choose this tool over alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'When to use this tool' section with four clear scenarios (e.g., 'When you need additional information to complete a legal analysis'), providing explicit guidance on appropriate contexts. It lacks explicit exclusions or comparisons to sibling tools, but the scenarios are well-defined and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_attempt_completionB
A specialized tool for presenting legal analysis results and conclusions. This tool formats legal conclusions with proper structure, extracts and formats citations, and provides a professional legal document format.
When to use this tool:
When presenting the final results of a legal analysis
When summarizing legal findings and recommendations
When providing a structured legal opinion
When concluding a legal reasoning process
Key features:
Automatic detection of legal domains
Proper legal document formatting
Citation extraction and formatting
Structured sections for clear communication
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | The legal analysis result or conclusion | |
| command | No | A CLI command to execute (optional) | |
| context | No | Additional context about the legal issue (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but provides minimal behavioral disclosure. It mentions formatting features but doesn't address permissions needed, whether it modifies data, rate limits, error conditions, or what the output looks like. For a tool with 3 parameters and no output schema, this leaves significant gaps in understanding how the tool actually behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, usage guidelines, key features) and efficiently communicates core information. While slightly verbose in listing multiple 'when to use' examples, each sentence adds value and the overall length is appropriate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no annotations, and no output schema, the description provides adequate purpose and usage context but lacks sufficient behavioral details. It explains what the tool does and when to use it, but doesn't adequately address how it works, what permissions are needed, or what the output format will be. This leaves gaps for a tool that presumably generates formatted legal documents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no specific information about parameter usage, relationships, or examples beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting, though the description could have explained how parameters interact with the formatting features mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'presenting legal analysis results and conclusions' with specific functions like formatting, citation extraction, and document structuring. It distinguishes from sibling tools (legal_ask_followup_question, legal_think) by focusing on final presentation rather than analysis or questioning, though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use this tool' section provides clear context: presenting final results, summarizing findings, providing structured opinions, and concluding legal reasoning. It implicitly distinguishes from siblings by focusing on completion rather than intermediate steps, but doesn't explicitly state when NOT to use it or name specific alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_thinkA
A powerful tool for structured legal reasoning that helps analyze complex legal issues. This tool provides domain-specific guidance and templates for different legal areas including ANSC contestations, consumer protection, and contract analysis.
When to use this tool:
Breaking down complex legal problems into structured steps
Analyzing legal requirements and compliance
Verifying that all elements of a legal test are addressed
Building comprehensive legal arguments with proper citations
Key features:
Automatic detection of legal domains
Domain-specific guidance and templates
Support for legal citations and references
Revision capabilities for refining legal arguments
Thought quality feedback
| Name | Required | Description | Default |
|---|---|---|---|
| thought | Yes | The main legal reasoning content | |
| category | No | Category of legal reasoning (optional, will be auto-detected if not provided) | |
| references | No | References to laws, regulations, precedents, or previous thoughts (optional) | |
| isRevision | No | Whether this thought revises a previous legal reasoning (optional) | |
| revisesThoughtNumber | No | The thought number being revised (if isRevision is true) | |
| requestGuidance | No | Set to true to receive domain-specific legal guidance | |
| requestTemplate | No | Set to true to receive a template for this type of legal reasoning | |
| thoughtNumber | Yes | Current thought number | |
| totalThoughts | Yes | Estimated total thoughts needed | |
| nextThoughtNeeded | Yes | Whether another thought step is needed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions key features like automatic domain detection, guidance/templates, citation support, revision capabilities, and thought quality feedback, which gives useful context about how the tool behaves. However, it doesn't address important behavioral aspects like whether this is a read-only analysis tool or if it modifies data, what permissions might be needed, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, when to use, key features) and each sentence adds value. It's appropriately sized for a complex tool with 10 parameters, though the 'Key features' section could be more concise as some items overlap with earlier content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex legal reasoning tool with 10 parameters and no annotations or output schema, the description provides good purpose and usage context but has significant gaps. It doesn't explain what the tool outputs (no output schema), doesn't address behavioral constraints, and while it mentions legal domains, it doesn't fully explain how the complex parameter set works together for the reasoning process.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description doesn't add any specific parameter information beyond what's in the schema - it mentions general capabilities like domain detection and revision, but doesn't explain how parameters like 'category' or 'isRevision' relate to these features. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'structured legal reasoning that helps analyze complex legal issues' and mentions specific legal domains like ANSC contestations, consumer protection, and contract analysis. It distinguishes itself from siblings by focusing on reasoning rather than follow-up questions or completion attempts, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use this tool' section provides clear guidance on four specific scenarios like breaking down complex legal problems and analyzing legal requirements. It doesn't mention when NOT to use it or explicitly name sibling tools as alternatives, but the context is well-defined for legal reasoning tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
legal_ask_followup_question - First observed
legal_attempt_completion - First observed
legal_think
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: legal_think is for structured reasoning and analysis, legal_ask_followup_question is for gathering additional information, and legal_attempt_completion is for presenting final conclusions. The descriptions reinforce these distinct roles with no overlap in core functionality.
All tools follow a consistent 'legal_' prefix with descriptive action names (think, ask_followup_question, attempt_completion), using snake_case uniformly. This pattern makes the tool set predictable and easy to navigate.
With only 3 tools, the set feels thin for a legal analysis domain, potentially lacking operations like document retrieval, case law lookup, or specific legal research functions. While the tools cover reasoning, questioning, and completion, the scope suggests more tools might be needed for comprehensive legal workflows.
The tool set is severely incomplete for legal analysis, missing essential operations such as accessing legal databases, retrieving statutes or case law, validating citations, or drafting legal documents. The existing tools focus only on internal reasoning and presentation, leaving significant gaps that would hinder an agent's ability to perform thorough legal tasks.
Maintenance
Related MCP Connectors
Hybrid human + AI expertise for faster, trusted answers and decisions via MCP Server.
Connect AI to millions of laws and court cases with the Lawstronaut MCP.
AI governance MCP server for EU AI Act compliance and jurisdiction verification
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA specialized MCP server for Argentine legal professionals, enabling legal research, document processing, case analysis, and practice management through integration with official Argentine legal databases.8MIT
- AlicenseNot gradedqualityDmaintenanceA production-grade MCP server providing advanced code intelligence capabilities such as semantic search, dependency analysis, and natural language Q&A across multiple programming languages.MIT
- AlicenseAqualityCmaintenanceMCP server providing comprehensive Korean legal data access (laws, precedents, regulations, ordinances) with citation verification, temporal comparison, impact graphs, and legal research workflows.109,408 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for Indian legal work that enables case-law research with verified citations, limitation and deadline calculations, legal document drafting, matter tracking, and contract search.1Apache 2.0