@cyanheads/courtlistener-mcp-server 0.1.5 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +5 -2
- package/README.md +30 -8
- package/changelog/0.2.x/0.2.0.md +24 -0
- package/changelog/0.2.x/0.2.1.md +15 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-citations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-citations.tool.js +22 -1
- package/dist/mcp-server/tools/definitions/get-citations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-docket.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-docket.tool.js +6 -3
- package/dist/mcp-server/tools/definitions/get-docket.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-judge.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-judge.tool.js +37 -7
- package/dist/mcp-server/tools/definitions/get-judge.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-opinion.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-opinion.tool.js +20 -5
- package/dist/mcp-server/tools/definitions/get-opinion.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-oral-argument.tool.d.ts +32 -0
- package/dist/mcp-server/tools/definitions/get-oral-argument.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-oral-argument.tool.js +102 -0
- package/dist/mcp-server/tools/definitions/get-oral-argument.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/search-financial-disclosures.tool.d.ts +49 -0
- package/dist/mcp-server/tools/definitions/search-financial-disclosures.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/search-financial-disclosures.tool.js +210 -0
- package/dist/mcp-server/tools/definitions/search-financial-disclosures.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/search-judges.tool.d.ts +1 -1
- package/dist/services/courtlistener/court-names.d.ts +21 -0
- package/dist/services/courtlistener/court-names.d.ts.map +1 -0
- package/dist/services/courtlistener/court-names.js +40 -0
- package/dist/services/courtlistener/court-names.js.map +1 -0
- package/dist/services/courtlistener/courtlistener-service.d.ts +24 -1
- package/dist/services/courtlistener/courtlistener-service.d.ts.map +1 -1
- package/dist/services/courtlistener/courtlistener-service.js +143 -15
- package/dist/services/courtlistener/courtlistener-service.js.map +1 -1
- package/dist/services/courtlistener/types.d.ts +55 -2
- package/dist/services/courtlistener/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** courtlistener-mcp-server
|
|
4
|
-
**Version:** 0.1
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.
|
|
4
|
+
**Version:** 0.2.1
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.21`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
|
@@ -287,11 +287,13 @@ Available skills:
|
|
|
287
287
|
| `api-context` | Context interface, logger, state, progress |
|
|
288
288
|
| `api-errors` | McpError, JsonRpcErrorCode, error patterns |
|
|
289
289
|
| `api-linter` | Definition linter rule catalog — invoked by `bun run lint:mcp` and `devcheck` |
|
|
290
|
+
| `api-mirror` | MirrorService: persistent self-refreshing local mirror via embedded SQLite + FTS5 — Tier 3 opt-in |
|
|
290
291
|
| `api-services` | LLM, Speech, Graph services |
|
|
291
292
|
| `api-testing` | createMockContext, test patterns |
|
|
292
293
|
| `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
|
|
293
294
|
| `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
|
|
294
295
|
| `api-workers` | Cloudflare Workers runtime |
|
|
296
|
+
| `orchestrations` | Chain task skills into a gated multi-phase pipeline when sub-agents are available |
|
|
295
297
|
|
|
296
298
|
When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
|
|
297
299
|
|
|
@@ -316,6 +318,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
316
318
|
| `npm run start:http` | Production mode (HTTP) |
|
|
317
319
|
| `npm run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
|
|
318
320
|
| `npm run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
|
|
321
|
+
| `npm run release:github` | Create a GitHub Release from the latest annotated tag |
|
|
319
322
|
| `npm run bundle` | Build and pack as `.mcpb` for one-click Claude Desktop install |
|
|
320
323
|
|
|
321
324
|
---
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<h1>@cyanheads/courtlistener-mcp-server</h1>
|
|
3
3
|
<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>
|
|
4
|
-
<div>
|
|
4
|
+
<div>12 Tools</div>
|
|
5
5
|
</p>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/courtlistener-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/courtlistener-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
|
|
30
30
|
## Tools
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
12 tools spanning the full CourtListener dataset — opinion search and retrieval, citation network traversal, federal docket lookup, judge biography, judicial financial disclosures, court discovery, and oral argument search and detail:
|
|
33
33
|
|
|
34
34
|
| Tool | Description |
|
|
35
35
|
|:---|:---|
|
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
| `courtlistener_get_judge` | Fetch full biographical profile, appointment history, and education for a single judge |
|
|
44
44
|
| `courtlistener_lookup_courts` | List courts filtered by jurisdiction type and active-scraper status |
|
|
45
45
|
| `courtlistener_search_oral_arguments` | Search appellate oral argument audio recordings by case name, court, and date argued |
|
|
46
|
+
| `courtlistener_get_oral_argument` | Fetch full detail for a single oral argument — panel, duration, MP3 link, and speech-to-text transcript |
|
|
47
|
+
| `courtlistener_search_financial_disclosures` | Search federal judicial financial disclosure filings by judge and year — category counts, itemized gifts, and source PDF |
|
|
46
48
|
|
|
47
49
|
### `courtlistener_search_opinions`
|
|
48
50
|
|
|
@@ -149,6 +151,26 @@ Search appellate oral argument audio recordings — the largest public collectio
|
|
|
149
151
|
- Filters by court, argued-after, and argued-before date
|
|
150
152
|
- Returns `download_url` (MP3), `duration_seconds`, `panel_ids` (chaining to `courtlistener_get_judge`), and transcript `snippet`
|
|
151
153
|
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
### `courtlistener_get_oral_argument`
|
|
157
|
+
|
|
158
|
+
Fetch the full detail record for a single oral argument by audio ID.
|
|
159
|
+
|
|
160
|
+
- Returns the speech-to-text `transcript` when transcription has completed, plus `panel_ids`, `duration_seconds`, MP3 `download_url`, and the linked `docket_id`
|
|
161
|
+
- Audio IDs come from `courtlistener_search_oral_arguments` results
|
|
162
|
+
- The argument date is not on this record — take it from the search result or the linked docket
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### `courtlistener_search_financial_disclosures`
|
|
167
|
+
|
|
168
|
+
Search federal judicial financial disclosure filings for ethics and recusal research.
|
|
169
|
+
|
|
170
|
+
- Filter by `judge_id` (a `person_id` from `courtlistener_search_judges`) and/or filing `year`
|
|
171
|
+
- Returns per-filing category counts (investments, gifts, debts, positions, reimbursements, income), itemized gifts, and a link to the source PDF
|
|
172
|
+
- Line-item investments — often hundreds per filing, with coded values — are summarized as counts; the linked PDF carries the full itemization
|
|
173
|
+
|
|
152
174
|
## Features
|
|
153
175
|
|
|
154
176
|
Built on [`@cyanheads/mcp-ts-core`](https://www.npmjs.com/package/@cyanheads/mcp-ts-core):
|
|
@@ -166,7 +188,7 @@ CourtListener-specific:
|
|
|
166
188
|
- Rate-limit-aware client: 429 responses classified by window (minute / hour / day) with actionable error messages; retry with Retry-After respect
|
|
167
189
|
- Cursor-based pagination throughout — consistent results across all paginated endpoints
|
|
168
190
|
- RECAP coverage note surfaced on every docket response — sets expectations on partial PACER mirror completeness
|
|
169
|
-
-
|
|
191
|
+
- Tight upstream-call budget — most tools make 1–2 calls; opinion detail and citation traversal make up to 3 (resolving the linked docket or source cluster), keeping the free tier (125 req/day) usable for multi-step research
|
|
170
192
|
|
|
171
193
|
Agent-friendly output:
|
|
172
194
|
|
|
@@ -183,7 +205,7 @@ A public instance is available at `https://courtlistener.caseyjhand.com/mcp` —
|
|
|
183
205
|
```json
|
|
184
206
|
{
|
|
185
207
|
"mcpServers": {
|
|
186
|
-
"courtlistener": {
|
|
208
|
+
"courtlistener-mcp-server": {
|
|
187
209
|
"type": "streamable-http",
|
|
188
210
|
"url": "https://courtlistener.caseyjhand.com/mcp"
|
|
189
211
|
}
|
|
@@ -198,7 +220,7 @@ Add the following to your MCP client configuration file. See [CourtListener acco
|
|
|
198
220
|
```json
|
|
199
221
|
{
|
|
200
222
|
"mcpServers": {
|
|
201
|
-
"courtlistener": {
|
|
223
|
+
"courtlistener-mcp-server": {
|
|
202
224
|
"type": "stdio",
|
|
203
225
|
"command": "bunx",
|
|
204
226
|
"args": ["@cyanheads/courtlistener-mcp-server@latest"],
|
|
@@ -217,7 +239,7 @@ Or with npx (no Bun required):
|
|
|
217
239
|
```json
|
|
218
240
|
{
|
|
219
241
|
"mcpServers": {
|
|
220
|
-
"courtlistener": {
|
|
242
|
+
"courtlistener-mcp-server": {
|
|
221
243
|
"type": "stdio",
|
|
222
244
|
"command": "npx",
|
|
223
245
|
"args": ["-y", "@cyanheads/courtlistener-mcp-server@latest"],
|
|
@@ -236,7 +258,7 @@ Or with Docker:
|
|
|
236
258
|
```json
|
|
237
259
|
{
|
|
238
260
|
"mcpServers": {
|
|
239
|
-
"courtlistener": {
|
|
261
|
+
"courtlistener-mcp-server": {
|
|
240
262
|
"type": "stdio",
|
|
241
263
|
"command": "docker",
|
|
242
264
|
"args": [
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Two new tools (financial disclosures, oral arguments), data-normalization fixes across five tools, machine-readable error contracts"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.2.0 — 2026-06-01
|
|
8
|
+
|
|
9
|
+
## Added
|
|
10
|
+
|
|
11
|
+
- **`courtlistener_search_financial_disclosures`** — search federal judicial financial disclosure filings by judge person ID and year; returns category counts, itemized gifts, and the source PDF URL. Year filtering is applied client-side (the endpoint does not accept server-side year params). ([#12](https://github.com/cyanheads/courtlistener-mcp-server/issues/12))
|
|
12
|
+
- **`courtlistener_get_oral_argument`** — fetch a full oral argument record including speech-to-text transcript, panel judge IDs, duration, and MP3 link. ([#12](https://github.com/cyanheads/courtlistener-mcp-server/issues/12))
|
|
13
|
+
|
|
14
|
+
## Fixed
|
|
15
|
+
|
|
16
|
+
- **`courtlistener_get_opinion`** — `case_name`, `court`, and `docket_number` were empty due to a snake_case field mismatch and the cluster endpoint omitting court/docket data; now backfills from the linked docket record. ([#9](https://github.com/cyanheads/courtlistener-mcp-server/issues/9))
|
|
17
|
+
- **`courtlistener_get_docket`** — showed raw court URI instead of a human-readable name; now resolved via a bundled court-names map. ([#10](https://github.com/cyanheads/courtlistener-mcp-server/issues/10))
|
|
18
|
+
- **`courtlistener_get_judge`** — returned raw single-letter codes for gender, ABA rating, and political affiliation; now expanded to readable labels matching `courtlistener_search_judges` output. ([#11](https://github.com/cyanheads/courtlistener-mcp-server/issues/11))
|
|
19
|
+
- **Not-found and rate-limit errors** — previously leaked the full upstream URL in the error message; now classified at a `classifyFetchError` choke point that throws domain errors carrying a machine-readable `reason` + `recovery.hint` with a path-only message. ([#15](https://github.com/cyanheads/courtlistener-mcp-server/issues/15), [#16](https://github.com/cyanheads/courtlistener-mcp-server/issues/16))
|
|
20
|
+
- **`courtlistener_get_citations`** — resolved source case name was a `(cluster N)` placeholder; now fetches the real case name from the cluster record. ([#18](https://github.com/cyanheads/courtlistener-mcp-server/issues/18))
|
|
21
|
+
|
|
22
|
+
## Dependencies
|
|
23
|
+
|
|
24
|
+
- `vitest` ^4.1.7 → ^4.1.8
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Adopt @cyanheads/mcp-ts-core 0.9.21 — per-request log context fix, secret-stripped error messages, withRetry fail-fast"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.2.1 — 2026-06-02
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`@cyanheads/mcp-ts-core`** ^0.9.16 → ^0.9.21: HTTP transport per-request log context fix (per-request logs and traces now carry fresh request + trace/span IDs instead of the frozen boot context); `fetchWithTimeout` strips query-string secrets (e.g. `?api_key=`) from error messages and logs; `withRetry` fails fast on non-retryable errors; `ctx.fail` auto-populates the `retryable` flag.
|
|
12
|
+
|
|
13
|
+
## Dependencies
|
|
14
|
+
|
|
15
|
+
- `@cyanheads/mcp-ts-core` ^0.9.16 → ^0.9.21
|
package/dist/index.js
CHANGED
|
@@ -13,9 +13,11 @@ import { getCitationsTool } from './mcp-server/tools/definitions/get-citations.t
|
|
|
13
13
|
import { getDocketTool } from './mcp-server/tools/definitions/get-docket.tool.js';
|
|
14
14
|
import { getJudgeTool } from './mcp-server/tools/definitions/get-judge.tool.js';
|
|
15
15
|
import { getOpinionTool } from './mcp-server/tools/definitions/get-opinion.tool.js';
|
|
16
|
+
import { getOralArgumentTool } from './mcp-server/tools/definitions/get-oral-argument.tool.js';
|
|
16
17
|
import { lookupCitationTool } from './mcp-server/tools/definitions/lookup-citation.tool.js';
|
|
17
18
|
import { lookupCourtsTool } from './mcp-server/tools/definitions/lookup-courts.tool.js';
|
|
18
19
|
import { searchDocketsTool } from './mcp-server/tools/definitions/search-dockets.tool.js';
|
|
20
|
+
import { searchFinancialDisclosuresTool } from './mcp-server/tools/definitions/search-financial-disclosures.tool.js';
|
|
19
21
|
import { searchJudgesTool } from './mcp-server/tools/definitions/search-judges.tool.js';
|
|
20
22
|
// Tool definitions
|
|
21
23
|
import { searchOpinionsTool } from './mcp-server/tools/definitions/search-opinions.tool.js';
|
|
@@ -33,6 +35,8 @@ await createApp({
|
|
|
33
35
|
getJudgeTool,
|
|
34
36
|
lookupCourtsTool,
|
|
35
37
|
searchOralArgumentsTool,
|
|
38
|
+
getOralArgumentTool,
|
|
39
|
+
searchFinancialDisclosuresTool,
|
|
36
40
|
],
|
|
37
41
|
resources: [courtsReferenceResource],
|
|
38
42
|
prompts: [legalResearchPrompt],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAChG,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,gBAAgB;QAChB,uBAAuB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAChG,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,qEAAqE,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,gBAAgB;QAChB,uBAAuB;QACvB,mBAAmB;QACnB,8BAA8B;KAC/B;IACD,SAAS,EAAE,CAAC,uBAAuB,CAAC;IACpC,OAAO,EAAE,CAAC,mBAAmB,CAAC;IAC9B,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;IAC/B,YAAY,EACV,yIAAyI;QACzI,4FAA4F;QAC5F,8HAA8H;QAC9H,mGAAmG;QACnG,yGAAyG;IAC3G,KAAK,CAAC,IAAI;QACR,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,wBAAwB,CACtB,YAA4E,EAC5E,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-citations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-citations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-citations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-citations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgN3B,CAAC"}
|
|
@@ -101,7 +101,28 @@ export const getCitationsTool = tool('courtlistener_get_citations', {
|
|
|
101
101
|
const data = input.direction === 'cited_by'
|
|
102
102
|
? await svc.getCitedBy(citationParams, ctx)
|
|
103
103
|
: await svc.getCiting(citationParams, ctx);
|
|
104
|
-
|
|
104
|
+
// Resolve the source cluster's real case name. "citing" gets it free (getCiting
|
|
105
|
+
// already fetched the cluster); "cited_by" needs a lightweight name-only fetch
|
|
106
|
+
// (non-fatal — falls back to the cluster-id placeholder if it fails).
|
|
107
|
+
let sourceCaseName = `(cluster ${input.cluster_id})`;
|
|
108
|
+
if ('sourceCaseName' in data && typeof data.sourceCaseName === 'string') {
|
|
109
|
+
// "citing" — getCiting already resolved the name.
|
|
110
|
+
sourceCaseName = data.sourceCaseName;
|
|
111
|
+
}
|
|
112
|
+
else if (input.direction === 'cited_by') {
|
|
113
|
+
// "cited_by" — getCitedBy never fetched the cluster; resolve the name cheaply (non-fatal).
|
|
114
|
+
try {
|
|
115
|
+
const name = await svc.getClusterCaseName(input.cluster_id, ctx);
|
|
116
|
+
if (name)
|
|
117
|
+
sourceCaseName = name;
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
ctx.log.debug('source case name resolution failed', {
|
|
121
|
+
clusterId: input.cluster_id,
|
|
122
|
+
err: String(err),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
105
126
|
const results = data.results.map((r) => ({
|
|
106
127
|
cluster_id: r.cluster_id,
|
|
107
128
|
case_name: r.caseName ?? '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-citations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-citations.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get-citations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-citations.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-docket.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-docket.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-docket.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-docket.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyMxB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { resolveCourtName } from '../../../services/courtlistener/court-names.js';
|
|
7
8
|
import { getCourtListenerService } from '../../../services/courtlistener/courtlistener-service.js';
|
|
8
9
|
export const getDocketTool = tool('courtlistener_get_docket', {
|
|
9
10
|
title: 'Get Docket',
|
|
@@ -27,8 +28,10 @@ export const getDocketTool = tool('courtlistener_get_docket', {
|
|
|
27
28
|
docket_id: z.number().describe('Docket ID.'),
|
|
28
29
|
case_name: z.string().describe('Short case name.'),
|
|
29
30
|
case_name_full: z.string().describe('Full case name.'),
|
|
30
|
-
court: z
|
|
31
|
-
|
|
31
|
+
court: z
|
|
32
|
+
.string()
|
|
33
|
+
.describe('Court display name for major federal courts; the court identifier otherwise.'),
|
|
34
|
+
court_id: z.string().describe('Court identifier — the stable value for filtering.'),
|
|
32
35
|
date_filed: z.string().describe('Date the case was filed.'),
|
|
33
36
|
date_terminated: z
|
|
34
37
|
.string()
|
|
@@ -128,7 +131,7 @@ export const getDocketTool = tool('courtlistener_get_docket', {
|
|
|
128
131
|
docket_id: docket.id,
|
|
129
132
|
case_name: docket.case_name ?? '',
|
|
130
133
|
case_name_full: docket.case_name_full ?? '',
|
|
131
|
-
court: docket.
|
|
134
|
+
court: resolveCourtName(docket.court_id),
|
|
132
135
|
court_id: docket.court_id ?? '',
|
|
133
136
|
date_filed: docket.date_filed ?? '',
|
|
134
137
|
date_terminated: docket.date_terminated ?? null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-docket.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-docket.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,EAAE;IAC5D,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,mUAAmU;IACrU,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAEzD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CACP,qFAAqF,CACtF;QACH,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,sFAAsF,CACvF;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACtD,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"get-docket.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-docket.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-judge.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-judge.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-judge.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-judge.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8BjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsOvB,CAAC"}
|
|
@@ -5,6 +5,32 @@
|
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getCourtListenerService } from '../../../services/courtlistener/courtlistener-service.js';
|
|
8
|
+
/**
|
|
9
|
+
* The /people/{id}/ endpoint returns single-letter codes for gender, ABA rating,
|
|
10
|
+
* and political affiliation, where the search endpoint returns pre-expanded labels.
|
|
11
|
+
* These maps expand them so get_judge output matches search_judges. Unknown codes
|
|
12
|
+
* pass through unchanged rather than being dropped or guessed.
|
|
13
|
+
*/
|
|
14
|
+
const GENDER_LABELS = { m: 'Male', f: 'Female', o: 'Other' };
|
|
15
|
+
const ABA_RATING_LABELS = {
|
|
16
|
+
ewq: 'Exceptionally Well Qualified',
|
|
17
|
+
wq: 'Well Qualified',
|
|
18
|
+
q: 'Qualified',
|
|
19
|
+
nq: 'Not Qualified',
|
|
20
|
+
nqnot: 'Not Qualified (Not of this Time)',
|
|
21
|
+
};
|
|
22
|
+
const PARTY_LABELS = {
|
|
23
|
+
d: 'Democratic',
|
|
24
|
+
r: 'Republican',
|
|
25
|
+
i: 'Independent',
|
|
26
|
+
g: 'Green',
|
|
27
|
+
l: 'Libertarian',
|
|
28
|
+
};
|
|
29
|
+
const expandCode = (map, code) => {
|
|
30
|
+
if (!code)
|
|
31
|
+
return '';
|
|
32
|
+
return map[code.toLowerCase()] ?? code;
|
|
33
|
+
};
|
|
8
34
|
export const getJudgeTool = tool('courtlistener_get_judge', {
|
|
9
35
|
title: 'Get Judge Profile',
|
|
10
36
|
description: 'Fetch full biographical profile for a single judge: appointment history across all courts, education, political affiliations, and ABA ratings. Obtain person IDs from courtlistener_search_judges results.',
|
|
@@ -29,11 +55,13 @@ export const getJudgeTool = tool('courtlistener_get_judge', {
|
|
|
29
55
|
.describe('Federal Judicial Center ID for cross-referencing with FJC data; null if not available.'),
|
|
30
56
|
aba_ratings: z
|
|
31
57
|
.array(z.string())
|
|
32
|
-
.describe('ABA qualification
|
|
58
|
+
.describe('ABA qualification ratings, expanded to readable labels (e.g., "Well Qualified").'),
|
|
33
59
|
political_affiliations: z
|
|
34
60
|
.array(z
|
|
35
61
|
.object({
|
|
36
|
-
affiliation: z
|
|
62
|
+
affiliation: z
|
|
63
|
+
.string()
|
|
64
|
+
.describe('Political party, expanded to a readable label (e.g., "Democratic").'),
|
|
37
65
|
date_start: z.string().nullable().describe('Start date of this affiliation.'),
|
|
38
66
|
date_end: z
|
|
39
67
|
.string()
|
|
@@ -109,11 +137,13 @@ export const getJudgeTool = tool('courtlistener_get_judge', {
|
|
|
109
137
|
ctx.log.info('courtlistener_get_judge', { person_id: input.person_id });
|
|
110
138
|
const svc = getCourtListenerService();
|
|
111
139
|
const person = await svc.getPerson(input.person_id, ctx);
|
|
112
|
-
// aba_ratings
|
|
113
|
-
|
|
114
|
-
|
|
140
|
+
// aba_ratings/political_affiliations arrive as single-letter codes — expand to
|
|
141
|
+
// readable labels so output matches courtlistener_search_judges.
|
|
142
|
+
const aba_ratings = (person.aba_ratings ?? [])
|
|
143
|
+
.map((r) => expandCode(ABA_RATING_LABELS, r.rating))
|
|
144
|
+
.filter(Boolean);
|
|
115
145
|
const political_affiliations = (person.political_affiliations ?? []).map((pa) => ({
|
|
116
|
-
affiliation: pa.political_party
|
|
146
|
+
affiliation: expandCode(PARTY_LABELS, pa.political_party),
|
|
117
147
|
date_start: pa.date_start ?? null,
|
|
118
148
|
date_end: pa.date_end ?? null,
|
|
119
149
|
}));
|
|
@@ -145,7 +175,7 @@ export const getJudgeTool = tool('courtlistener_get_judge', {
|
|
|
145
175
|
return {
|
|
146
176
|
person_id: person.id,
|
|
147
177
|
name,
|
|
148
|
-
gender: person.gender
|
|
178
|
+
gender: expandCode(GENDER_LABELS, person.gender),
|
|
149
179
|
dob: person.date_dob ?? null,
|
|
150
180
|
dob_city: person.dob_city ?? null,
|
|
151
181
|
dob_state: person.dob_state ?? null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-judge.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-judge.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAC1D,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,4MAA4M;IAC9M,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAEzD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CACP,4HAA4H,CAC7H;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAClF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QACrF,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wFAAwF,CACzF;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"get-judge.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-judge.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-opinion.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-opinion.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-opinion.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-opinion.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoMzB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { resolveCourtName } from '../../../services/courtlistener/court-names.js';
|
|
7
8
|
import { getCourtListenerService } from '../../../services/courtlistener/courtlistener-service.js';
|
|
8
9
|
export const getOpinionTool = tool('courtlistener_get_opinion', {
|
|
9
10
|
title: 'Get Court Opinion',
|
|
@@ -83,6 +84,20 @@ export const getOpinionTool = tool('courtlistener_get_opinion', {
|
|
|
83
84
|
if (match?.[1])
|
|
84
85
|
docketId = parseInt(match[1], 10);
|
|
85
86
|
}
|
|
87
|
+
// /clusters/{id}/ omits court_id and docket_number — backfill from the linked
|
|
88
|
+
// docket (one extra call, non-fatal so a docket miss never fails the opinion fetch).
|
|
89
|
+
let courtId = cluster.court_id ?? '';
|
|
90
|
+
let docketNumber = cluster.docket_number ?? '';
|
|
91
|
+
if (docketId) {
|
|
92
|
+
try {
|
|
93
|
+
const summary = await svc.getDocketSummary(docketId, ctx);
|
|
94
|
+
courtId ||= summary.court_id;
|
|
95
|
+
docketNumber ||= summary.docket_number;
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
ctx.log.debug('docket summary backfill failed', { docketId, err: String(err) });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
86
101
|
const opinions = (cluster.sub_opinions ?? []).map((op) => ({
|
|
87
102
|
id: op.id,
|
|
88
103
|
type: op.type ?? '',
|
|
@@ -103,13 +118,13 @@ export const getOpinionTool = tool('courtlistener_get_opinion', {
|
|
|
103
118
|
});
|
|
104
119
|
return {
|
|
105
120
|
cluster_id: cluster.id,
|
|
106
|
-
case_name: cluster.
|
|
107
|
-
case_name_full: cluster.
|
|
108
|
-
court:
|
|
109
|
-
court_id:
|
|
121
|
+
case_name: cluster.case_name ?? '',
|
|
122
|
+
case_name_full: cluster.case_name_full ?? '',
|
|
123
|
+
court: resolveCourtName(courtId),
|
|
124
|
+
court_id: courtId,
|
|
110
125
|
date_filed: cluster.date_filed ?? '',
|
|
111
126
|
docket_id: docketId,
|
|
112
|
-
docket_number:
|
|
127
|
+
docket_number: docketNumber,
|
|
113
128
|
judges: cluster.judges ?? '',
|
|
114
129
|
citations,
|
|
115
130
|
cite_count: cluster.citation_count ?? 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-opinion.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-opinion.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get-opinion.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-opinion.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,EAAE;IAC9D,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,8UAA8U;IAChV,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAEzD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CACP,2OAA2O,CAC5O;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACvD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACpF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QACjF,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAClE,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjD,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,kFAAkF,CACnF;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACzE,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CACP,8EAA8E,CAC/E;YACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACnF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YACtE,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+EAA+E,CAChF;SACJ,CAAC;aACD,QAAQ,CAAC,6BAA6B,CAAC,CAC3C;aACA,QAAQ,CAAC,2CAA2C,CAAC;KACzD,CAAC;IAEF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,6CAA6C;YACnD,QAAQ,EACN,4FAA4F;SAC/F;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,kCAAkC;YACxC,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,wEAAwE;SACnF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,uBAAuB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAEnE,6BAA6B;QAC7B,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9F,0EAA0E;QAC1E,IAAI,QAAQ,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,8EAA8E;QAC9E,qFAAqF;QACrF,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,IAAI,YAAY,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC1D,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC;gBAC7B,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;YACnB,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI;YAC/B,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,KAAK;YAClC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;YACxB,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE;YAC/B,oEAAoE;YACpE,KAAK,EAAE,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACvD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,CAAC,CAAC;YACF,YAAY,EAAE,EAAE,CAAC,YAAY,IAAI,IAAI;SACtC,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE;YACjD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,cAAc,EAAE,QAAQ,CAAC,MAAM;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;YAChC,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACpC,SAAS,EAAE,QAAQ;YACnB,aAAa,EAAE,YAAY;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,SAAS;YACT,UAAU,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;YACvC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,EAAE;YACtD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa;YACtB,MAAM,MAAM,CAAC,SAAS,EAAE;YACxB,mBAAmB,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,kBAAkB,MAAM,CAAC,UAAU,EAAE;YAC1H,eAAe,MAAM,CAAC,aAAa,SAAS,MAAM,CAAC,SAAS,mBAAmB,MAAM,CAAC,mBAAmB,oBAAoB,MAAM,CAAC,UAAU,EAAE;SACjJ,CAAC;QAEF,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEjE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjF,IAAI,EAAE,CAAC,SAAS,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;YACvE,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,EAAE,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YAEpE,6EAA6E;YAC7E,qEAAqE;YACrE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC7C,KAAK,CAAC,IAAI,CACR,KAAK,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC5C,KAAK,CAAC,IAAI,CACR,oBAAoB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,EAAE,CAChG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;gBACvD,KAAK,CAAC,IAAI,CACR,iFAAiF,CAClF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Fetch full detail for a single oral argument audio recording.
|
|
3
|
+
* @module mcp-server/tools/definitions/get-oral-argument.tool
|
|
4
|
+
*/
|
|
5
|
+
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
export declare const getOralArgumentTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
8
|
+
id: z.ZodNumber;
|
|
9
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
10
|
+
oral_argument_id: z.ZodNumber;
|
|
11
|
+
case_name: z.ZodString;
|
|
12
|
+
case_name_full: z.ZodString;
|
|
13
|
+
docket_id: z.ZodNumber;
|
|
14
|
+
duration_seconds: z.ZodNumber;
|
|
15
|
+
download_url: z.ZodNullable<z.ZodString>;
|
|
16
|
+
judges: z.ZodString;
|
|
17
|
+
panel_ids: z.ZodArray<z.ZodNumber>;
|
|
18
|
+
has_transcript: z.ZodBoolean;
|
|
19
|
+
transcript: z.ZodString;
|
|
20
|
+
}, z.core.$strip>, readonly [{
|
|
21
|
+
readonly reason: "not_found";
|
|
22
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
23
|
+
readonly when: "Audio ID does not exist in CourtListener.";
|
|
24
|
+
readonly recovery: "Verify the audio ID from courtlistener_search_oral_arguments.";
|
|
25
|
+
}, {
|
|
26
|
+
readonly reason: "rate_limited";
|
|
27
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
28
|
+
readonly when: "429 response from CourtListener.";
|
|
29
|
+
readonly retryable: true;
|
|
30
|
+
readonly recovery: "Wait for the Retry-After period. Free tier: 5 req/min, 50/hr, 125/day.";
|
|
31
|
+
}], undefined>;
|
|
32
|
+
//# sourceMappingURL=get-oral-argument.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-oral-argument.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-oral-argument.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;cA0G9B,CAAC"}
|