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.
- 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
- Court Status (
entscheidsuche://courts/status
): Real-time information about court document collections
- Legal Research (
legal_research
): Template for conducting comprehensive legal research - Case Analysis (
case_analysis
): Template for analyzing specific legal cases
- Clone or download this project
- Install dependencies:
npm install
- Build the project:
npm run build
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"]
}
}
}
Test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector node build/index.js
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)
The search supports Elasticsearch query syntax:
"exact phrase"
for exact matchesfield:value
for field-specific searchesterm1 AND term2
for boolean operations
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)
This server interfaces with:
https://entscheidsuche.ch/_search.php
- Elasticsearch search endpointhttps://entscheidsuche.ch/docs/
- Document repositoryhttps://entscheidsuche.ch/status
- Court status 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
npm run build
- Build the TypeScript projectnpm run dev
- Build and run the servernpm run watch
- Watch for changes and rebuild
src/
index.ts # Main server implementation
build/ # Compiled JavaScript output
package.json # Project dependencies and scripts
tsconfig.json # TypeScript configuration
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
MIT License - see LICENSE file for details.
- Entscheidsuche.ch for providing the open API
- Model Context Protocol for the MCP framework
- Swiss courts for making decisions publicly available