courtlistener-mcp-server: Instructions file for Claude Code

CLAUDE.md

courtlistener-mcp-server CLAUDE.md is an instructions file for Claude Code from cyanheads/courtlistener-mcp-server. It costs 8,189 tokens per session, scanned A, a copy of obsidian-mcp-server AGENTS.md, Apache-2.0.

Project instructions for developing the `courtlistener-mcp-server`, a server that provides tools or other interfaces for working with CourtListener data. They include development rules, framework guidance, and suggested next steps.

In plain words
What is it for?
Use them when setting up the project, designing its tool and resource interface, adding services or tests, or checking existing definitions.
Why use it?
They help a coding agent follow the repository’s conventions and understand which documentation or server-building task should come next.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: reads .claude/ paths; mentions .claude-plugin; mentions CLAUDE.md.

This is cyanheads/courtlistener-mcp-server's own configuration. It tells Claude Code how to work on courtlistener-mcp-server itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything courtlistener-mcp-server configures →

Reuse

Borrowing it

Nothing to install: this file belongs to cyanheads/courtlistener-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/cyanheads/courtlistener-mcp-server/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/cyanheads/courtlistener-mcp-server

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for courtlistener-mcp-server CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/cyanheads/courtlistener-mcp-server/claude-md/github.svg)](https://agentmods.dev/instructions/cyanheads/courtlistener-mcp-server/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/cyanheads/courtlistener-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/cyanheads/courtlistener-mcp-server/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for courtlistener-mcp-server CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/cyanheads/courtlistener-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/cyanheads/courtlistener-mcp-server/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 8,189 This file is loaded in full into every session.
When invoked 8,189 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 80% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.08189 $0.08189
Opus 5.5 $0.03276 $0.03276
Sonnet 5.5 $0.01638 $0.01638
Haiku 4.5 $0.00819 $0.00819

Measured 5d ago against content hash 3dd414922c4b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

courtlistener-mcp-server CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

80% identical to obsidian-mcp-server AGENTS.md — 356 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

CLAUDE.md · 444 lines

How it starts

The opening of the file, as written. The whole thing — 444 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Developer Protocol

Server: courtlistener-mcp-server Version: 0.9.0 Framework: @cyanheads/mcp-ts-core ^0.13.18 Engines: Bun ≥1.4.0, Node ≥24.0.0 MCP SDK: @modelcontextprotocol/server ^2.4.0 Zod: ^4.6.7

Read the framework docs first: node_modules/@cyanheads/mcp-ts-core/CLAUDE.md contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.


What's Next?

When the user asks what's next or needs direction, suggest options based on the current project state. Common next steps:

  1. Re-run the setup skill — ensures CLAUDE.md, skills, structure, and metadata are populated and up to date with the current codebase
  2. Run the design-mcp-server skill — if the tool/resource surface hasn't been mapped yet, work through domain design
  3. Add tools/resources/prompts — scaffold new definitions using the add-tool, add-app-tool, add-resource, add-prompt skills
  4. Add services — scaffold domain service integrations using the add-service skill
  5. Add tests — scaffold tests for existing definitions using the add-test skill
  6. Field-test definitions — exercise tools/resources/prompts with real inputs using the field-test skill, get a report of issues and pain points
  7. Run devcheck — lint, format, typecheck, and security audit
  8. Run the security-pass skill — audit handlers for MCP-specific security gaps: output injection, scope blast radius, input sinks, tenant isolation
  9. Run the polish-docs-meta skill — finalize README, CHANGELOG, metadata, and agent protocol for shipping
  10. Run the maintenance skill — investigate changelogs, adopt upstream changes, and sync skills after bun update --latest

Tailor suggestions to what's actually missing or stale — don't recite the full list every time.


Core Rules

  • Logic throws, framework catches. Tool/resource handlers are pure — throw on failure, no try/catch. Plain Error is fine; the framework catches, classifies, and formats. Use error factories (notFound(), validationError(), etc.) when the error code matters.
  • Use ctx.log for request-scoped logging. No console calls.
  • Use ctx.state for tenant-scoped storage. Never access persistence directly.
  • Need input the caller didn't supply? return ctx.requestInput(...) and read ctx.inputs when the handler is re-entered. Never await for user input mid-handler.
  • Secrets in env vars only — never hardcoded.
  • Cut noise. Add only what earns its place: no speculative generality, no guards for states the framework already prevents (Zod-validated params, classified errors), no abstraction until a third caller proves it, no option nothing sets.
  • Close the loop on issues. When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.

Read the full file on GitHub · 444 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago Changed · +13 lines · +780 tokens per session 3dd414922c4b
  2. 19d ago Changed · +11 tokens per session b3126bbe7846
  3. 1mo ago Changed · +1 lines · +256 tokens per session b99aef634fed
  4. 1mo ago Changed · +27 lines · +1,162 tokens per session 2a42d9537244
  5. 2mo ago First seen · 403 lines · 5,980 tokens per session scan A 231d59b73c25

Subscribe to this mod's changes

courtlistener-mcp-server CLAUDE.md is an instructions file published in the GitHub repository cyanheads/courtlistener-mcp-server (4 stars, last pushed 6d ago), licensed Apache-2.0. It adds 8,189 tokens to every session, about $0.0328 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 80% identical to obsidian-mcp-server AGENTS.md, differing in 356 lines, and is treated as a copy.

Related

courtlistener-mcp-server CLAUDE.md compared with instructions from other repositories

courtlistener-mcp-server CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
courtlistener-mcp-server CLAUDE.mdcyanheads/courtlistener-mcp-serverInstructions file46d agoApache-2.0A8,189Claude Code
vibetags com-example-security-SecurityConfig.instructions.mdPIsberg/vibetagsInstructions file25yesterdayMITA281GitHub Copilot
vibetags com-example-service-NewAnnotationsShowcase-DraftKafkaIntegrationSpike.instructions.mdPIsberg/vibetagsInstructions file25yesterdayMITA93GitHub Copilot
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143kyesterdayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot