Skip to content

Commit c5b2002

Browse files
john-walkoeclaude
andcommitted
docs: add demo video, dev tunnel policy warnings, fix doc inconsistencies
- Add Mata v. Avianca demo video to README (inline MP4, 3MB) - Add corporate/bar policy warning to dev tunnel section (README + INSTALL) - Fix INSTALL.md: correct clone URLs (your-org → john-walkoe), reorder Claude config section to show Docker as recommended over STDIO - Fix PROMPTS.md Template 11: use canonical section names (workflow, overview instead of fallback_chain/tools) - Fix USAGE_EXAMPLES.md Getting Help: citation_workflow → workflow - Exclude documentation_photos/ from large-file pre-commit check Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ebd4fd1 commit c5b2002

File tree

6 files changed

+50
-9
lines changed

6 files changed

+50
-9
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ repos:
2828
- id: check-yaml
2929
- id: check-added-large-files
3030
args: ['--maxkb=1000']
31+
exclude: ^documentation_photos/
3132
- id: check-json
3233
- id: check-merge-conflict
3334
- id: detect-private-key

INSTALL.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Step-by-step setup for the CourtListener Citation Validation MCP on Windows and
3636

3737
1. Clone or download the repository:
3838
```powershell
39-
git clone https://github.com/your-org/courtlistener_citations_mcp.git
39+
git clone https://github.com/john-walkoe/courtlistener_citations_mcp.git
4040
cd courtlistener_citations_mcp
4141
```
4242

@@ -64,7 +64,7 @@ Step-by-step setup for the CourtListener Citation Validation MCP on Windows and
6464

6565
1. Clone or download the repository:
6666
```bash
67-
git clone https://github.com/your-org/courtlistener_citations_mcp.git
67+
git clone https://github.com/john-walkoe/courtlistener_citations_mcp.git
6868
cd courtlistener_citations_mcp
6969
```
7070

@@ -120,9 +120,26 @@ The token is **never stored in the MCP config file** — it is loaded at runtime
120120

121121
## Claude Desktop / Claude Code Configuration
122122

123-
### STDIO Mode (Recommended)
123+
### Docker / HTTP Mode (Recommended for Full Feature Set)
124124

125-
STDIO is the default and is used by Claude Desktop and Claude Code directly.
125+
Docker is the recommended installation method. It enables the **interactive MCP App panel** — color-coded citation cards with clickable CourtListener links rendered inline in Claude Desktop.
126+
127+
See [Docker / HTTP Mode](#docker--http-mode) below, then add this to your Claude config:
128+
129+
```json
130+
{
131+
"mcpServers": {
132+
"courtlistener_citations": {
133+
"command": "npx",
134+
"args": ["mcp-remote", "http://localhost:8000/mcp"]
135+
}
136+
}
137+
}
138+
```
139+
140+
### STDIO Mode (Text Results Only)
141+
142+
> **Note:** STDIO mode works for all citation validation tools. However, the **interactive MCP App panel does not render in Claude Desktop via STDIO** — you will get text results only. DPAPI/Windows Credential Manager secure token storage is STDIO-only (Windows). Use Docker mode above for the full visual panel experience.
126143
127144
Add to your Claude config (`~/.claude.json` for Claude Code, or `~/.config/Claude/claude_desktop_config.json` for Claude Desktop):
128145

@@ -344,6 +361,8 @@ http://localhost:8000/mcp
344361
345362
### Dev Tunnel (Windows — for remote access)
346363

364+
> ⚠️ **Corporate & Regulatory Policy Notice:** Dev tunnels create a publicly accessible endpoint for your local server. Before using this feature, consult your organization's IT security policy and bar association ethics rules regarding client data confidentiality. Many law firms prohibit this type of network bypass on managed devices. **Do not use on corporate/managed hardware without IT approval.** For production use, deploy behind a properly secured reverse proxy instead.
365+
347366
To expose the local HTTP server via a dev tunnel:
348367

349368
```powershell

PROMPTS.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -474,10 +474,11 @@ Status codes:
474474

475475
| Section | Content |
476476
|---------|---------|
477-
| `overview` | What this MCP does, when to use it |
478-
| `citation_workflow` | The 3-tool fallback chain explained |
479-
| `tools` | Reference for all 7 tools |
480-
| `fallback_chain` | Detailed fallback logic with search optimization |
477+
| `overview` | What this MCP does, when to use it, tool reference |
478+
| `workflow` | Full discovery + 3-tool fallback chain explained |
479+
| `response_format` | How to format results with ✅/⚠️/❌ symbols |
480+
| `hallucination_patterns` | Common AI hallucination detection patterns |
481+
| `edge_cases` | SCOTUS parallel citations, state courts, unpublished opinions |
481482
| `risk_assessment` | How to interpret ✅/⚠️/❌ and risk levels |
482483
| `limitations` | CourtListener coverage gaps and false negatives |
483484

@@ -486,6 +487,9 @@ Status codes:
486487
Use courtlistener_get_guidance with section="overview"
487488
```
488489
```
490+
Use courtlistener_get_guidance with section="workflow"
491+
```
492+
```
489493
Use courtlistener_get_guidance with section="risk_assessment"
490494
```
491495
```

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ A Model Context Protocol (MCP) server for validating legal citations against the
77
[![API](https://img.shields.io/badge/API-CourtListener%20REST%20v4-green.svg)]()
88
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
99

10+
## Demo
11+
12+
Citation validation of *Mata v. Avianca*. The MCP detects which citations are real, which are fabricated, and which resolve to the wrong case entirely.
13+
14+
![CourtListener Citation Validation MCP Demo](documentation_photos/courtlistener_citations_mcp.mp4)
15+
1016
## Quick Start
1117

1218
### Docker (Recommended)
@@ -274,6 +280,17 @@ COURTLISTENER_API_TOKEN=your_40_char_hex_token_here
274280
275281
### Dev Tunnel for CoPilot Studio / Claude.ai
276282

283+
> ⚠️ **Corporate & Regulatory Policy Notice**
284+
>
285+
> Dev tunnels create a **publicly accessible endpoint** for your local server. Before using this feature, you **must**:
286+
>
287+
> - **Consult your organization's IT security policy.** Many law firms, corporations, and government entities prohibit or restrict the use of development tunnels, reverse proxies, and other tools that bypass network perimeter controls on managed devices or corporate networks.
288+
> - **Check your bar association's ethics rules.** Attorney obligations regarding client data confidentiality (Model Rules 1.6, 1.15) may impose additional constraints on transmitting client documents through third-party relay infrastructure.
289+
> - **Do not use this feature on managed/corporate hardware** without explicit written approval from your IT/security team.
290+
> - **Do not use this feature for production deployments.** Dev tunnels are intended for development and testing only. For production external access, use a properly secured reverse proxy (e.g., nginx with TLS) or a cloud-hosted deployment.
291+
>
292+
> If in doubt, ask your IT department first.
293+
277294
For external access (CoPilot Studio, Claude.ai), use the dev tunnel launcher script. It starts the HTTP server locally and creates a [Microsoft Dev Tunnel](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/) to expose it publicly.
278295

279296
**Prerequisites:** `devtunnel.exe` ([download](https://aka.ms/devtunnels)) and `devtunnel user login`

USAGE_EXAMPLES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ Expected: first verified ✅, second not found ❌.
428428

429429
```
430430
Use courtlistener_get_guidance with section="overview" to learn what this MCP does.
431-
Use courtlistener_get_guidance with section="citation_workflow" to understand the fallback chain.
431+
Use courtlistener_get_guidance with section="workflow" to understand the fallback chain.
432432
Use courtlistener_get_guidance with section="risk_assessment" to understand risk levels.
433433
Use courtlistener_get_guidance with section="limitations" to understand coverage gaps.
434434
```
3.08 MB
Binary file not shown.

0 commit comments

Comments
 (0)