You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+59-12Lines changed: 59 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,48 @@ A Model Context Protocol (MCP) server for validating legal citations against the
9
9
10
10
## Quick Start
11
11
12
-
### Windows Install
12
+
### Docker (Recommended)
13
+
14
+
Docker is the recommended installation method. It includes the **interactive MCP App panel** — color-coded citation cards with clickable CourtListener links rendered inline in Claude Desktop.
> The `.env` file is gitignored. Never commit it. See `.env.example` for reference.
48
+
49
+
---
50
+
51
+
### Windows STDIO Install
52
+
53
+
> **Note:** STDIO mode works fully for citation validation. However, the **interactive MCP App panel does not currently render in Claude Desktop via STDIO** — you will get text results only. Use Docker mode above for the full visual panel experience. DPAPI/Credential Manager secure storage is Windows STDIO only.
13
54
14
55
**Run PowerShell as Administrator**, then:
15
56
@@ -47,7 +88,7 @@ The PowerShell script will:
47
88
48
89
### Claude Desktop Configuration - Manual Install
49
90
50
-
**STDIO mode (recommended):**
91
+
**STDIO mode** (no MCP App panel in Claude Desktop — text results only):
51
92
52
93
```json
53
94
{
@@ -111,7 +152,7 @@ Add to `.claude.json` in your project root or `~/.claude.json` globally:
111
152
-**Local Citation Extraction** - [eyecite](https://github.com/freelawproject/eyecite) library inventories all citation types (case, statute, law journal, id., supra) locally before any API call — no API key, no rate limits, instant
112
153
-**Citation Validation** - 7-tool workflow detects hallucinated citations: local discovery first, then 3-tool fallback chain against CourtListener API
-**MCP Apps UI** - Interactive citation validation results view (supported in Claude.ai, Claude Desktop, VS Code Insiders)
155
+
-**MCP Apps UI** - Interactive citation validation results panel with color-coded cards and CourtListener links. **Requires Docker/HTTP mode** (`npx mcp-remote`). STDIO mode in ClaudeDesktop does not currently render the panel (text results still work).
115
156
-**Secure API Key Storage** - Windows DPAPI encryption for API tokens (no plain text in config files)
116
157
-**Elicitation Support** - Prompts for API token at runtime if not configured (FastMCP 3.0)
117
158
-**Tool Search Optimization** - Server instructions guide Claude to efficiently discover tools on-demand
@@ -194,10 +235,14 @@ Use `courtlistener_citations_get_guidance(section)` with these sections:
194
235
195
236
## Transport Modes
196
237
197
-
| Mode | Use Case | Configuration |
198
-
|------|----------|---------------|
199
-
|**STDIO**| Claude Desktop, Claude Code | Default (no config needed) |
200
-
|**HTTP**| CoPilot Studio, Docker, web clients |`TRANSPORT=http` env var |
238
+
| Mode | Use Case | MCP App Panel | Secure Token Storage | Configuration |
|**HTTP (Docker)**| Claude Desktop, CoPilot Studio, web clients | ✅ Full panel |`.env` file |`TRANSPORT=http` via docker-compose |
241
+
|**STDIO**| Claude Desktop, Claude Code | ❌ Not rendered (text only) | Windows Credential Manager + DPAPI (Windows only) | Default |
242
+
243
+
> **MCP App panel** renders interactive color-coded citation cards inline in Claude Desktop when using HTTP/Docker mode via `npx mcp-remote`. STDIO mode negotiates the capability but Claude Desktop does not yet render panels for STDIO transport.
244
+
245
+
> **DPAPI / Windows Credential Manager** secure storage is only available in STDIO mode on Windows. Docker containers run Linux and cannot access Windows Credential Manager — use a `.env` file instead.
201
246
202
247
### Running in HTTP Mode
203
248
@@ -408,10 +453,12 @@ In short: slightly longer time before the first tool call → much shorter total
408
453
409
454
### Token Resolution Priority
410
455
411
-
1.`COURTLISTENER_API_TOKEN` environment variable
412
-
2.**Windows Credential Manager** (via `keyring` library) — PRIMARY secure storage on Windows
413
-
3. DPAPI-encrypted file (`~/.courtlistener_api_token`) — fallback on Windows (auto-migrated to Credential Manager on first access)
414
-
4. Elicitation prompt (asks user at tool call time via FastMCP)
456
+
1.`COURTLISTENER_API_TOKEN` environment variable ← **Docker / all platforms**
3. DPAPI-encrypted file (`~/.courtlistener_api_token`) ← **Windows STDIO fallback** (auto-migrated to Credential Manager on first access)
459
+
4. Elicitation prompt (asks user at tool call time via FastMCP) ← STDIO only
460
+
461
+
> **Docker users:** Only option 1 applies. Set `COURTLISTENER_API_TOKEN` in your `.env` file. Options 2–4 require a native Windows process and are not available inside a Linux container.
415
462
416
463
### PowerShell Management
417
464
@@ -467,7 +514,7 @@ This MCP is designed to complement other legal research MCP servers:
0 commit comments