Entscheidsuche MCP Server
An MCP server providing standardized access to Swiss court decisions through the entscheidsuche.ch API, allowing LLMs to search, retrieve, and analyze legal documents from Swiss jurisdictions.
README Documentation
Entscheidsuche MCP Server
A Model Context Protocol (MCP) server for searching and accessing Swiss legal case law through the Entscheidsuche API. This server enables legal professionals to efficiently research court decisions from Swiss federal and cantonal courts.
Features
Tools
- Search Case Law (
search_case_law
): Search through Swiss court decisions using natural language queries - Get Document (
get_document
): Retrieve full document content in JSON, HTML, or PDF format - List Courts (
list_courts
): Get information about available courts and their document counts
Resources
- Court Status (
entscheidsuche://courts/status
): Real-time information about court document collections
Prompts
- Legal Research (
legal_research
): Template for conducting comprehensive legal research - Case Analysis (
case_analysis
): Template for analyzing specific legal cases
Installation
- Clone or download this project
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
With Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"entscheidsuche": {
"command": "node",
"args": ["/absolute/path/to/entscheidsuche-mcp/build/index.js"]
}
}
}
With MCP Inspector
Test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector node build/index.js
Example Searches
Basic Legal Research
Use the search tool to find cases on specific topics:
- "Datenschutz DSGVO" (Data protection)
- "Arbeitsrecht Kündigung" (Employment law termination)
- "Mietrecht Mietzinserhöhung" (Rental law rent increases)
Advanced Queries
The search supports Elasticsearch query syntax:
"exact phrase"
for exact matchesfield:value
for field-specific searchesterm1 AND term2
for boolean operations
Document Retrieval
Once you find a relevant case, use the signature and spider name to retrieve the full document:
- Signature: e.g., "CH_BGer_2023_1C_123_2023"
- Spider: e.g., "CH_BGer" (Swiss Federal Court)
API Endpoints Used
This server interfaces with:
https://entscheidsuche.ch/_search.php
- Elasticsearch search endpointhttps://entscheidsuche.ch/docs/
- Document repositoryhttps://entscheidsuche.ch/status
- Court status information
Legal Information
This tool provides access to publicly available Swiss court decisions through the Entscheidsuche service. Please note:
- Always verify legal information through official sources
- This tool is for research purposes only
- Consult qualified legal professionals for legal advice
- Respect the terms of service of entscheidsuche.ch
Development
Scripts
npm run build
- Build the TypeScript projectnpm run dev
- Build and run the servernpm run watch
- Watch for changes and rebuild
Project Structure
src/
index.ts # Main server implementation
build/ # Compiled JavaScript output
package.json # Project dependencies and scripts
tsconfig.json # TypeScript configuration
Contributing
Feel free to submit issues and enhancement requests. When contributing:
- Follow the existing code style
- Add appropriate error handling
- Update documentation as needed
- Test your changes with the MCP Inspector
License
MIT License - see LICENSE file for details.
Acknowledgments
- Entscheidsuche.ch for providing the open API
- Model Context Protocol for the MCP framework
- Swiss courts for making decisions publicly available