@cyanheads/congressgov-mcp-server 0.5.0 → 0.5.2

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.
Files changed (41) hide show
  1. package/AGENTS.md +19 -14
  2. package/CLAUDE.md +19 -14
  3. package/Dockerfile +7 -2
  4. package/README.md +2 -1
  5. package/dist/index.js +22 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/mcp-server/resources/definitions/bill-types.resource.d.ts.map +1 -1
  8. package/dist/mcp-server/resources/definitions/bill-types.resource.js +2 -0
  9. package/dist/mcp-server/resources/definitions/bill-types.resource.js.map +1 -1
  10. package/dist/mcp-server/resources/definitions/current-congress.resource.d.ts.map +1 -1
  11. package/dist/mcp-server/resources/definitions/current-congress.resource.js +2 -0
  12. package/dist/mcp-server/resources/definitions/current-congress.resource.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts +1 -1
  14. package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts +1 -1
  15. package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts +1 -1
  16. package/dist/mcp-server/tools/tool-helpers.d.ts +1 -1
  17. package/dist/mcp-server/tools/tool-helpers.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/tool-helpers.js +1 -1
  19. package/dist/mcp-server/tools/tool-helpers.js.map +1 -1
  20. package/dist/services/congress-api/congress-api-service.d.ts +5 -0
  21. package/dist/services/congress-api/congress-api-service.d.ts.map +1 -1
  22. package/dist/services/congress-api/congress-api-service.js +10 -5
  23. package/dist/services/congress-api/congress-api-service.js.map +1 -1
  24. package/dist/services/congress-documents/congress-documents-service.d.ts +33 -14
  25. package/dist/services/congress-documents/congress-documents-service.d.ts.map +1 -1
  26. package/dist/services/congress-documents/congress-documents-service.js +59 -39
  27. package/dist/services/congress-documents/congress-documents-service.js.map +1 -1
  28. package/dist/services/congress-documents/extract-text-stream.d.ts +58 -0
  29. package/dist/services/congress-documents/extract-text-stream.d.ts.map +1 -0
  30. package/dist/services/congress-documents/extract-text-stream.js +689 -0
  31. package/dist/services/congress-documents/extract-text-stream.js.map +1 -0
  32. package/dist/services/congress-documents/extract-text.d.ts +6 -0
  33. package/dist/services/congress-documents/extract-text.d.ts.map +1 -1
  34. package/dist/services/congress-documents/extract-text.js +16 -10
  35. package/dist/services/congress-documents/extract-text.js.map +1 -1
  36. package/dist/services/senate-lis/senate-vote-service.d.ts +5 -0
  37. package/dist/services/senate-lis/senate-vote-service.d.ts.map +1 -1
  38. package/dist/services/senate-lis/senate-vote-service.js +10 -5
  39. package/dist/services/senate-lis/senate-vote-service.js.map +1 -1
  40. package/package.json +7 -7
  41. package/server.json +3 -3
package/AGENTS.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** congressgov-mcp-server
4
- **Version:** 0.5.0
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.11.5`
4
+ **Version:** 0.5.2
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.12.3`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
- **MCP SDK:** `@modelcontextprotocol/sdk` ^1.30.0
7
+ **MCP SDK:** `@modelcontextprotocol/server` + `@modelcontextprotocol/client` ^2.0.0
8
8
  **Zod:** ^4.4.3
9
9
 
10
10
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
@@ -23,7 +23,7 @@ When the user asks what to do next, what's left, or needs direction, suggest rel
23
23
 
24
24
  1. **Re-run the `setup` skill** — ensures CLAUDE.md, skills, structure, and metadata are populated and up to date with the current codebase
25
25
  2. **Run the `design-mcp-server` skill** — if the tool/resource surface hasn't been mapped yet, work through domain design
26
- 3. **Add tools/resources/prompts** — scaffold new definitions using the `add-tool`, `add-resource`, `add-prompt` skills
26
+ 3. **Add tools/resources/prompts** — scaffold new definitions using the `add-tool`, `add-app-tool`, `add-resource`, `add-prompt` skills
27
27
  4. **Add services** — scaffold domain service integrations using the `add-service` skill
28
28
  5. **Add tests** — scaffold tests for existing definitions using the `add-test` skill
29
29
  6. **Field-test definitions** — exercise tools/resources/prompts with real inputs using the `field-test` skill, get a report of issues and pain points
@@ -54,7 +54,7 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
54
54
  - **Logic throws, framework catches.** Tool/resource handlers are pure — throw on failure, no `try/catch`. Plain `Error` is fine; the framework catches, classifies, and formats. Use error factories (`notFound()`, `validationError()`, etc.) when the error code matters.
55
55
  - **Use `ctx.log`** for request-scoped logging. No `console` calls.
56
56
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
57
- - **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
57
+ - **Need input the caller didn't supply?** `return ctx.requestInput(...)` and read `ctx.inputs` when the handler is re-entered. Never `await` for user input mid-handler.
58
58
  - **Secrets in env vars only** — never hardcoded.
59
59
  - **All tools are read-only.** Every tool gets `annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true }`.
60
60
  - **API key stays out of logs.** The service appends `api_key` as a query param — never log full URLs.
@@ -174,11 +174,12 @@ Four services. `CongressApiService` backs nine tools and the House branch of `co
174
174
  - Party totals are derived from the roster (the feed publishes none)
175
175
 
176
176
  **`CongressDocumentsService`** — reads the document bodies behind Congress.gov's format URLs (`www.congress.gov`):
177
- - A second host, so a sibling service rather than a method on `CongressApiService` — no API key, no JSON, documents past a megabyte
177
+ - A second host, so a sibling service rather than a method on `CongressApiService` — no API key, no JSON, and enrolled omnibus bills that run to ten megabytes
178
178
  - URLs are resolved from upstream format metadata and checked against a `www.congress.gov` allowlist; a caller never supplies one
179
- - The fetch is bounded: a 5 MB ceiling (refused on `Content-Length`, else mid-stream), a 30s deadline, and a content-type allowlist
179
+ - The fetch is bounded: a 25 MB ceiling (refused on `Content-Length`, else mid-stream), a 30s deadline, and a content-type allowlist
180
+ - The body is extracted as it streams and only the requested window is retained, so a read's live set is flat in the size of the document (transient allocation is not — peak RSS runs above a buffered read); the ceiling bounds how long a response may run, not how much of one fits in a buffer
180
181
  - The response is bounded by an exact character window — offsets index the extracted plain text and are never snapped to section breaks, so feeding `nextOffset` back walks a document with no overlap and no gap
181
- - `extract-text.ts` unwraps GPO's `<pre>` print output verbatim (whitespace is the document's structure) and decodes entities in one pass
182
+ - `extract-text.ts` unwraps GPO's `<pre>` print output verbatim (whitespace is the document's structure) and decodes entities in one pass; `extract-text-stream.ts` is its incremental twin, pinned byte-for-byte against it by a differential test
182
183
 
183
184
  **`CongressMirrorService`** — local SQLite FTS5 mirror of bill title + CRS summary text, backing `congressgov_search_bills` only:
184
185
  - Opt-in via `CONGRESS_MIRROR_ENABLED` (off by default); built out-of-band via the `mirror:init`/`mirror:refresh` scripts, never on server startup
@@ -261,7 +262,6 @@ Available skills:
261
262
  | `tool-defs-analysis` | Read-only audit of MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
262
263
  | `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
263
264
  | `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
264
- | `devcheck` | Lint, format, typecheck, audit |
265
265
  | `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
266
266
  | `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
267
267
  | `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
@@ -270,7 +270,7 @@ Available skills:
270
270
  | `report-issue-local` | File bugs/features against this server's repo |
271
271
  | `api-auth` | Auth modes, scopes, JWT/OAuth |
272
272
  | `api-config` | AppConfig, parseConfig, env vars |
273
- | `api-context` | Context interface, logger, state, progress |
273
+ | `api-context` | Context interface, RequestContext, logger, state, multi-round-trip input |
274
274
  | `api-errors` | McpError, JsonRpcErrorCode, error patterns |
275
275
  | `api-linter` | MCP definition linter rules reference — look up `format-parity`, `schema-*`, `name-*`, `server-json-*` diagnostics |
276
276
  | `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper — Tier 3 opt-in |
@@ -298,7 +298,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
298
298
  | `bun run audit:refresh` | Delete `bun.lock`, reinstall, re-audit. Use when `devcheck` flags a transitive advisory — stale lockfile can mask already-patched deps. If advisory survives, it's real. |
299
299
  | `bun run tree` | Generate directory structure doc |
300
300
  | `bun run list-skills` | List available skills from `.claude/skills/` or `skills/` |
301
- | `bun run format` | Auto-fix formatting |
301
+ | `bun run format` | Auto-fix formatting (safe fixes only) |
302
+ | `bun run format:unsafe` | Also apply Biome's unsafe autofixes — review the diff; they can change behavior |
302
303
  | `bun run lint:mcp` | Validate MCP tool/resource/prompt definitions |
303
304
  | `bun run lint:packaging` | Validate env var alignment between `manifest.json` and `server.json` |
304
305
  | `bun run bundle` | Build and pack as `.mcpb` for one-click Claude Desktop install |
@@ -315,7 +316,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
315
316
 
316
317
  ## Bundling
317
318
 
318
- `bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. MCPB is stdio-only — HTTP deployments are unaffected. The bundle file ships as `dist/congressgov-mcp-server.mcpb`.
319
+ `bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. The pack step is followed by `scripts/clean-mcpb.ts`, which prunes dev dependencies (`mcpb clean`) and strips two classes of `node_modules/**` content that root-anchored `.mcpbignore` patterns cannot reach: dependency-shipped agent docs (`skills/`, `.claude/`, `.agents/`, `SKILL.md`) and platform-specific native bindings, which would otherwise lock the bundle to the platform it was packed on. MCPB is stdio-only — HTTP deployments are unaffected. The bundle file ships as `dist/congressgov-mcp-server.mcpb`.
319
320
 
320
321
  **Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
321
322
 
@@ -331,17 +332,21 @@ Each per-version file opens with YAML frontmatter:
331
332
  ---
332
333
  summary: One-line headline, ≤350 chars # required — powers the rollup index
333
334
  breaking: false # optional — true flags breaking changes
334
- security: false # optional — true flags security fixes
335
+ security: false # optional — true ONLY for a source-code security fix, never a dependency CVE bump
335
336
  ---
336
337
 
337
338
  # 0.3.14 — YYYY-MM-DD
338
339
  ...
339
340
  ```
340
341
 
341
- `breaking: true` renders a `· ⚠️ Breaking` badge — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames). `security: true` renders a `· 🛡️ Security` badge and pairs with a `## Security` body section. When both are set, badges render `· ⚠️ Breaking · 🛡️ Security`.
342
+ `breaking: true` renders a `· ⚠️ Breaking` badge — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames). `security: true` renders a `· 🛡️ Security` badge and pairs with a `## Security` body section — set it only for a security fix in this server's *own source code*, never for a routine dependency or transitive CVE bump (record those under `## Dependencies`). When both are set, badges render `· ⚠️ Breaking · 🛡️ Security`.
342
343
 
343
344
  `agent-notes` is an optional free-form field for maintenance agents processing the release downstream. Content here won't appear in the rendered CHANGELOG — it's consumed by agents running the `maintenance` skill. Use it for adoption instructions that don't fit the human-facing sections: new files to create, fields to populate, one-time migration steps. Omit entirely when there's nothing to say.
344
345
 
346
+ **Section order** (Keep a Changelog): Added, Changed, Deprecated, Removed, Fixed, Security. Include only sections with entries — don't ship empty headers.
347
+
348
+ **Tag annotations** render as GitHub Release bodies via `--notes-from-tag`. They must be structured markdown — never a flat comma-separated string. Subject omits the version number (GitHub prepends it). See `changelog/template.md` for the full format reference.
349
+
345
350
  ---
346
351
 
347
352
  ## Publishing
package/CLAUDE.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** congressgov-mcp-server
4
- **Version:** 0.5.0
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.11.5`
4
+ **Version:** 0.5.2
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.12.3`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
- **MCP SDK:** `@modelcontextprotocol/sdk` ^1.30.0
7
+ **MCP SDK:** `@modelcontextprotocol/server` + `@modelcontextprotocol/client` ^2.0.0
8
8
  **Zod:** ^4.4.3
9
9
 
10
10
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
@@ -23,7 +23,7 @@ When the user asks what to do next, what's left, or needs direction, suggest rel
23
23
 
24
24
  1. **Re-run the `setup` skill** — ensures CLAUDE.md, skills, structure, and metadata are populated and up to date with the current codebase
25
25
  2. **Run the `design-mcp-server` skill** — if the tool/resource surface hasn't been mapped yet, work through domain design
26
- 3. **Add tools/resources/prompts** — scaffold new definitions using the `add-tool`, `add-resource`, `add-prompt` skills
26
+ 3. **Add tools/resources/prompts** — scaffold new definitions using the `add-tool`, `add-app-tool`, `add-resource`, `add-prompt` skills
27
27
  4. **Add services** — scaffold domain service integrations using the `add-service` skill
28
28
  5. **Add tests** — scaffold tests for existing definitions using the `add-test` skill
29
29
  6. **Field-test definitions** — exercise tools/resources/prompts with real inputs using the `field-test` skill, get a report of issues and pain points
@@ -54,7 +54,7 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
54
54
  - **Logic throws, framework catches.** Tool/resource handlers are pure — throw on failure, no `try/catch`. Plain `Error` is fine; the framework catches, classifies, and formats. Use error factories (`notFound()`, `validationError()`, etc.) when the error code matters.
55
55
  - **Use `ctx.log`** for request-scoped logging. No `console` calls.
56
56
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
57
- - **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
57
+ - **Need input the caller didn't supply?** `return ctx.requestInput(...)` and read `ctx.inputs` when the handler is re-entered. Never `await` for user input mid-handler.
58
58
  - **Secrets in env vars only** — never hardcoded.
59
59
  - **All tools are read-only.** Every tool gets `annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true }`.
60
60
  - **API key stays out of logs.** The service appends `api_key` as a query param — never log full URLs.
@@ -174,11 +174,12 @@ Four services. `CongressApiService` backs nine tools and the House branch of `co
174
174
  - Party totals are derived from the roster (the feed publishes none)
175
175
 
176
176
  **`CongressDocumentsService`** — reads the document bodies behind Congress.gov's format URLs (`www.congress.gov`):
177
- - A second host, so a sibling service rather than a method on `CongressApiService` — no API key, no JSON, documents past a megabyte
177
+ - A second host, so a sibling service rather than a method on `CongressApiService` — no API key, no JSON, and enrolled omnibus bills that run to ten megabytes
178
178
  - URLs are resolved from upstream format metadata and checked against a `www.congress.gov` allowlist; a caller never supplies one
179
- - The fetch is bounded: a 5 MB ceiling (refused on `Content-Length`, else mid-stream), a 30s deadline, and a content-type allowlist
179
+ - The fetch is bounded: a 25 MB ceiling (refused on `Content-Length`, else mid-stream), a 30s deadline, and a content-type allowlist
180
+ - The body is extracted as it streams and only the requested window is retained, so a read's live set is flat in the size of the document (transient allocation is not — peak RSS runs above a buffered read); the ceiling bounds how long a response may run, not how much of one fits in a buffer
180
181
  - The response is bounded by an exact character window — offsets index the extracted plain text and are never snapped to section breaks, so feeding `nextOffset` back walks a document with no overlap and no gap
181
- - `extract-text.ts` unwraps GPO's `<pre>` print output verbatim (whitespace is the document's structure) and decodes entities in one pass
182
+ - `extract-text.ts` unwraps GPO's `<pre>` print output verbatim (whitespace is the document's structure) and decodes entities in one pass; `extract-text-stream.ts` is its incremental twin, pinned byte-for-byte against it by a differential test
182
183
 
183
184
  **`CongressMirrorService`** — local SQLite FTS5 mirror of bill title + CRS summary text, backing `congressgov_search_bills` only:
184
185
  - Opt-in via `CONGRESS_MIRROR_ENABLED` (off by default); built out-of-band via the `mirror:init`/`mirror:refresh` scripts, never on server startup
@@ -261,7 +262,6 @@ Available skills:
261
262
  | `tool-defs-analysis` | Read-only audit of MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
262
263
  | `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
263
264
  | `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
264
- | `devcheck` | Lint, format, typecheck, audit |
265
265
  | `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
266
266
  | `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
267
267
  | `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
@@ -270,7 +270,7 @@ Available skills:
270
270
  | `report-issue-local` | File bugs/features against this server's repo |
271
271
  | `api-auth` | Auth modes, scopes, JWT/OAuth |
272
272
  | `api-config` | AppConfig, parseConfig, env vars |
273
- | `api-context` | Context interface, logger, state, progress |
273
+ | `api-context` | Context interface, RequestContext, logger, state, multi-round-trip input |
274
274
  | `api-errors` | McpError, JsonRpcErrorCode, error patterns |
275
275
  | `api-linter` | MCP definition linter rules reference — look up `format-parity`, `schema-*`, `name-*`, `server-json-*` diagnostics |
276
276
  | `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper — Tier 3 opt-in |
@@ -298,7 +298,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
298
298
  | `bun run audit:refresh` | Delete `bun.lock`, reinstall, re-audit. Use when `devcheck` flags a transitive advisory — stale lockfile can mask already-patched deps. If advisory survives, it's real. |
299
299
  | `bun run tree` | Generate directory structure doc |
300
300
  | `bun run list-skills` | List available skills from `.claude/skills/` or `skills/` |
301
- | `bun run format` | Auto-fix formatting |
301
+ | `bun run format` | Auto-fix formatting (safe fixes only) |
302
+ | `bun run format:unsafe` | Also apply Biome's unsafe autofixes — review the diff; they can change behavior |
302
303
  | `bun run lint:mcp` | Validate MCP tool/resource/prompt definitions |
303
304
  | `bun run lint:packaging` | Validate env var alignment between `manifest.json` and `server.json` |
304
305
  | `bun run bundle` | Build and pack as `.mcpb` for one-click Claude Desktop install |
@@ -315,7 +316,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
315
316
 
316
317
  ## Bundling
317
318
 
318
- `bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. MCPB is stdio-only — HTTP deployments are unaffected. The bundle file ships as `dist/congressgov-mcp-server.mcpb`.
319
+ `bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. The pack step is followed by `scripts/clean-mcpb.ts`, which prunes dev dependencies (`mcpb clean`) and strips two classes of `node_modules/**` content that root-anchored `.mcpbignore` patterns cannot reach: dependency-shipped agent docs (`skills/`, `.claude/`, `.agents/`, `SKILL.md`) and platform-specific native bindings, which would otherwise lock the bundle to the platform it was packed on. MCPB is stdio-only — HTTP deployments are unaffected. The bundle file ships as `dist/congressgov-mcp-server.mcpb`.
319
320
 
320
321
  **Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
321
322
 
@@ -331,17 +332,21 @@ Each per-version file opens with YAML frontmatter:
331
332
  ---
332
333
  summary: One-line headline, ≤350 chars # required — powers the rollup index
333
334
  breaking: false # optional — true flags breaking changes
334
- security: false # optional — true flags security fixes
335
+ security: false # optional — true ONLY for a source-code security fix, never a dependency CVE bump
335
336
  ---
336
337
 
337
338
  # 0.3.14 — YYYY-MM-DD
338
339
  ...
339
340
  ```
340
341
 
341
- `breaking: true` renders a `· ⚠️ Breaking` badge — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames). `security: true` renders a `· 🛡️ Security` badge and pairs with a `## Security` body section. When both are set, badges render `· ⚠️ Breaking · 🛡️ Security`.
342
+ `breaking: true` renders a `· ⚠️ Breaking` badge — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames). `security: true` renders a `· 🛡️ Security` badge and pairs with a `## Security` body section — set it only for a security fix in this server's *own source code*, never for a routine dependency or transitive CVE bump (record those under `## Dependencies`). When both are set, badges render `· ⚠️ Breaking · 🛡️ Security`.
342
343
 
343
344
  `agent-notes` is an optional free-form field for maintenance agents processing the release downstream. Content here won't appear in the rendered CHANGELOG — it's consumed by agents running the `maintenance` skill. Use it for adoption instructions that don't fit the human-facing sections: new files to create, fields to populate, one-time migration steps. Omit entirely when there's nothing to say.
344
345
 
346
+ **Section order** (Keep a Changelog): Added, Changed, Deprecated, Removed, Fixed, Security. Include only sections with entries — don't ship empty headers.
347
+
348
+ **Tag annotations** render as GitHub Release bodies via `--notes-from-tag`. They must be structured markdown — never a flat comma-separated string. Subject omits the version number (GitHub prepends it). See `changelog/template.md` for the full format reference.
349
+
345
350
  ---
346
351
 
347
352
  ## Publishing
package/Dockerfile CHANGED
@@ -4,7 +4,12 @@
4
4
  # This stage installs all dependencies (including dev), builds the TypeScript
5
5
  # source code into JavaScript, and prepares the production assets.
6
6
  # ==============================================================================
7
- FROM oven/bun:1.3.14 AS build
7
+ # Pinned to $BUILDPLATFORM: bun >= 1.4 aborts under QEMU user-mode emulation, so
8
+ # leaving the build stage on the target platform kills the linux/amd64 leg of a
9
+ # multi-arch buildx run on an arm64 host. This stage only runs tsc and emits
10
+ # architecture-independent JavaScript, and the production stage installs its own
11
+ # dependencies natively, so building it on the host architecture is safe.
12
+ FROM --platform=$BUILDPLATFORM oven/bun:1.4.0 AS build
8
13
 
9
14
  WORKDIR /usr/src/app
10
15
 
@@ -34,7 +39,7 @@ RUN bun run build
34
39
  # application. It uses a slim base image and only includes production
35
40
  # dependencies and build artifacts.
36
41
  # ==============================================================================
37
- FROM oven/bun:1.3.14-slim AS production
42
+ FROM oven/bun:1.4.0-slim AS production
38
43
 
39
44
  WORKDIR /usr/src/app
40
45
 
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.5.0-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/congressgov-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.30.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/congressgov-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/congressgov-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.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.5.2-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/congressgov-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/congressgov-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/congressgov-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.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -251,6 +251,7 @@ All configuration is validated at startup via Zod schemas in `src/config/server-
251
251
  | `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http` | `stdio` |
252
252
  | `MCP_HTTP_PORT` | HTTP server port | `3010` |
253
253
  | `MCP_AUTH_MODE` | Authentication: `none`, `jwt`, or `oauth` | `none` |
254
+ | `MCP_SESSION_MODE` | HTTP session mode: `auto`, `stateful`, or `stateless`. This server holds no per-session state; the Docker image runs `stateless`. | `auto` (resolves to `stateful`) |
254
255
  | `MCP_LOG_LEVEL` | Log level (`debug`, `info`, `warning`, `error`, etc.) | `info` |
255
256
  | `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |
256
257
  | `STORAGE_PROVIDER_TYPE` | Storage backend | `in-memory` |
package/dist/index.js CHANGED
@@ -37,9 +37,31 @@ const REPO_ROOT = 'https://github.com/cyanheads/congressgov-mcp-server';
37
37
  */
38
38
  const srcUrl = (kind, file) => `${REPO_ROOT}/blob/main/src/mcp-server/${kind}/definitions/${file}`;
39
39
  const withSource = (def, kind, file) => ({ ...def, sourceUrl: srcUrl(kind, file) });
40
+ /**
41
+ * Cache hints for the 2026-07-28 cacheable results. 2025-era responses are
42
+ * unaffected — the hint rides a symbol-keyed property that never serializes.
43
+ *
44
+ * The catalog (tools, prompts, resources, server card) is fixed for the life of
45
+ * the process — the one variable is the `CONGRESS_MIRROR_ENABLED` gate on
46
+ * `congressgov_search_bills`, a deployment-level env var — and no definition
47
+ * declares auth scopes, so every client of a deployment sees the same list:
48
+ * `public` is safe. The `resources/read` entry covers the three live resources
49
+ * (member, bill, committee), whose upstream records accrue actions through the
50
+ * legislative day; the two reference resources override it field by field.
51
+ */
52
+ const CATALOG_TTL_MS = 3_600_000;
53
+ const cacheHints = {
54
+ 'tools/list': { ttlMs: CATALOG_TTL_MS, cacheScope: 'public' },
55
+ 'prompts/list': { ttlMs: CATALOG_TTL_MS, cacheScope: 'public' },
56
+ 'resources/list': { ttlMs: CATALOG_TTL_MS, cacheScope: 'public' },
57
+ 'resources/templates/list': { ttlMs: CATALOG_TTL_MS, cacheScope: 'public' },
58
+ 'server/discover': { ttlMs: CATALOG_TTL_MS, cacheScope: 'public' },
59
+ 'resources/read': { ttlMs: 300_000, cacheScope: 'public' },
60
+ };
40
61
  await createApp({
41
62
  name: 'congressgov-mcp-server',
42
63
  title: 'congressgov-mcp-server',
64
+ cacheHints,
43
65
  tools: [
44
66
  withSource(billLookupTool, 'tools', 'bill-lookup.tool.ts'),
45
67
  withSource(enactedLawsTool, 'tools', 'enacted-laws.tool.ts'),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bill-types.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/bill-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,eAAO,MAAM,iBAAiB;;wDAc5B,CAAC"}
1
+ {"version":3,"file":"bill-types.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/bill-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,eAAO,MAAM,iBAAiB;;wDAgB5B,CAAC"}
@@ -32,6 +32,8 @@ export const billTypesResource = resource('congress://bill-types', {
32
32
  name: 'bill-types',
33
33
  description: 'Reference table of valid bill type codes (hr, s, hjres, etc.) with descriptions.',
34
34
  mimeType: 'application/json',
35
+ /** Fixed by chamber rules and served from this file — no upstream call, nothing that goes stale within a day. */
36
+ cacheHint: { ttlMs: 86_400_000, cacheScope: 'public' },
35
37
  list: async () => ({
36
38
  resources: [
37
39
  { uri: 'congress://bill-types', name: 'Bill Type Codes', mimeType: 'application/json' },
@@ -1 +1 @@
1
- {"version":3,"file":"bill-types.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/bill-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,UAAU,GAAG;IACjB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;IACjF,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;IAChF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE;IACjG;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,YAAY;KACtB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,cAAc;KACxB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,cAAc;KACxB;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;IAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;CAClG,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,uBAAuB,EAAE;IACjE,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,kFAAkF;IAC/F,QAAQ,EAAE,kBAAkB;IAE5B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACxF;KACF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"bill-types.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/bill-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,UAAU,GAAG;IACjB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;IACjF,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;IAChF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE;IACjG;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,YAAY;KACtB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,cAAc;KACxB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,cAAc;KACxB;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;IAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;CAClG,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,uBAAuB,EAAE;IACjE,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,kFAAkF;IAC/F,QAAQ,EAAE,kBAAkB;IAC5B,iHAAiH;IACjH,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;IAEtD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACxF;KACF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"current-congress.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/current-congress.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,uBAAuB;;wDAkBlC,CAAC"}
1
+ {"version":3,"file":"current-congress.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/current-congress.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,uBAAuB;;wDAoBlC,CAAC"}
@@ -8,6 +8,8 @@ export const currentCongressResource = resource('congress://current', {
8
8
  name: 'current-congress',
9
9
  description: 'Current congress number, session dates, and chamber info. Baseline context for queries.',
10
10
  mimeType: 'application/json',
11
+ /** The congress number turns over every two years and the session dates at a session boundary — an hour is well inside either. */
12
+ cacheHint: { ttlMs: 3_600_000, cacheScope: 'public' },
11
13
  list: async () => ({
12
14
  resources: [
13
15
  { uri: 'congress://current', name: 'Current Congress', mimeType: 'application/json' },
@@ -1 +1 @@
1
- {"version":3,"file":"current-congress.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/current-congress.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,EAAE;IACpE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,yFAAyF;IAC3F,QAAQ,EAAE,kBAAkB;IAE5B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACtF;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG;QACxB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"current-congress.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/current-congress.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,EAAE;IACpE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,yFAAyF;IAC3F,QAAQ,EAAE,kBAAkB;IAC5B,kIAAkI;IAClI,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;IAErD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACtF;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG;QACxB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"}
@@ -98,7 +98,7 @@ export declare const billLookupTool: import("@cyanheads/mcp-ts-core").ToolDefini
98
98
  readonly reason: 'document_too_large';
99
99
  readonly retryable: false;
100
100
  readonly when: 'The document is larger than the byte ceiling this server retrieves, so no character window can be served from it.';
101
- readonly recovery: "Request the other 'format' for this document, which is usually far smaller, or read it directly at the sourceUrl the text operation returns.";
101
+ readonly recovery: 'Read the document at the sourceUrl the text operation returns. A document this size clears the ceiling in every format it publishes, so switching format reaches the same limit.';
102
102
  }, {
103
103
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InvalidParams;
104
104
  readonly reason: 'offset_past_end';
@@ -78,7 +78,7 @@ export declare const committeeReportsTool: import("@cyanheads/mcp-ts-core").Tool
78
78
  readonly reason: 'document_too_large';
79
79
  readonly retryable: false;
80
80
  readonly when: 'The document is larger than the byte ceiling this server retrieves, so no character window can be served from it.';
81
- readonly recovery: "Request the other 'format' for this document, which is usually far smaller, or read it directly at the sourceUrl the text operation returns.";
81
+ readonly recovery: 'Read the document at the sourceUrl the text operation returns. A document this size clears the ceiling in every format it publishes, so switching format reaches the same limit.';
82
82
  }, {
83
83
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InvalidParams;
84
84
  readonly reason: 'offset_past_end';
@@ -74,7 +74,7 @@ export declare const dailyRecordTool: import("@cyanheads/mcp-ts-core").ToolDefin
74
74
  readonly reason: 'document_too_large';
75
75
  readonly retryable: false;
76
76
  readonly when: 'The document is larger than the byte ceiling this server retrieves, so no character window can be served from it.';
77
- readonly recovery: "Request the other 'format' for this document, which is usually far smaller, or read it directly at the sourceUrl the text operation returns.";
77
+ readonly recovery: 'Read the document at the sourceUrl the text operation returns. A document this size clears the ceiling in every format it publishes, so switching format reaches the same limit.';
78
78
  }, {
79
79
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InvalidParams;
80
80
  readonly reason: 'offset_past_end';
@@ -195,7 +195,7 @@ export declare const documentErrorContracts: readonly [{
195
195
  readonly reason: 'document_too_large';
196
196
  readonly retryable: false;
197
197
  readonly when: 'The document is larger than the byte ceiling this server retrieves, so no character window can be served from it.';
198
- readonly recovery: "Request the other 'format' for this document, which is usually far smaller, or read it directly at the sourceUrl the text operation returns.";
198
+ readonly recovery: 'Read the document at the sourceUrl the text operation returns. A document this size clears the ceiling in every format it publishes, so switching format reaches the same limit.';
199
199
  }, {
200
200
  readonly code: JsonRpcErrorCode.InvalidParams;
201
201
  readonly reason: 'offset_past_end';
@@ -1 +1 @@
1
- {"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/tool-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAEL,gBAAgB,EAEjB,MAAM,+BAA+B,CAAC;AAqCvC,8DAA8D;AAC9D,eAAO,MAAM,UAAU;;;;;;iBAKP,CAAC;AAEjB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;kBASnE;AAQD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,mDAapD;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEjE;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,mDAatD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc5E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGrF;AAiCD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUhG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,IAAI,CAQN;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc;IACzB,cAAc;IACd,UAAU;IACV,MAAM;CAIP,CAAC;AAEF;;;GAGG;AACH,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IACzB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQ5F;AAED,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB;IAC9B,MAAM;;;;IAMN,eAAe;IAQf,cAAc;CASf,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;qBAGvB,sBAAsB;;mBAExB,qOAAqO;uBAEzO,0JAA0J;;;qBAIpJ,oBAAoB;;mBAEtB,kLAAkL;uBAEtL,wKAAwK;;;qBAIlK,uBAAuB;;mBAEzB,sJAAsJ;uBAE1J,kJAAkJ;;;qBAI5I,oBAAoB;;mBAEtB,mHAAmH;uBAEvH,8IAA8I;;;qBAIxI,iBAAiB;;mBAEnB,mGAAmG;uBAEvG,0HAA0H;EAEnF,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;qBAGvB,WAAW;;mBAEb,kGAAkG;uBAEtG,yGAAyG;;;qBAInG,cAAc;;mBAEhB,6EAA6E;uBAEjF,kGAAkG;;;qBAI5F,iBAAiB;;mBAEnB,8GAA8G;uBAElH,8HAA8H;;;qBAIxH,gBAAgB;;mBAElB,4EAA4E;uBAEhF,0GAA0G;EAEnE,CAAC"}
1
+ {"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/tool-helpers.ts"],"names":[],"mappings":"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"}
@@ -336,7 +336,7 @@ export const documentErrorContracts = [
336
336
  reason: 'document_too_large',
337
337
  retryable: false,
338
338
  when: 'The document is larger than the byte ceiling this server retrieves, so no character window can be served from it.',
339
- recovery: "Request the other 'format' for this document, which is usually far smaller, or read it directly at the sourceUrl the text operation returns.",
339
+ recovery: 'Read the document at the sourceUrl the text operation returns. A document this size clears the ceiling in every format it publishes, so switching format reaches the same limit.',
340
340
  },
341
341
  {
342
342
  code: JsonRpcErrorCode.InvalidParams,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-helpers.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/tool-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-helpers.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/tool-helpers.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,11 @@ export declare class CongressApiService {
73
73
  * an array and a sibling object — see `extractSubjectItems`.
74
74
  */
75
75
  private extractListItems;
76
+ /**
77
+ * Derive the context the network helpers log and report against. `Context`
78
+ * extends `RequestContext`, so the handler's own context is the parent — the
79
+ * request ID carries through and only the operation label is per-call.
80
+ */
76
81
  private getRequestContext;
77
82
  private getAbortSignal;
78
83
  private fetchResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"congress-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/congress-api/congress-api-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"congress-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/congress-api/congress-api-service.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * @module services/congress-api/congress-api-service
4
4
  */
5
5
  import { invalidParams, JsonRpcErrorCode, McpError, notFound, rateLimited, serviceUnavailable, } from '@cyanheads/mcp-ts-core/errors';
6
- import { fetchWithTimeout, withRetry } from '@cyanheads/mcp-ts-core/utils';
6
+ import { fetchWithTimeout, requestContextService, withRetry } from '@cyanheads/mcp-ts-core/utils';
7
7
  import { getServerConfig } from '../../config/server-config.js';
8
8
  function isApiRecord(value) {
9
9
  return typeof value === 'object' && value !== null;
@@ -558,11 +558,16 @@ export class CongressApiService {
558
558
  const nested = Object.values(raw).find(Array.isArray) ?? [];
559
559
  return nested.filter(isApiRecord);
560
560
  }
561
+ /**
562
+ * Derive the context the network helpers log and report against. `Context`
563
+ * extends `RequestContext`, so the handler's own context is the parent — the
564
+ * request ID carries through and only the operation label is per-call.
565
+ */
561
566
  getRequestContext(ctx, operation) {
562
- const ctxRecord = ctx;
563
- const requestId = typeof ctxRecord?.requestId === 'string' ? ctxRecord.requestId : 'congress-api-service';
564
- const timestamp = typeof ctxRecord?.timestamp === 'string' ? ctxRecord.timestamp : new Date().toISOString();
565
- return { operation, requestId, timestamp };
567
+ return requestContextService.createRequestContext({
568
+ operation,
569
+ ...(ctx ? { parentContext: ctx } : {}),
570
+ });
566
571
  }
567
572
  getAbortSignal(ctx) {
568
573
  const signal = ctx?.signal;