github TypeScript re-analysis due

cyanheads/courtlistener-mcp-server

github

Search and retrieve US court opinions, federal dockets, judge records, citation networks, and oral arguments from CourtListener's 9M+ opinion corpus via MCP. STDIO or Streamable HTTP.

maintainer
cyanheads
licence
Apache-2.0
first seen
2026-06-04
last seen
2026-08-25
releases · 30d
1
short id

Drift inferred · capture-to-capture

tool count over time

06-13 21:04 now
19t
24t
capabilities 14 tools
transport stdio · streamable-http · http verified reported listed in the official MCP registry counts 14 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • courtlistener_get_citations
  • courtlistener_get_docket
  • courtlistener_get_financial_disclosure
  • courtlistener_get_judge
  • courtlistener_get_opinion
  • courtlistener_get_oral_argument
  • courtlistener_get_parties
  • courtlistener_lookup_citation
  • courtlistener_lookup_courts
  • courtlistener_search_dockets
  • courtlistener_search_financial_disclosures
  • courtlistener_search_judges
  • courtlistener_search_opinions
  • courtlistener_search_oral_arguments
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit f48988e · analyzer v33 · 2w ago

skills & prompt files 33

code evidence vv0.7.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 66

filesystem 16

  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/build-changelog.ts :32 import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/build.ts :17 import { readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-dependency-specifiers.ts :38 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-docs-sync.ts :22 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-framework-antipatterns.ts :39 import { existsSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-skill-versions.ts :33 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-skills-sync.ts :37 import { existsSync, readdirSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/clean-mcpb.ts :29 import { existsSync, statSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/clean.ts :15 import { readdir, rm } from 'node:fs/promises';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/devcheck.ts :3 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/generate-court-names.ts :30 import { writeFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/lint-mcp.ts :19 import { existsSync, readdirSync, readFileSync } from 'node:fs';
show 4 more
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/lint-packaging.ts :52 import { existsSync, readdirSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/list-skills.ts :21 import { existsSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/release-github.ts :33 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/tree.ts :24 import type { Dirent } from 'node:fs';

shell / exec 8

  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/build.ts :16 import { execFile } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-framework-antipatterns.ts :38 import { spawnSync } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/check-skill-versions.ts :32 import { spawnSync } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/clean-mcpb.ts :28 import { execFileSync } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/devcheck.ts :2 import { type ChildProcess, spawn, spawnSync } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/generate-court-names.ts :29 import { execFileSync } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/lint-packaging.ts :51 import { execFileSync } from 'node:child_process';
  • shell (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/release-github.ts :32 import { spawnSync } from 'node:child_process';

network 4

  • net (weak) cyanheads-courtlistener-mcp-server-f48988e/scripts/generate-court-names.ts :69 const response = await fetch(url, {
  • net cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-docket.tool.ts :32 'Page of docket entries to fetch (1-indexed). Docket entries are page-paginated at 20 per page; pass the next_cursor from a previous response here to page through large cases.',
  • net cyanheads-courtlistener-mcp-server-f48988e/src/services/courtlistener/courtlistener-service.ts :510 * Lightweight docket metadata fetch (no docket-entries page) used to backfill
  • net (weak) cyanheads-courtlistener-mcp-server-f48988e/tests/service/courtlistener-service.test.ts :24 const response = await fetch(url, opts);

tool registrations 14

  • courtlistener_get_citations cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-citations.tool.ts :11
  • courtlistener_get_docket cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-docket.tool.ts :12
  • courtlistener_get_financial_disclosure cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-financial-disclosure.tool.ts :300
  • courtlistener_get_judge cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-judge.tool.ts :203
  • courtlistener_get_opinion cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-opinion.tool.ts :70
  • courtlistener_get_oral_argument cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-oral-argument.tool.ts :43
  • courtlistener_get_parties cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/get-parties.tool.ts :10
  • courtlistener_lookup_citation cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/lookup-citation.tool.ts :110
  • courtlistener_lookup_courts cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/lookup-courts.tool.ts :57
  • courtlistener_search_dockets cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/search-dockets.tool.ts :15
  • courtlistener_search_financial_disclosures cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/search-financial-disclosures.tool.ts :20
  • courtlistener_search_judges cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/search-judges.tool.ts :25
show 2 more
  • courtlistener_search_opinions cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/search-opinions.tool.ts :12
  • courtlistener_search_oral_arguments cyanheads-courtlistener-mcp-server-f48988e/src/mcp-server/tools/definitions/search-oral-arguments.tool.ts :12

declared dependencies 11

  • @cyanheads/mcp-ts-core@^0.11.0
  • pino-pretty@^13.1.3
  • zod@^4.4.3
  • @biomejs/biome@2.5.5
  • @socketsecurity/bun-security-scanner@^1.1.2
  • @types/node@^26.1.1
  • depcheck@^1.4.7
  • ignore@^7.0.6
  • tsc-alias@^1.9.1
  • typescript@^6.0.3
  • vitest@^4.1.10