Model Context Protocol (MCP) servers for Swiss legal research.
This repository contains the standalone MCP servers that power the BetterCallClaude Swiss legal intelligence plugin. Each server is a separate, independently-installable package.
This repo is MCP-only. Slash commands, skills, agents, hooks, and the Cowork plugin manifest live in
fedec65/bettercallclaude.
| Server | Transport | Purpose |
|---|---|---|
bge-search |
stdio | Swiss Federal Supreme Court (BGE/ATF/DTF) decision search |
entscheidsuche |
stdio | Federal + cantonal court decision search via entscheidsuche.ch |
legal-citations |
stdio | Validate, parse, format, and convert Swiss legal citations |
legal-persona |
stdio | Case strategy, drafting, and document analysis tools |
tas-jurisprudence |
HTTP (Streamable) | TAS/CAS (Court of Arbitration for Sport) decision search |
See docs/07-MCP-SERVERS-REFERENCE.md for
the full tool reference.
mcp-servers/
├── bge-search/ # stdio MCP server
├── entscheidsuche/ # stdio MCP server
├── legal-citations/ # stdio MCP server
├── legal-persona/ # stdio MCP server
└── tas-jurisprudence/ # HTTP MCP server (Railway-deployable)
Each directory is a self-contained npm package with its own package.json,
tests, and build. The root package.json wires them together as npm
workspaces so you can build/test all of them in one pass.
Requires Node.js ≥ 18 and npm ≥ 10.
# Install dependencies for every server
npm install
# Build all servers
npm run build
# Run tests across all servers
npm test
# Typecheck all servers
npm run typecheckTo work on a single server:
cd mcp-servers/bge-search
npm run build
npm testPoint your MCP-capable client at a built server's entry point. Example for
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"bge-search": {
"command": "node",
"args": ["/absolute/path/to/BetterCallClaudeMCP/mcp-servers/bge-search/dist/index.js"]
},
"entscheidsuche": {
"command": "node",
"args": ["/absolute/path/to/BetterCallClaudeMCP/mcp-servers/entscheidsuche/dist/index.js"]
},
"legal-citations": {
"command": "node",
"args": ["/absolute/path/to/BetterCallClaudeMCP/mcp-servers/legal-citations/dist/index.js"]
},
"legal-persona": {
"command": "node",
"args": ["/absolute/path/to/BetterCallClaudeMCP/mcp-servers/legal-persona/dist/index.js"]
}
}
}tas-jurisprudence exposes a Streamable HTTP endpoint and is intended to be
deployed as a service (see
mcp-servers/tas-jurisprudence/README.md).
npx @modelcontextprotocol/inspector \
node ./mcp-servers/bge-search/dist/index.jsMIT