Swiss Legal Intelligence Plugin for Cowork and Claude Code
BetterCallClaude transforms legal research, case strategy, and document drafting for Swiss lawyers. It provides deep integration with Swiss legal databases, multi-lingual analysis (DE/FR/IT/EN), and built-in Anwaltsgeheimnis (attorney-client privilege) protection -- 19 agents, 18 commands, 10 skills, and 6 MCP servers covering BGE/ATF/DTF precedent research, litigation strategy, adversarial analysis, legal drafting, and citation verification across all 26 Swiss cantons.
BetterCallClaude provides a structured methodology for handling legal work with AI assistance. The framework consists of five interconnected phases.
Auto-refine in /briefing -- The /bettercallclaude:briefing command now auto-detects vague queries and offers prompt refinement before the specialist panel. Single entry point for case intake.
- Vagueness detection: Missing legal question, party position, jurisdiction, or desired outcome triggers refinement offer
- Seamless flow: Accept → refine → continue with panel, or skip and proceed directly
v4.0.3 -- Skipped (release workflow issue)
v4.0.2 -- Prompt refinement mode -- --refine flag for /bettercallclaude:legal reformulates vague queries into precise legal prompts. Git-subdir marketplace format for PR #118.
v4.0.1 -- HTTP-first MCP transport -- All five Swiss legal database servers connect via HTTP to mcp.bettercallclaude.ch. Zero-config for Cowork Desktop.
Follow the visual setup guide with screenshots, or use three steps:
- In Cowork, click Customize > Browse plugins > Personal > + > Add marketplace from GitHub
- Enter
fedec65/bettercallclaudeand click Sync - Click Install on the BetterCallClaude card
claude plugin marketplace add fedec65/bettercallclaude
claude plugin install bettercallclaude@bettercallclaude-marketplace
Install Git for Windows, then install Claude Code (winget install Anthropic.ClaudeCode or other methods), then run the CLI commands above.
Add to your project's .claude/settings.json so anyone who clones the repo gets prompted to install:
{
"extraKnownMarketplaces": {
"bettercallclaude-marketplace": {
"source": { "source": "github", "repo": "fedec65/bettercallclaude" }
}
}
}For the full installation guide (troubleshooting, manual install, developer setup), see BetterCallClaude Tutorial.
A comprehensive tutorial for Swiss lawyers using BetterCallClaude within the COWORK platform. CLICK HERE to access the full tutorial.
| Command | Description |
|---|---|
/bettercallclaude:legal |
Intelligent gateway -- analyzes intent, routes to the appropriate specialist agent, and manages multi-step legal workflows. |
/bettercallclaude:research |
Search Swiss legal precedents and compile research memoranda. Supports BGE/ATF/DTF databases, doctrine references, and cross-jurisdictional analysis. |
/bettercallclaude:strategy |
Develop litigation strategy with risk assessment, cost-benefit analysis, and procedural pathway evaluation. |
/bettercallclaude:draft |
Draft Swiss legal documents including contracts, court briefs, legal opinions, and memoranda with proper citation formatting. |
/bettercallclaude:cite |
Verify and format Swiss legal citations across all four national languages (BGE/ATF/DTF formats). |
/bettercallclaude:validate |
Validate Swiss legal citations in bulk -- check format, existence, and cross-language consistency. |
/bettercallclaude:precedent |
Search and analyze BGE/ATF/DTF precedents with precedent chain tracking and evolution analysis. |
/bettercallclaude:federal |
Analyze a legal question under federal Swiss law (ZGB, OR, StGB, BV, and related federal statutes). |
/bettercallclaude:cantonal |
Analyze a legal question under cantonal law for a specific canton. |
/bettercallclaude:adversarial |
Run three-agent adversarial analysis -- advocate builds the case, adversary challenges it, judicial analyst synthesizes. |
/bettercallclaude:briefing |
Structured pre-execution briefing session -- assembles a specialist panel, collects case context, and builds an execution plan before agents start working. |
/bettercallclaude:workflow |
Define and execute multi-agent legal workflows (due diligence, litigation prep, contract lifecycle, real estate closing). |
/bettercallclaude:translate |
Translate Swiss legal documents between DE, FR, IT, and EN while preserving legal terminology precision. |
/bettercallclaude:doc-analyze |
Analyze Swiss legal documents -- identify legal issues, extract key clauses, verify citations, assess compliance. |
/bettercallclaude:summarize |
Consolidate multi-agent pipeline output -- deduplicate disclaimers, terminology, and citations with length control (--short/--medium/--long). |
/bettercallclaude:setup |
Check MCP server connectivity and switch between HTTP/local transport. |
/bettercallclaude:version |
Display plugin version, installed components, and system status. |
/bettercallclaude:help |
Show complete command reference, available agents, skills, and usage examples. |
/bettercallclaude:legal I need to assess our exposure under Art. 97 OR for late delivery
/bettercallclaude:research Art. 97 OR contractual liability for late delivery
/bettercallclaude:strategy Commercial lease dispute in Zurich, landlord claims CHF 200k damages
/bettercallclaude:draft Employment contract for a software engineer in Geneva, bilingual DE/FR
/bettercallclaude:adversarial Is the non-compete clause in this employment contract enforceable?
/bettercallclaude:workflow litigation-prep Personal injury claim against manufacturer
/bettercallclaude:briefing Prepare full litigation for Art. 97 OR breach, CHF 500K, Zurich
/bettercallclaude:cantonal ZH Commercial court jurisdiction for contract disputes over CHF 30k
/bettercallclaude:doc-analyze @contract.pdf Review this commercial lease agreement
- Briefing sessions -- Complex queries trigger a collaborative intake phase with specialist panels, targeted questions, and structured execution plans before agents start working. Supports
--resumefor cross-session persistence. (Details) - Adversarial analysis -- Three-agent workflow: advocate builds the case, adversary challenges it, judicial analyst synthesizes using Swiss Erwagung methodology with probability scores.
- Multi-agent workflows -- Predefined pipelines for due diligence, litigation prep, contract lifecycle, and real estate closings.
- All 26 cantons -- Full cantonal coverage with court systems, citation formats, and MCP search via entscheidsuche.ch. Federal law is the default; mentioning a canton triggers cantonal mode.
- Multi-language -- Automatic language detection for DE/FR/IT/EN with correct legal terminology and citation formats.
| Server | Purpose | Transport |
|---|---|---|
entscheidsuche |
Swiss court decision search (Bundesgericht + cantonal) | HTTP |
bge-search |
Federal Supreme Court decision search | HTTP |
legal-citations |
Citation verification and formatting | HTTP |
fedlex-sparql |
Federal legislation database (SPARQL) | HTTP |
onlinekommentar |
Swiss legal commentaries | HTTP |
ollama |
Local privacy classification | Local (stdio) |
The five HTTP servers connect to https://mcp.bettercallclaude.ch (rate limit: 60 req/min per IP). No API keys required. The ollama server runs locally for Anwaltsgeheimnis detection.
To switch to local stdio transport: /bettercallclaude:setup --local (requires Node.js 18+). Switch back: /bettercallclaude:setup --restore-http.
See CONNECTORS.md for detailed API documentation.
BetterCallClaude includes built-in Anwaltsgeheimnis (attorney-client privilege, Art. 321 StGB) compliance. A PreToolUse hook scans outgoing tool calls for privilege indicators in German (Anwaltsgeheimnis, Mandantengeheimnis, vertraulich), French (secret professionnel, confidentiel), and Italian (segreto professionale, confidenziale).
| Mode | Behavior |
|---|---|
strict |
All external calls require confirmation. Local processing preferred via Ollama. |
balanced |
Privileged content triggers confirmation. Non-privileged content processed normally. |
cloud |
Standard cloud processing with privacy hook active for explicit privilege markers only. |
| Language | Code | Legal Context |
|---|---|---|
| German | DE | Primary: ZGB, OR, StGB, BGE. Used in ZH, BE, BS, and German-speaking cantons. |
| French | FR | Official: CC, CO, CP, ATF. Used in GE, VD, and French-speaking cantons. |
| Italian | IT | Official: CC, CO, CP, DTF. Used in TI and Italian-speaking regions. |
| English | EN | Working language with Swiss legal term mapping. |
- Cowork or Claude Code (latest version)
- Node.js >= 18 (only for
--localmode or the ollama privacy classifier)
Federico Cesconi -- fedec65/bettercallclaude -- bettercallclaude.ch
AGPL-3.0 -- See LICENSE for full terms.
The mcp-servers-src/ directory contains TypeScript source for all six MCP servers. The mcp-servers-http/ directory contains the HTTP transport wrapper deployed to Railway.
npm run build # Compile TypeScript
npm run build:bundle # Build single-file bundles into mcp-servers/*/dist/
npm test # Run tests
npm run package # Create distributable plugin zipCompiled bundles in bettercallclaude/mcp-servers/*/dist/ are checked into git so end users don't need build tooling. See CONNECTORS.md for MCP server API documentation.
BetterCallClaude is a legal research and analysis tool. All outputs produced by this plugin:
- Require professional lawyer review and validation before use.
- Do not constitute legal advice.
- May contain errors, omissions, or outdated information.
- Must be verified against official sources (admin.ch, court databases, official gazettes).
- Must be adapted to the specific circumstances of each case.
Lawyers maintain full professional responsibility for all legal work products. This tool assists legal professionals but does not replace professional judgment, independent verification, or the duty of care owed to clients.
