@cyanheads/courtlistener-mcp-server 0.2.3 → 0.2.4

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 CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** courtlistener-mcp-server
4
- **Version:** 0.2.3
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.6`
4
+ **Version:** 0.2.4
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.9`
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
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.2.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-^1.29.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-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.2.4-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-^1.29.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-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -0,0 +1,20 @@
1
+ ---
2
+ summary: "Adopt mcp-ts-core ^0.10.9: new check-dependency-specifiers + plugin-manifest devcheck guards, ctx.content media collector, Canvas SQL classification fixes; resync 14 skills, fill codex plugin longDescription, dependency refresh."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.2.4 — 2026-06-20
8
+
9
+ ## Added
10
+
11
+ - **`check-dependency-specifiers` devcheck step** — picked up from the framework toolchain; hard-fails on floating specifiers (`latest`, `*`, pre-release dist-tags) in `package.json` dependency sections and `bun.lock` workspace maps, guarding against a `bun update --latest` writing a `latest` dist-tag into the lock.
12
+ - **Plugin marketplace manifest checks (`lint:packaging` check 10)** — validates `.claude-plugin/plugin.json` and `.codex-plugin/plugin.json`: non-empty descriptions, unscoped machine name in display fields, full `package.json` name in the `npx -y` install arg. Gated by the new `devcheck.config.json` `packaging.pluginManifests` flag (on).
13
+ - **`.codex-plugin/plugin.json` `interface.longDescription`** — populated (was empty); summarizes the opinion/docket/judge/citation/oral-argument surface and STDIO-or-HTTP transport.
14
+
15
+ ## Changed
16
+
17
+ - **`@cyanheads/mcp-ts-core` ^0.10.6 → ^0.10.9** — adds `ctx.content`, an always-present collector for non-text content blocks (image/audio bytes ride `content[]` only, never `structuredContent`); fixes Canvas SQL gate classification so a `SELECT`-shaped statement that fails to prepare throws `ValidationError` with `data.reason: 'invalid_sql'` and the DuckDB binder detail; fixes `DuckdbProvider.describe({ tableName })` ambiguous-column binder error; corrects `OTEL_SERVICE_NAME` seeding precedence (env → `createApp` `name` → `package.json` `name`). None of the changed surfaces alter this server's tool behavior.
18
+ - **Project skills re-synced** to the framework toolchain — 14 `SKILL.md` `metadata.version` bumps (`add-tool`, `api-auth`, `api-canvas`, `api-config`, `api-context`, `api-errors`, `api-services`, `api-telemetry`, `field-test`, `git-wrapup`, `orchestrations`, `polish-docs-meta`, `report-issue-local`, `tool-defs-analysis`) plus the maintenance scripts (`build-changelog`, `check-framework-antipatterns`, `check-skill-versions`, `devcheck`, `lint-packaging`).
19
+ - **`User-Agent` header** — `courtlistener-mcp-server/0.1.2` → `courtlistener-mcp-server/0.2.4`, synced to the package version.
20
+ - Dependencies: `@biomejs/biome` ^2.4.16 → ^2.5.0, `@types/node` ^25.9.3 → ^26.0.0, `vitest` ^4.1.8 → ^4.1.9.
@@ -94,7 +94,7 @@ export class CourtListenerService {
94
94
  return {
95
95
  Authorization: `Token ${this.token}`,
96
96
  Accept: 'application/json',
97
- 'User-Agent': 'courtlistener-mcp-server/0.1.2',
97
+ 'User-Agent': 'courtlistener-mcp-server/0.2.4',
98
98
  };
99
99
  }
100
100
  /** Generic GET with retry, rate-limit detection, and JSON parse. Arrays are serialized as repeated params (e.g., id=1&id=2). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/courtlistener-mcp-server",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "mcpName": "io.github.cyanheads/courtlistener-mcp-server",
5
5
  "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.",
6
6
  "type": "module",
@@ -84,17 +84,17 @@
84
84
  "access": "public"
85
85
  },
86
86
  "dependencies": {
87
- "@cyanheads/mcp-ts-core": "^0.10.6",
87
+ "@cyanheads/mcp-ts-core": "^0.10.9",
88
88
  "pino-pretty": "^13.1.3",
89
89
  "zod": "^4.4.3"
90
90
  },
91
91
  "devDependencies": {
92
- "@biomejs/biome": "^2.4.16",
93
- "@types/node": "^25.9.3",
92
+ "@biomejs/biome": "^2.5.0",
93
+ "@types/node": "^26.0.0",
94
94
  "depcheck": "^1.4.7",
95
95
  "ignore": "^7.0.5",
96
96
  "tsc-alias": "^1.8.17",
97
97
  "typescript": "^6.0.3",
98
- "vitest": "^4.1.8"
98
+ "vitest": "^4.1.9"
99
99
  }
100
100
  }
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/courtlistener-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.2.3",
9
+ "version": "0.2.4",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/courtlistener-mcp-server",
21
21
  "runtimeHint": "node",
22
- "version": "0.2.3",
22
+ "version": "0.2.4",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -54,7 +54,7 @@
54
54
  "registryBaseUrl": "https://registry.npmjs.org",
55
55
  "identifier": "@cyanheads/courtlistener-mcp-server",
56
56
  "runtimeHint": "node",
57
- "version": "0.2.3",
57
+ "version": "0.2.4",
58
58
  "packageArguments": [
59
59
  {
60
60
  "type": "positional",