Skip to main content
Glama

Cerebra Legal MCP Server

by yoda-digital

Cerebra Legal MCP Server

An enterprise-grade MCP server for legal reasoning and analysis based on the "think" tool concept from Anthropic's engineering blog.

Overview

Cerebra Legal provides three powerful tools for legal reasoning and analysis:

  1. legal_think - A structured legal reasoning tool that helps analyze complex legal issues with domain-specific guidance and templates.

  2. legal_ask_followup_question - A specialized tool for asking follow-up questions in legal contexts with domain-specific options.

  3. legal_attempt_completion - A tool for presenting legal analysis results with proper structure and citation formatting.

The server automatically detects legal domains (ANSC contestation, consumer protection, contract analysis) and provides domain-specific guidance, templates, and feedback.

Features

  • Domain Detection: Automatically identifies the legal domain of the analysis

  • Domain-Specific Guidance: Provides tailored guidance for different legal domains

  • Structured Templates: Offers domain-specific templates for legal analysis

  • Citation Formatting: Properly formats legal citations

  • Thought Quality Analysis: Provides feedback on legal reasoning quality

  • Revision Support: Allows for revising previous thoughts

Installation

# 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

Usage

Running the Server

npm start

Testing the Server

The repository includes a test client that demonstrates how to interact with the server:

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

The test client will:

  1. Start the server

  2. Send a tools/list request to get available tools

  3. Send a legal_think request with a sample thought

  4. Display the server's responses

Adding to Claude

To add the server to Claude, update your MCP settings file with the following configuration:

For VSCode Extension

Edit the file at ~/.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": [] } } }

For Claude Desktop App

Edit the file at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on your platform:

{ "mcpServers": { "cerebra-legal": { "command": "node", "args": ["/path/to/mcp-cerebra-legal-server/build/index.js"], "disabled": false, "alwaysAllow": [] } } }

Using the Tools in Claude

Once the server is added to Claude, you can use the tools in your conversations:

System Prompt Integration

For optimal AI interaction with these legal tools, it's essential to include proper guidance in the system prompt. These tools follow the same AI → Human interaction model as standard Cline tools but with domain-specific enhancements.

The system prompt should include detailed documentation for each tool:

## 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>

This guidance ensures the AI understands:

  1. These are specialized versions of standard tools

  2. They maintain the same AI → Human interaction flow

  3. They have additional capabilities and parameters

  4. How to properly format the tool calls

Without this guidance, the AI might not fully leverage the domain-specific capabilities built into these tools.

1. Using legal_think

The legal_think tool helps you analyze complex legal issues with structured thinking:

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

Claude will use the legal_think tool to:

  • Detect the legal domain (ANSC contestation)

  • Provide domain-specific guidance

  • Offer a structured template for analysis

  • Give feedback on the quality of legal reasoning

  • Support revision of previous thoughts

2. Using legal_ask_followup_question

When Claude needs more information to complete a legal analysis:

What specific provisions of the technical specifications are being challenged?

Claude will use the legal_ask_followup_question tool to:

  • Format the question with appropriate legal terminology

  • Provide domain-specific options for the user to choose from

  • Detect the legal domain for context-aware questioning

3. Using legal_attempt_completion

When Claude is ready to present the final legal analysis:

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 will use the legal_attempt_completion tool to:

  • Format the conclusion with proper legal structure

  • Extract and format legal citations

  • Organize the analysis into clear sections

  • Provide a professional legal document format

Tool Input Schemas

legal_think

{ "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_followup_question

{ "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_attempt_completion

{ "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 }

Architecture

The server is built with a modular architecture:

  • Domain Detector: Identifies the legal domain of the analysis

  • Legal Knowledge Base: Provides domain-specific guidance and templates

  • Citation Formatter: Formats legal citations properly

  • Tool Implementations: Handles the logic for each tool

Development

Project Structure

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

Building

npm run build

Testing

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

Repository

This project is available on GitHub at: https://github.com/yoda-digital/mcp-cerebra-legal-server

References

License

MIT

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A MCP server for retrieving backlink information for any domain(SEO).
    Last updated -
    4
    189
    MIT License
  • A
    security
    F
    license
    A
    quality
    An MCP server that allows coding agents to look up contextual rules and patterns on demand, providing just-in-time guidance for specific tasks like writing tests or authoring UI.
    Last updated -
    2
    8
  • -
    security
    A
    license
    -
    quality
    MCP server that enables intelligent analysis of legal spend data across multiple sources (LegalTracker, databases, CSV/Excel files), providing features like spend summaries, vendor performance analysis, and budget comparisons.
    Last updated -
    3
    MIT License
  • -
    security
    F
    license
    -
    quality
    An advanced integrated MCP server platform that combines 600+ tools and multiple biomedical databases to enable comprehensive information retrieval across molecules, proteins, genes, and diseases for accelerating therapeutic research.
    Last updated -
    25

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yoda-digital/mcp-cerebra-legal-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server