{"_id":"@cyanheads/courtlistener-mcp-server","_rev":"28-6dc421fd4f5206e266f09ce6680f73c5","name":"@cyanheads/courtlistener-mcp-server","dist-tags":{"latest":"0.7.3"},"versions":{"0.1.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.1.1","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.1.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"be94768c891dd74e73c2f2b60b835e03a2754c9e","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.1.1.tgz","fileCount":72,"integrity":"sha512-EUDWP/4WzIyFCimzPWjIVZW2KVSg7XBYEmEzEPqybq9NfGMmWoR9AyBPr+Din+gF4NkOgbbQDUHIqYRjqTeu6w==","signatures":[{"sig":"MEQCIGYUywt9NpQTJj9ODQ8ob6bHvN/qBqp5/XUtUta4CmztAiBiLMK4fcxr+dduJQzaj3C1UXAc6hask8ibTieMIS7hjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275932},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"be94768c891dd74e73c2f2b60b835e03a2754c9e","engines":{"bun":">=1.3.0","node":">=24.0.0"},"scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-EUDWP/4WzIyFCimzPWjIVZW2KVSg7XBYEmEzEPqybq9NfGMmWoR9AyBPr+Din+gF4NkOgbbQDUHIqYRjqTeu6w==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.1.1_1779765374896_0.7043445154283006","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.1.2","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.1.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"4e6bfe632a8243c7e0dd82b0abd6f5363ee50542","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.1.2.tgz","fileCount":73,"integrity":"sha512-M6oy+a7I/vLtkP2sGZqw8f5A66VvtlNyULT1ajiG+ApmV5z506LXHOB4vCISeavzgD2M8OY3XxD1uNpaNEyeLQ==","signatures":[{"sig":"MEUCIQDCbg7tu3Jpm9jFj6NC6mnO9wB9YCPkpcuOr+9Fh3lViwIgJs8H5dUDbUid0mqkD9QPatfnmjtKGa2te8XRlX9xsts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276552},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"4e6bfe632a8243c7e0dd82b0abd6f5363ee50542","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-M6oy+a7I/vLtkP2sGZqw8f5A66VvtlNyULT1ajiG+ApmV5z506LXHOB4vCISeavzgD2M8OY3XxD1uNpaNEyeLQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.1.2_1779765482051_0.9091054328097354","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.1.3","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.1.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"f492a85b6b31afb14ef15a5c137cc93ea1b3ef11","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.1.3.tgz","fileCount":74,"integrity":"sha512-9MB4QlufSvut1nfP0xlV+69zqiNUJZQ2zy+6OpWAUyW0bgVZRF1Yj3Y3nf6EI84nbfJ9V1RfpFa2522Nf1eXFQ==","signatures":[{"sig":"MEUCIQDwHxiScnY3FmHAbij2P5lXyvaXZi+rRJszxL5Oc2xvVAIgUIeT78miFIM+6uJanNIlCPr8cOUbqiHkLD9Z/7RTU1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279141},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"f492a85b6b31afb14ef15a5c137cc93ea1b3ef11","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-9MB4QlufSvut1nfP0xlV+69zqiNUJZQ2zy+6OpWAUyW0bgVZRF1Yj3Y3nf6EI84nbfJ9V1RfpFa2522Nf1eXFQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.1.3_1779780913712_0.1651148084169365","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.1.4","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.1.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"9bc0aabe4e55d0e062c6691d8e0724ec6c1fb9ad","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.1.4.tgz","fileCount":75,"integrity":"sha512-yHppljMkUaAAVuUAvpMn8nXJByHaMLZ/TdPjE1xmGnbV/xt8CstqakJUJ0wGkbqQLPEhkNYI53/xqOvMH2xioQ==","signatures":[{"sig":"MEYCIQD+lXImfM886J35vP7kB8qc9Pvmw2bm8b6qjo22w1DYkQIhALWWTB4YksRuv0roDA9wFZc1iDUXSoE7L64OV113PAp4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281954},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9bc0aabe4e55d0e062c6691d8e0724ec6c1fb9ad","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-yHppljMkUaAAVuUAvpMn8nXJByHaMLZ/TdPjE1xmGnbV/xt8CstqakJUJ0wGkbqQLPEhkNYI53/xqOvMH2xioQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.1.4_1780030906001_0.7209445769961247","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.1.5","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.1.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"4190fe89e8c1a2f4df7bec49d6a5e5e1458afb5f","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.1.5.tgz","fileCount":76,"integrity":"sha512-+q4Ca/7da5FVplRCAOZBdAyJnoPRyML3Are4TxO/jw2SkGaDhxuovr+ZdZwfg5dEzKvj+Db555TeWA2DK1YFlQ==","signatures":[{"sig":"MEYCIQCd83JPnLNqF+XBqH07I+bB4x8y99otCe21gFcdGKu0iwIhAIPK8Pz2u7uEXz95mOwL3qHKOBlO82RFemoYvHrF5lJG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296083},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"4190fe89e8c1a2f4df7bec49d6a5e5e1458afb5f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-+q4Ca/7da5FVplRCAOZBdAyJnoPRyML3Are4TxO/jw2SkGaDhxuovr+ZdZwfg5dEzKvj+Db555TeWA2DK1YFlQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.1.5_1780133238953_0.47613820307905796","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.0","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"c96e95388b31269fefbf988aca243f890b81ea17","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.0.tgz","fileCount":89,"integrity":"sha512-QE0Xf621t8FnNU8dPmNcld5drpkItxEAQtpn4keqpwKIcl8QhBFUF5xpKLg/NURBcR9WY+NCKJb+uWS/6zWoiQ==","signatures":[{"sig":"MEUCIQDx7FRa1eRoxntHIotkC4XjGvV5dhU66DjLA13S9wkHbgIgS4+ZA9R2ITKUhcC3+XW46Qt/GEBtVSeItaWFfP3PeOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354606},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"c96e95388b31269fefbf988aca243f890b81ea17","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-QE0Xf621t8FnNU8dPmNcld5drpkItxEAQtpn4keqpwKIcl8QhBFUF5xpKLg/NURBcR9WY+NCKJb+uWS/6zWoiQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.0_1780311988101_0.19775251299087326","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.1","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"7e81417f60c91f75f1a930b182796a80a7f6b83b","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.1.tgz","fileCount":90,"integrity":"sha512-Buv5vVEu3UANFSu1uXH2UkQY2fspESNmz4fc5rhx45glLM8VilMKFXAtlPl8kaPh3PlZJUbrvTL2cfirfPrNvQ==","signatures":[{"sig":"MEUCIQDqmrWBTQ2HJnxBOD9w7IFs+vHsGZ1icQIZNUHfdfJ+UQIgEVxuzXhhuFjGl2C38pFBvdlx5nvdvq5Sj9QbVaQTdzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355682},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7e81417f60c91f75f1a930b182796a80a7f6b83b","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"tsx scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Buv5vVEu3UANFSu1uXH2UkQY2fspESNmz4fc5rhx45glLM8VilMKFXAtlPl8kaPh3PlZJUbrvTL2cfirfPrNvQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.1_1780408722366_0.13663255330190016","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.2","keywords":["mcp","mcp-server","model-context-protocol","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"fa03948fc641301c09ab14e34566d00a86f44857","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.2.tgz","fileCount":95,"integrity":"sha512-VqlBKi1D6yKqRk6alfp1w0Xn0U94nxoT4hTs/UXMl9SbaXrW7h4A3Xuskqxp+fyFuRbgVRaUaolk2EAgGwXAeQ==","signatures":[{"sig":"MEQCIGUKQD0IOT/iOz3W6rFE4nXGXFvqiVWqfCSgoeMt2HU1AiAnsmxGSzAikcZrnpslX4g2Ux/SsCd3V1ExpmZc3bcqiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380131},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"fa03948fc641301c09ab14e34566d00a86f44857","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"tsx scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-VqlBKi1D6yKqRk6alfp1w0Xn0U94nxoT4hTs/UXMl9SbaXrW7h4A3Xuskqxp+fyFuRbgVRaUaolk2EAgGwXAeQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.2_1780564775819_0.03105323074852495","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.3","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"91fb806048b7dcdb11143e057be8ad3a85fa1a18","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.3.tgz","fileCount":96,"integrity":"sha512-cZePsZ2QtpCK3mj3QDvMld2DAeefmhx5KbY2T2WlPZP6fNwDH5vFIqYbOHAZbNBHzuBMkQA8i1UmxlzXvEuCNQ==","signatures":[{"sig":"MEQCIDU4ecx3W0yLPmrdBMbR5c78L1w3PGQVev9Vfb0OuCwJAiBy7JtcQZDNtnJ3SZAuwVkE/4t0dQLAenejlu+pCrqvRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383904},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"91fb806048b7dcdb11143e057be8ad3a85fa1a18","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-cZePsZ2QtpCK3mj3QDvMld2DAeefmhx5KbY2T2WlPZP6fNwDH5vFIqYbOHAZbNBHzuBMkQA8i1UmxlzXvEuCNQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.3","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.3_1781235728883_0.8129434413882541","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.4","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"a458c8dcaa494bb453df69beea2f2584def206d5","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.4.tgz","fileCount":97,"integrity":"sha512-ZIQOUsskfS22kFO0zBL7VkX9jxpjlvvkMCPMgIYaNBPQQ1uFzFf2Umqka/NgV1AP3M0VCy4etTRkJ1I+WBKLhw==","signatures":[{"sig":"MEYCIQC6Nx4UlLQovc70pP2CCpCgzbYjzko/SGaPwr+y32yYrAIhAM+2SiqwBsTrsyj1Px5T/86EHzCp7rY2q14WUItf/WsJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386415},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a458c8dcaa494bb453df69beea2f2584def206d5","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ZIQOUsskfS22kFO0zBL7VkX9jxpjlvvkMCPMgIYaNBPQQ1uFzFf2Umqka/NgV1AP3M0VCy4etTRkJ1I+WBKLhw==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.4_1781952985336_0.638119307502973","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.5","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"d7300e0c36585bec2f59834fd446a7a4ed5f3379","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.5.tgz","fileCount":98,"integrity":"sha512-ypuK1g7P03Bq11+47NGxm9MMO9Jjt53l3RWMPkvUwwVilLlTapj4ZFSMgkZE/WEtA+UifFzaqG1EXCxGRWUZLQ==","signatures":[{"sig":"MEQCIHJX7zNrswVVhr5r9dZAoheynZQEPw6NT3razcxWTNFxAiBQzk5MO70+2RuhM9HsNYgNIIXbEaq/IWtAm3avRqFcsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394792},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"d7300e0c36585bec2f59834fd446a7a4ed5f3379","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ypuK1g7P03Bq11+47NGxm9MMO9Jjt53l3RWMPkvUwwVilLlTapj4ZFSMgkZE/WEtA+UifFzaqG1EXCxGRWUZLQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.1","@biomejs/biome":"^2.5.1"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.5_1782849517453_0.852069017174373","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.2.6","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/courtlistener-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.2.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"ea8cf7ae41820539f6363b6f94ae95eba43a4c93","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.2.6.tgz","fileCount":103,"integrity":"sha512-35wfzhjHh0b/P750AJ+7JYKsXMhJl2gO2sUOYqJFuy5Prm1ehENzC5/S8A1YGUZT75NmWBg/6ee1b6KDE8bezg==","signatures":[{"sig":"MEYCIQDUkp6qrNyjWvXxCZPTYrjX6cZDwWuGrbtrP6Z/OemUawIhAL6nMpPnHVG9jDZew2O4LssnpT/4eDYevKXKpa/xxxl8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434737},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ea8cf7ae41820539f6363b6f94ae95eba43a4c93","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-35wfzhjHh0b/P750AJ+7JYKsXMhJl2gO2sUOYqJFuy5Prm1ehENzC5/S8A1YGUZT75NmWBg/6ee1b6KDE8bezg==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.1","@biomejs/biome":"^2.5.1"},"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.2.6_1782852919844_0.02806179486678162","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.3.0","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.3.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"a9547037e61f189e9d77b2f679cc7886ad11ef38","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.3.0.tgz","fileCount":104,"integrity":"sha512-zka+EXEsOuNA3zPgIQ72BV369WqaSocZIYFO7RB7xeVdrAAW8qVX3r9CP7iS1aYyVYdYhad3NfIbvmUvlNuM2A==","signatures":[{"sig":"MEYCIQCDopeyTOCJGW2ro6Kw28cqt+3feCDRJKzgF4+YT6Au0wIhANDgB6Ezeqv7jEHAOS8InOMSV258OVfzc7rHAc2N3qMo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450583},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a9547037e61f189e9d77b2f679cc7886ad11ef38","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-zka+EXEsOuNA3zPgIQ72BV369WqaSocZIYFO7RB7xeVdrAAW8qVX3r9CP7iS1aYyVYdYhad3NfIbvmUvlNuM2A==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.0","@biomejs/biome":"2.5.2","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.3.0_1783713132073_0.11739860309180328","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.3.1","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.3.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"63a72ec0a7e46dade008790f6155155656a077f5","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.3.1.tgz","fileCount":105,"integrity":"sha512-bxPRyklvZOmWJY23qgWqTul2gv+rShoX/nIgAKu6JbhYW3V2A9PbhKJR1l6wzdc2mIsYoc3hYfwMGBToFmx5+A==","signatures":[{"sig":"MEYCIQCDXaJ5Nqui8QRizNiODD9gbRw1vESJJjxvQ70HUfqI3gIhAM5A1KZTM2bvYXh6FrTZMFEtF0V8lFf0ipOILJ//iOKb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":455701},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"63a72ec0a7e46dade008790f6155155656a077f5","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-bxPRyklvZOmWJY23qgWqTul2gv+rShoX/nIgAKu6JbhYW3V2A9PbhKJR1l6wzdc2mIsYoc3hYfwMGBToFmx5+A==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.0","@biomejs/biome":"2.5.2","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.3.1_1783720143417_0.5220123445849869","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.4.0","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.4.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"fb1cf543437f9261e3ca227d2eb7202b9a28f1d6","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.4.0.tgz","fileCount":115,"integrity":"sha512-pZXgcoC7VYf8kXOgYDXU83bRlAEmx/DUNEP+iPC1hk6KF6zznfasRf+CE1IySRrqS7nL/xzjpWdQFJfJnl9YNw==","signatures":[{"sig":"MEQCIF5qpH8R/U2c+uNbejLmRuGk4qMcRwxVXk2wxnna+Lk6AiATYZb0RaEHvtz5eovH8xBjb5ZAmtDV45sExMYRn6uLgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":525889},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"fb1cf543437f9261e3ca227d2eb7202b9a28f1d6","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-pZXgcoC7VYf8kXOgYDXU83bRlAEmx/DUNEP+iPC1hk6KF6zznfasRf+CE1IySRrqS7nL/xzjpWdQFJfJnl9YNw==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.0","@biomejs/biome":"2.5.2","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.4.0_1783730777841_0.3914222702650443","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.4.1","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.4.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"1f3e640b04cce312b6afc1f7a8c689d1bda19b56","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.4.1.tgz","fileCount":120,"integrity":"sha512-nteqEiQg6uEtkjfqM6EzGrpKbEvZkf2XM13UuOGUrlGMZs+2MCiZasNq58FpV7InSAatG7u5YAwlRYPrZmUGrg==","signatures":[{"sig":"MEUCIEbZZW14SN1QaskSTrg4XRDUA3eixbHDIQYSSM976dG3AiEAmJd4EaRAG7aBqMkY499p3j8jMLvCKak1pev9tpZ/2JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549551},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"1f3e640b04cce312b6afc1f7a8c689d1bda19b56","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-nteqEiQg6uEtkjfqM6EzGrpKbEvZkf2XM13UuOGUrlGMZs+2MCiZasNq58FpV7InSAatG7u5YAwlRYPrZmUGrg==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.2","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.4.1_1784192401264_0.020450099837858282","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.4.2","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.4.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"2c704e6b6444e53c9e1eff3fd8e1985b53a11437","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.4.2.tgz","fileCount":121,"integrity":"sha512-mukrFJrzkxli3wTd7OuXLG+aavjC0OuZCUO0ZUkc1W0Uda9/rKxOmU9HeQeC0t4TjEglv62AFF8jZ8uKNosx5g==","signatures":[{"sig":"MEUCIFz+Hr9cdt+3ZUqyB0Navb1PSt584IxCi8bx9Rucbj1oAiEA1RS5On7zNvDstQyAcv4PrqA94kPH+vwaFZhjdxCXjO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555704},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2c704e6b6444e53c9e1eff3fd8e1985b53a11437","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-mukrFJrzkxli3wTd7OuXLG+aavjC0OuZCUO0ZUkc1W0Uda9/rKxOmU9HeQeC0t4TjEglv62AFF8jZ8uKNosx5g==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.2","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.4.2_1784195259657_0.8101731838157089","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.4.3","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.4.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"c17c31976e9bd6286cd83579bff84aace76881e0","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.4.3.tgz","fileCount":122,"integrity":"sha512-+8P9q2GeeSlB6fq6k/iwniiy1r24VwvDaIQjV5emFiU0l8Hiw20gSRyoJW+5GUAruHTePlqmZG6ybBrswSf2tg==","signatures":[{"sig":"MEQCIHMVAoZEQ2qSdVhFHxAmCkZ+WPemoMnNy+bXBLZ2VlyCAiAaArL19Tqf8NwqdHYvDaBEKSU4D/d4br/uGbCXGRNr3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":556932},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"c17c31976e9bd6286cd83579bff84aace76881e0","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-+8P9q2GeeSlB6fq6k/iwniiy1r24VwvDaIQjV5emFiU0l8Hiw20gSRyoJW+5GUAruHTePlqmZG6ybBrswSf2tg==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.2","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.4.3_1784196334868_0.18628114462881284","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.5.0","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.5.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"34847cf8d3830945fe98b0bfd13e3b5a16da22d3","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.5.0.tgz","fileCount":123,"integrity":"sha512-xaLgzXr/UeqhJn2JzfjbiToPv2hIXwxKfGGQfEX797wD3Fkj6FcKl1NL1XmP3iWCtomgHrPrNhkrL/JPTbL8/A==","signatures":[{"sig":"MEUCIQC+T4PM5+M5h3lG+iEji9M/8krrJlXmlmSJXy46zWgWlwIgVNjRvVR+qoXH9Dr3F7yl8egeZPOY9D+cMYGiPxcHttk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591117},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"34847cf8d3830945fe98b0bfd13e3b5a16da22d3","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-xaLgzXr/UeqhJn2JzfjbiToPv2hIXwxKfGGQfEX797wD3Fkj6FcKl1NL1XmP3iWCtomgHrPrNhkrL/JPTbL8/A==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.5.0_1785374269851_0.3665336221490554","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.5.1","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.5.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"1eb4a7a961684277038321ff11bd2242f0cb4596","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.5.1.tgz","fileCount":124,"integrity":"sha512-MWRjYnLMhoapCjW3D3RFyFZP65mkje9rWTdSYoGzXZRxhBWiGWblo9QrB7ZNsQ6YFXapl5aJ04nK81LKa8X4IQ==","signatures":[{"sig":"MEUCIQDWREdVtctd1olsvtDsnomHzDcjWFFGenSnRl0tgHzlRgIgX7MUI6dvK88UfzeLn2rpuwBaOMsy/yxKcgUyMg/vKJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601709},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"1eb4a7a961684277038321ff11bd2242f0cb4596","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-MWRjYnLMhoapCjW3D3RFyFZP65mkje9rWTdSYoGzXZRxhBWiGWblo9QrB7ZNsQ6YFXapl5aJ04nK81LKa8X4IQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.5.1_1785379627818_0.8476362250555083","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.5.2","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.5.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"26636e18ddd253f8961388df396aaadb994ca567","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.5.2.tgz","fileCount":125,"integrity":"sha512-vEdL7m1SgEU9VITTZH5H+SlwmebwqIcorx0IAdTxspl4XV+p2HMwf/umKiOw/63EL1dvkicYnocPjmJcdWLhWQ==","signatures":[{"sig":"MEUCIQCGyA4wltjqVa6M27wlLzbPYjVUBXkgp7T2ZWY6crkV3wIgVUpNWkQxEhiSttQmXrpXfWCIe3CaLt+2pTBatHtb75Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610194},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"26636e18ddd253f8961388df396aaadb994ca567","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-vEdL7m1SgEU9VITTZH5H+SlwmebwqIcorx0IAdTxspl4XV+p2HMwf/umKiOw/63EL1dvkicYnocPjmJcdWLhWQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.5.2_1785384787333_0.45932574496191836","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.5.3","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.5.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"9acbe12d2f17436fe1a107a596291f69e575ccae","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.5.3.tgz","fileCount":130,"integrity":"sha512-WZTjlDT6JyBeHOYfBJlCvPpllASvEpHMTLNcv7kqs2Jic7OVn7ir/I1aquc67LwDBesQhceaABLR40c6S8uwEA==","signatures":[{"sig":"MEUCIQDdKExv/zLfMuqbEPBGbb6e8pDYYwQCybPbnMR5vRnpHAIgUZyt+eUZG8LpbYl8Q2b5FD59CRmKHuBFZOCbddNbdLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":639648},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9acbe12d2f17436fe1a107a596291f69e575ccae","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-WZTjlDT6JyBeHOYfBJlCvPpllASvEpHMTLNcv7kqs2Jic7OVn7ir/I1aquc67LwDBesQhceaABLR40c6S8uwEA==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.5.3_1785387590307_0.896870113453546","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.6.0","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.6.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"a7974daaca61a9a0d634b84a7f27d33f4045cfc2","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.6.0.tgz","fileCount":131,"integrity":"sha512-JC1EeV91ni5y3ITLmMvKsogAtU6v1UDG5k67LispwSVsxl9bZnMu3eeqYkEgmxUZo1rL1zFB2GDaYFIZK/XpqQ==","signatures":[{"sig":"MEQCIHY93tARkm9fk76Wl3Ald2HdHtBmzdmtlqNut649qEDkAiB99bK39gqhmSyExky5356tbq9Tjhx9ShfK1YY2iiiwfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669027},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a7974daaca61a9a0d634b84a7f27d33f4045cfc2","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-JC1EeV91ni5y3ITLmMvKsogAtU6v1UDG5k67LispwSVsxl9bZnMu3eeqYkEgmxUZo1rL1zFB2GDaYFIZK/XpqQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.6.0_1785391518838_0.04370317456315442","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.6.1","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.6.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"b25aaf4796ddfc6c1c22c85a59b990ba295f849a","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.6.1.tgz","fileCount":132,"integrity":"sha512-dtjhTwzqBbkqFXoukoyJ9Mok+pLOdRSjgNr6YPaKVlmvdqEaqpBhN4FzM5ClF/hSfnSlZaiVFEJoSmVCKIdohA==","signatures":[{"sig":"MEUCIQDP4kMdf1HbDulrgAzycuMzzgmnzW4kHp2YA6+OJ89r5wIgMx28EwYT9ELKctQ2uBAKCzxDJeL2QRt5Hfn+BYv7l40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1494633},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b25aaf4796ddfc6c1c22c85a59b990ba295f849a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","courts:snapshot":"bun run scripts/generate-court-names.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-dtjhTwzqBbkqFXoukoyJ9Mok+pLOdRSjgNr6YPaKVlmvdqEaqpBhN4FzM5ClF/hSfnSlZaiVFEJoSmVCKIdohA==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.6.1_1785396030183_0.20069150774203637","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.7.0","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.7.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"9f16a09a17e6ead3df4f899960afa842f80e887f","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.7.0.tgz","fileCount":137,"integrity":"sha512-PUXtWHBUi4Kc9+AvAL+s8G3U5GjjWK5ywQXS/1dDnme4Onc2z0jCIhn18g7ieHpVrRjzL44KGzV4JCgNeiF9vQ==","signatures":[{"sig":"MEUCIDdQymndJIEBk3vSpMq8aUkkV61nZev1keMO4meQodOgAiEAltrRn+ZHoMgOlfBrijNh9xiHSSMx7woxcylTGSLSzAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1506005},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9f16a09a17e6ead3df4f899960afa842f80e887f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","courts:snapshot":"bun run scripts/generate-court-names.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-PUXtWHBUi4Kc9+AvAL+s8G3U5GjjWK5ywQXS/1dDnme4Onc2z0jCIhn18g7ieHpVrRjzL44KGzV4JCgNeiF9vQ==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.7.0_1785398197045_0.3506943473986843","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.7.1","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.7.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"9dc21446129429ee5b78a9c580b234ea5547dcbc","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.7.1.tgz","fileCount":138,"integrity":"sha512-1ggAqWBbxqdsJaPKoeHI4GkbyfJ6nZRC/4tBDhKTXo6bYa8U8O1qOc0yW7jpFqtEVkHeKl9BApAVbC501W0VKg==","signatures":[{"sig":"MEQCIDtwSZIymvf+kNIVX86trlGY8rZDJLTmTu523jrR8LoFAiAizTsBJ/Fn2YQQ2JHMxz688t5r4LJBR6uejjPQevBvtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1513720},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9dc21446129429ee5b78a9c580b234ea5547dcbc","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"MCP_LINT_TRUNCATION_ALLOWLIST=courtlistener_lookup_citation bun run scripts/devcheck.ts","lint:mcp":"MCP_LINT_TRUNCATION_ALLOWLIST=courtlistener_lookup_citation bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","courts:snapshot":"bun run scripts/generate-court-names.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1ggAqWBbxqdsJaPKoeHI4GkbyfJ6nZRC/4tBDhKTXo6bYa8U8O1qOc0yW7jpFqtEVkHeKl9BApAVbC501W0VKg==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"2.5.10","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.7.1_1787636512640_0.5933867781951014","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@cyanheads/courtlistener-mcp-server","version":"0.7.2","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/courtlistener-mcp-server@0.7.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"bin":{"courtlistener-mcp-server":"dist/index.js"},"dist":{"shasum":"8765235ca778bf7c2bbf63f5ad62a2ba3902fd40","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.7.2.tgz","fileCount":140,"integrity":"sha512-UpnVkczNP9zX7mMwtRdNopXXpSfgMhRh16uRD0yoHgfjQp6ImiL2tN0v/OI72zaaf/E1iNAoXA/y03lDn8FC4A==","signatures":[{"sig":"MEUCIQD+Mjs0WVHxe+lg4V9ycIkQ+HgajCHsFeiItQvS+uN7NQIgIgiHzx/p/rqeBtvDJCY5JApVo7zIG8cqbEYjx5PZ4AI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCHhLb2NGRWCJu+d9yEC/Xa6u0N62s5PqSop3Al5B2SxAIgKttGLWeea5JB1g1EFnvqBSJcNOya9c8eEizAnjHK94M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1566525},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8765235ca778bf7c2bbf63f5ad62a2ba3902fd40","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","courts:snapshot":"bun run scripts/generate-court-names.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-UpnVkczNP9zX7mMwtRdNopXXpSfgMhRh16uRD0yoHgfjQp6ImiL2tN0v/OI72zaaf/E1iNAoXA/y03lDn8FC4A==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.1","@biomejs/biome":"2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/courtlistener-mcp-server_0.7.2_1789915605476_0.5072721499768498","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"_id":"@cyanheads/courtlistener-mcp-server@0.7.3","bin":{"courtlistener-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"dist":{"shasum":"1fc7ae9910772a8252cb0ef3d1c07497db8cdc15","tarball":"https://registry.npmjs.org/@cyanheads/courtlistener-mcp-server/-/courtlistener-mcp-server-0.7.3.tgz","fileCount":141,"integrity":"sha512-dPvcLdrnAZBiKPBqx10t57U/3tiybZuieSjE0343yWunP7TS9wtLP0VWI4Xm88VogooQcTm5ycKZqZD7zGF72w==","signatures":[{"sig":"MEYCIQCw2ILY3uxRJ5c1bA62qTmdAOV7VCVvAjS0qAczGDhPiAIhALYLfXjRHhGKkcggzimcDW3iqV5Rkpx1dZe2gOMTeR08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICrZB+HsMxM/PUMJCaAefSZYBHovQ/TrKwrvRybpyCPgAiEA2Kdrt24athyE2H5IDM0yygyI1vjoeheDryFwslHm5Ho="}],"unpackedSize":1575502},"main":"dist/index.js","name":"@cyanheads/courtlistener-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"1fc7ae9910772a8252cb0ef3d1c07497db8cdc15","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/courtlistener-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/courtlistener-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/courtlistener-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","courts:snapshot":"bun run scripts/generate-court-names.ts"},"version":"0.7.3","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"_integrity":"sha512-dPvcLdrnAZBiKPBqx10t57U/3tiybZuieSjE0343yWunP7TS9wtLP0VWI4Xm88VogooQcTm5ycKZqZD7zGF72w==","repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"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.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"ignore":"^7.0.10","vitest":"^5.0.2","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.3","@biomejs/biome":"2.5.14","@socketsecurity/bun-security-scanner":"^1.1.3"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/courtlistener-mcp-server_0.7.3_1790766422127_0.7779434298528467"}}},"time":{"created":"2026-05-26T03:16:14.662Z","modified":"2026-09-30T11:07:02.373Z","0.1.1":"2026-05-26T03:16:15.066Z","0.1.2":"2026-05-26T03:18:02.218Z","0.1.3":"2026-05-26T07:35:13.871Z","0.1.4":"2026-05-29T05:01:46.188Z","0.1.5":"2026-05-30T09:27:19.083Z","0.2.0":"2026-06-01T11:06:28.244Z","0.2.1":"2026-06-02T13:58:42.498Z","0.2.2":"2026-06-04T09:19:35.971Z","0.2.3":"2026-06-12T03:42:09.032Z","0.2.4":"2026-06-20T10:56:25.483Z","0.2.5":"2026-06-30T19:58:37.636Z","0.2.6":"2026-06-30T20:55:20.016Z","0.3.0":"2026-07-10T19:52:12.209Z","0.3.1":"2026-07-10T21:49:03.562Z","0.4.0":"2026-07-11T00:46:18.053Z","0.4.1":"2026-07-16T09:00:01.432Z","0.4.2":"2026-07-16T09:47:39.811Z","0.4.3":"2026-07-16T10:05:35.006Z","0.5.0":"2026-07-30T01:17:50.036Z","0.5.1":"2026-07-30T02:47:08.032Z","0.5.2":"2026-07-30T04:13:07.495Z","0.5.3":"2026-07-30T04:59:50.557Z","0.6.0":"2026-07-30T06:05:19.135Z","0.6.1":"2026-07-30T07:20:30.309Z","0.7.0":"2026-07-30T07:56:37.236Z","0.7.1":"2026-08-25T05:41:52.793Z","0.7.2":"2026-09-20T14:46:45.561Z","0.7.3":"2026-09-30T11:07:02.216Z"},"bugs":{"url":"https://github.com/cyanheads/courtlistener-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/courtlistener-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","court-opinions","legal-research","case-law","courtlistener","federal-courts","pacer","recap","legal","judges","citation-network"],"repository":{"url":"git+https://github.com/cyanheads/courtlistener-mcp-server.git","type":"git"},"description":"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.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/courtlistener-mcp-server</h1>\n  <p><b>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.</b>\n  <div>14 Tools • 1 Resource • 1 Prompt</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.7.3-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/courtlistener-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.1.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/courtlistener-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/courtlistener-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.2-blueviolet.svg?style=flat-square)](https://bun.sh/)\n\n</div>\n\n<div align=\"center\">\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/courtlistener-mcp-server/releases/latest/download/courtlistener-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=courtlistener-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvY291cnRsaXN0ZW5lci1tY3Atc2VydmVyIl19) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22courtlistener-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fcourtlistener-mcp-server%22%5D%7D)\n\n[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)\n\n</div>\n\n<div align=\"center\">\n\n**Public Hosted Server:** [https://courtlistener.caseyjhand.com/mcp](https://courtlistener.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nUS case law and federal court records from CourtListener's 9M+ opinion corpus and its RECAP mirror of PACER. Search opinions and dockets, trace citation networks, resolve citations, look up judges and courts, and read oral argument transcripts and judicial financial disclosures. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.\n\n### Tools\n\n| Tool | Description |\n|:---|:---|\n| `courtlistener_search_opinions` | Full-text search across 9M+ court opinions with field syntax, court, date, and status filters |\n| `courtlistener_get_opinion` | Fetch an opinion cluster's metadata and the full text of every variant (majority, concurrence, dissent) |\n| `courtlistener_get_citations` | Trace a cluster's citation network: opinions it cites (`citing`) or that cite it (`cited_by`) |\n| `courtlistener_lookup_citation` | Resolve every citation in a text (e.g. \"410 U.S. 113\") to cluster IDs and case metadata |\n| `courtlistener_search_dockets` | Search RECAP federal dockets by case name, party, attorney, court, and filing date |\n| `courtlistener_get_docket` | Fetch a federal docket's metadata and paged entry list with document availability |\n| `courtlistener_get_parties` | Fetch the parties and attorneys of record on a RECAP docket |\n| `courtlistener_search_judges` | Search judges by name, appointing president, court, and political affiliation |\n| `courtlistener_get_judge` | Fetch a judge's positions, education, political affiliations, and ABA ratings |\n| `courtlistener_lookup_courts` | List courts by jurisdiction type, active/inactive status, and scraper coverage |\n| `courtlistener_search_oral_arguments` | Search appellate oral argument recordings by case name, transcript text, court, and argument date |\n| `courtlistener_get_oral_argument` | Fetch one oral argument's panel, duration, MP3 link, and speech-to-text transcript |\n| `courtlistener_search_financial_disclosures` | Search judicial financial disclosure filings by judge and year |\n| `courtlistener_get_financial_disclosure` | Fetch one disclosure's line items with coded values decoded to dollar ranges |\n\n### Resources\n\n| Resource | Description |\n|:---|:---|\n| `courtlistener://reference/courts` | Jurisdiction codes, common court IDs, search type codes, rate limits, and the maintenance window |\n\nThe jurisdiction codes are also listed on the `jurisdiction` parameter of `courtlistener_lookup_courts`, for clients that don't surface resources.\n\n### Prompts\n\n| Prompt | Description |\n|:---|:---|\n| `courtlistener_research_topic` | Generate a structured legal research plan for a topic or question |\n\n## Capability reference\n\n### `courtlistener_search_opinions` <sub>tool</sub>\n\n- `q` is required and takes CourtListener field syntax (`caseName:\"roe v wade\"`, `court_id:scotus`, `judge:\"Alito\"`) and `AND` / `OR` / `NOT`; filter by `court`, `filed_after` / `filed_before`, and `status`, and sort with `order_by` (`score desc` default, `dateFiled desc`, `dateFiled asc`, `citeCount desc`); 20 results per page, continued with `next_cursor`\n- Each result carries `cluster_id` (for `courtlistener_get_opinion` and `courtlistener_get_citations`), `docket_id`, `cite_count`, a `snippet`, and `opinions[]` variants with opinion ID, `type`, `author_id`, and `local_path`; `totalCount` and `effectiveQuery` report the match\n\n---\n\n### `courtlistener_get_opinion` <sub>tool</sub>\n\n- `cluster_id` is required; after an outline response, `sections: [\"opinion_<id>\", ...]` pulls specific variants, and a name the cluster doesn't have fails as `unknown_section`\n- Cluster metadata (case name, `court_id`, citations, `cite_count`, `precedential_status`, syllabus, posture, `docket_id`) plus each variant's `html_text`, `plain_text`, `cites[]`, `download_url`, and `type_label`, the same label `courtlistener_search_opinions` reports\n- `kind` is `full`, or `outline` when the variants overflow the inline budget: the response then lists them as retrievable `opinion_<id>` sections and keeps the cluster metadata\n\n---\n\n### `courtlistener_get_citations` <sub>tool</sub>\n\n- `cluster_id` is required; `direction` is `cited_by` (default, opinions that cite this one) or `citing` (opinions it cites); optional `court` and `filed_after` filters; up to 20 results per page, continued with `cursor`\n- Rows carry `cluster_id`, `court_id`, `date_filed`, `cite_count`, and `snippet`; for `citing`, `totalCount` counts the unfiltered cited-opinion list, and a filtered page can come back empty while `next_cursor` is still set\n\n---\n\n### `courtlistener_lookup_citation` <sub>tool</sub>\n\n- `citation` takes one citation or a passage of up to 64,000 characters, and every citation in it resolves; `max_court_lookups` (default 4, max 20, `0` to skip) caps the docket requests spent on court names\n- One `matches[]` entry per citation, with `status` (200 one case, 300 several candidates, 400 unrecognized reporter, 404 no match, 429 past the per-request citation cap) and `status_label`; each of its `clusters[]` carries `cluster_id`, `docket_id`, `court_id`, and `court_resolution` (`resolved`, `no_docket`, `lookup_failed`, `over_budget`, only the last worth retrying with a larger budget)\n- Unresolved citations come back as entries, not errors; only text with no parseable citation fails, as `not_found`. CourtListener meters this endpoint per citation submitted, separately from the per-request limits\n\n---\n\n### `courtlistener_search_dockets` <sub>tool</sub>\n\n- `q` is required and matches case name, docket number, party, and attorney names; `party_name` (ANDed with `q`), `court`, and `filed_after` / `filed_before` narrow it; 20 results per page, continued with `next_cursor`\n- Each docket carries `docket_id`, `parties`, `attorneys`, `firms`, `suit_nature`, `assigned_to` / `referred_to`, and up to 3 `sample_documents` with `is_available` and a RECAP `filepath_local` URL; every response adds a `coverage_note` on RECAP's partial PACER coverage\n\n---\n\n### `courtlistener_get_docket` <sub>tool</sub>\n\n- `docket_id` is required; entries come 20 per page (CourtListener ignores `entries_page_size`), walked with `entries_page`\n- Returns docket metadata, `total_entries`, `next_cursor` (the next `entries_page` number), and `entries[]` whose `documents[]` carry `is_available`, `page_count`, and `filepath_local`; documents with `is_available: false` need PACER, and fetching them is not exposed\n\n---\n\n### `courtlistener_get_parties` <sub>tool</sub>\n\n- `docket_id` is required; `cursor` takes the opaque `next_cursor` token, not a page number; `page_size` (max 10) is a request CourtListener may not honor\n- Each party carries `name`, its docket-scoped `role`, and `attorneys[]` with `name`, `contact_raw`, `role_code` / `role` (codes 5–9 mean no longer of record), and `date_action`; `total_parties` uses the upstream total when supplied, otherwise counts a single-page result or stays null\n\n---\n\n### `courtlistener_search_judges` <sub>tool</sub>\n\n- `q` is required; filter by `appointer` (the president's last name), `court`, and `political_affiliation` (`d`, `r`, `i`, `l`, `g`, `u`); 20 results per page, continued with `next_cursor`\n- Results carry `person_id` (for `courtlistener_get_judge`), `political_affiliation` and `aba_rating` as labels rather than codes, and a `current_position`: the one with no termination date, or the latest-starting when several or none qualify\n\n---\n\n### `courtlistener_get_judge` <sub>tool</sub>\n\n- `person_id` is required; positions are fetched up to a page bound, and `truncated` with `positionsShown` reports when a long record ran past it\n- Positions (judicial, plus non-judicial roles described by `job_title` and `organization_name`), education, political affiliations, ABA ratings, and `fjc_id`; coded fields keep the raw code beside a label (`position_type_label`, `termination_reason_label`, `degree_label`)\n- Dates carry the precision CourtListener recorded in `dob_granularity`, `dod_granularity`, `date_start_granularity`, and `date_termination_granularity` (`year`, `month`, or `day`)\n\n---\n\n### `courtlistener_lookup_courts` <sub>tool</sub>\n\n- Filter by `jurisdiction` (one of 22 CourtListener codes such as `F`, `FD`, `FB`, `S`, `SA`; the full table is in `courtlistener://reference/courts`), `status` (`active` default, `inactive`, or `any`), and `has_opinion_scraper`; live records come 20 per page, walked with `page`\n- `courts[]` carry `id` (the court ID every other tool filters on), `citation_string`, `jurisdiction`, and scraper flags; `all_matching_court_ids` lists every match from a bundled snapshot at no request cost, and is empty when more than 1,000 match, so check `all_matching_court_ids_complete`\n\n---\n\n### `courtlistener_search_oral_arguments` <sub>tool</sub>\n\n- `q` is required and matches case name and transcript text; filter by `court` and `argued_after` / `argued_before`; 20 results per page, continued with `next_cursor`\n- Results carry `audio_id` (for `courtlistener_get_oral_argument`), `panel_ids` (for `courtlistener_get_judge`), `duration_seconds`, `snippet`, and two MP3 links: `download_url` at the originating court and `local_path`, CourtListener's durable copy\n\n---\n\n### `courtlistener_get_oral_argument` <sub>tool</sub>\n\n- `id` (an `audio_id` from a search) is required; `sections: [\"transcript\"]` pulls a transcript that an outline response withheld\n- Returns `panel_ids`, `duration_seconds`, `download_url`, `docket_id`, `has_transcript`, and `transcript`; `kind` is `outline` when the transcript overflows the inline budget. The argument date is not on this record; take it from the search result or the docket\n\n---\n\n### `courtlistener_search_financial_disclosures` <sub>tool</sub>\n\n- Filter by `judge_id` (a `person_id`) and `year`; 20 filings per page, continued with `cursor`. `year` filters only the fetched page, because CourtListener has no server-side year filter, so keep paging when a page comes back empty with `next_cursor` set\n- Each filing carries `disclosure_id`, `report_type`, `has_been_extracted`, `is_amended`, `pdf_url`, per-category `counts` (investments, gifts, debts, positions, reimbursements, agreements, non-investment and spouse income), and itemized `gifts`\n\n---\n\n### `courtlistener_get_financial_disclosure` <sub>tool</sub>\n\n- `disclosure_id` is required; `categories` selects from `investments`, `debts`, `positions`, `reimbursements`, `non_investment_incomes`, `spouse_incomes`, `agreements`, and `gifts` (omit for all)\n- Returns filing metadata, `counts`, and the requested line-item rows, with coded value and income columns decoded to dollar ranges (`N` → `$250,001 - $500,000`); `kind` is `outline` when the full itemization overflows, listing categories by size for a `categories` re-call\n\n---\n\n### `courtlistener://reference/courts` <sub>resource</sub>\n\n- Markdown reference: the 22 jurisdiction codes (rendered from the set `courtlistener_lookup_courts` validates against), common court IDs, search type codes, the published free-tier rate limits, and the weekly maintenance window (Thursdays 21:00–23:59 PT)\n- Static content, cacheable publicly for 24 hours\n\n---\n\n### `courtlistener_research_topic` <sub>prompt</sub>\n\n- Arguments: `topic` required; `jurisdiction` optional (a court ID such as `scotus` or `ca9`); `depth` optional, `overview` (default, 3–5 key cases) or `deep` (adds citation-network traversal and judge lookup)\n- Returns one user message laying out the research workflow and a findings template: key cases, precedent trajectory, research gaps\n\n## Features\n\nBuilt on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio and Streamable HTTP transports, pluggable auth (`none` / `jwt` / `oauth`), swappable storage (`in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`), structured logging with optional OpenTelemetry tracing.\n\nCourtListener-specific:\n\n- CourtListener REST API v4: search, opinions and clusters, dockets and entries, parties and attorneys, people and positions, courts, audio, financial disclosures, and citation lookup\n- One request queue for the whole process, paced to `COURTLISTENER_RATE_LIMIT_PER_MINUTE` and `COURTLISTENER_RATE_LIMIT_PER_HOUR`, so a burst waits instead of failing; a 429 pauses the queue for every waiting call, and a `Retry-After` is honored within a 45-second wait budget\n- Request cost per call: one for most tools; two for `courtlistener_get_docket`; two or more for `courtlistener_get_parties` and `courtlistener_get_judge` (one per extra page of a long roster or career); three for `courtlistener_get_opinion` and `courtlistener_get_citations` (plus one per extra page of opinion variants); and for `courtlistener_lookup_citation`, the lookup plus up to `max_court_lookups` docket requests\n- Input that can't succeed (an empty `q`, a malformed date, a citation over 64,000 characters, an unknown oral argument section) is rejected before a request is spent\n\nAgent-friendly output:\n\n- Chaining IDs: `cluster_id`, `docket_id`, `person_id`, `audio_id`, and `disclosure_id` appear wherever they feed a follow-up call, with field descriptions naming the tool that takes each\n- Typed rate-limit errors: `reason: \"rate_limited\"` with `retryAfter` in seconds, whether CourtListener returned the 429 or the queue gave up before sending, in which case the message says no request was spent\n- Outlines instead of oversized payloads: `courtlistener_get_opinion`, `courtlistener_get_oral_argument`, and `courtlistener_get_financial_disclosure` return `kind: \"outline\"` with named sections to re-call for\n- Coverage caveats inline: RECAP `coverage_note`, `court_resolution` on citation lookups, `truncated` on position history, and notices when a page-local filter empties a page that has more pages behind it\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://courtlistener.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"courtlistener-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://courtlistener.caseyjhand.com/mcp\"\n    }\n  }\n}\n```\n\n### Self-Hosted / Local\n\nAdd the following to your MCP client configuration file. Generate a free API token in your [CourtListener account settings](https://www.courtlistener.com/profile/settings/).\n\n```json\n{\n  \"mcpServers\": {\n    \"courtlistener-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/courtlistener-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\",\n        \"COURTLISTENER_API_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"courtlistener-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/courtlistener-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\",\n        \"COURTLISTENER_API_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"courtlistener-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"-e\", \"COURTLISTENER_API_TOKEN=your-api-token\",\n        \"ghcr.io/cyanheads/courtlistener-mcp-server:latest\"\n      ]\n    }\n  }\n}\n```\n\nFor Streamable HTTP, set the transport and start the server:\n\n```sh\nMCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 COURTLISTENER_API_TOKEN=... bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- A CourtListener API token from a free account at [courtlistener.com](https://www.courtlistener.com/sign-in/). The published free-tier limits are 5 requests per minute, 50 per hour, and 125 per day; actual limits vary by token tier, and [Free Law Project membership](https://free.law/donate/) raises them.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/courtlistener-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd courtlistener-mcp-server\n```\n\n3. **Install dependencies:**\n\n```sh\nbun install\n```\n\n4. **Configure environment:**\n\n```sh\ncp .env.example .env\n# edit .env and set COURTLISTENER_API_TOKEN\n```\n\n## Configuration\n\n| Variable | Description | Default |\n|:---|:---|:---|\n| `COURTLISTENER_API_TOKEN` | **Required.** API token from your CourtListener account settings. | — |\n| `COURTLISTENER_BASE_URL` | API base URL override. | `https://www.courtlistener.com/api/rest/v4` |\n| `COURTLISTENER_RATE_LIMIT_PER_MINUTE` | Requests the server starts per rolling minute. Past it, requests queue; one that can't start within about 45 s fails with the reset time. Raise it to match a higher token tier. | `5` |\n| `COURTLISTENER_RATE_LIMIT_PER_HOUR` | Requests the server starts per rolling hour. | `50` |\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |\n| `MCP_HTTP_PORT` | HTTP server port. | `3010` |\n| `MCP_SESSION_MODE` | HTTP session mode: `stateless`, `stateful`, or `auto`. The server declares `stateless`; setting this overrides it. | `stateless` |\n| `MCP_AUTH_MODE` | Authentication: `none`, `jwt`, or `oauth`. | `none` |\n| `MCP_LOG_LEVEL` | Log level (`debug`, `info`, `warning`, `error`, etc.). | `info` |\n| `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |\n| `STORAGE_PROVIDER_TYPE` | Storage backend: `in-memory`, `filesystem`, `supabase`, `cloudflare-kv/r2/d1`. | `in-memory` |\n| `OTEL_ENABLED` | Enable [OpenTelemetry](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry). | `false` |\n| `OTEL_EXPORTER_OTLP_ENDPOINT` | Base endpoint for traces and metrics; appends `/v1/traces` and `/v1/metrics`. Without an endpoint, neither exports. | — |\n| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | Explicit endpoint for redacted OTLP logs; the base endpoint does not enable log export. | — |\n| `LOG_TOOL_FAILURE_PAYLOADS` | Log failed-call inputs and results with key-based redaction. | `false` |\n| `LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES` | Size cap for each logged failed-call payload. | `16384` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n## Running the server\n\n### Local development\n\n- **Build and run:**\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start:stdio\n  # or\n  bun run start:http\n  ```\n\n- **Run checks and tests:**\n\n  ```sh\n  bun run devcheck   # Lint, format, typecheck, security\n  bun run test       # Vitest test suite\n  bun run lint:mcp   # Validate MCP definitions against spec\n  ```\n\n### Docker\n\n```sh\ndocker build -t courtlistener-mcp-server .\ndocker run --rm -e COURTLISTENER_API_TOKEN=your-token -p 3010:3010 courtlistener-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/courtlistener-mcp-server`. OpenTelemetry peer dependencies are installed by default — build with `--build-arg OTEL_ENABLED=false` to omit them.\n\n## Project structure\n\n| Directory | Purpose |\n|:---|:---|\n| `src/index.ts` | `createApp()` entry point: registers tools, resources, and prompts, and inits the service. |\n| `src/config` | Server-specific environment variable parsing and validation with Zod. |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`). 14 tools across opinions, citations, dockets, parties, judges, courts, oral arguments, and financial disclosures. |\n| `src/mcp-server/resources` | Resource definitions (`*.resource.ts`). Court reference resource. |\n| `src/mcp-server/prompts` | Prompt definitions (`*.prompt.ts`). Legal research prompt. |\n| `src/services/courtlistener` | CourtListener API client (request pacing, retry, error classification), code tables, and the bundled court snapshot (`bun run courts:snapshot` regenerates it). |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for request-scoped logging, `ctx.state` for tenant-scoped storage\n- Register new tools, resources, and prompts by importing them in `src/index.ts` and adding them to the `createApp({ tools, resources, prompts })` arrays\n- Wrap CourtListener API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## License\n\nApache-2.0 — see [LICENSE](./LICENSE) for details.\n","readmeFilename":"README.md"}