@cyanheads/congressgov-mcp-server 0.3.13 → 0.3.15
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/AGENTS.md +43 -7
- package/CLAUDE.md +43 -7
- package/Dockerfile +2 -2
- package/README.md +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/resources/definitions/bill-types.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/bill-types.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/bill.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/bill.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/committee.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/committee.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/current-congress.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/current-congress.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/member.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/member.resource.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/bill-summaries.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/bill-summaries.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/committee-lookup.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/committee-lookup.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/crs-reports.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/crs-reports.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/enacted-laws.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/enacted-laws.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/member-lookup.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/member-lookup.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/senate-nominations.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/senate-nominations.tool.d.ts.map +1 -1
- package/package.json +10 -8
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** congressgov-mcp-server
|
|
4
|
-
**Version:** 0.3.
|
|
4
|
+
**Version:** 0.3.15
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
|
|
6
6
|
|
|
7
7
|
> **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.
|
|
@@ -25,8 +25,9 @@ When the user asks what to do next, what's left, or needs direction, suggest rel
|
|
|
25
25
|
5. **Add tests** — scaffold tests for existing definitions using the `add-test` skill
|
|
26
26
|
6. **Field-test definitions** — exercise tools/resources/prompts with real inputs using the `field-test` skill, get a report of issues and pain points
|
|
27
27
|
7. **Run `devcheck`** — lint, format, typecheck, and security audit
|
|
28
|
-
8. **Run the `
|
|
29
|
-
9. **Run the `
|
|
28
|
+
8. **Run the `security-pass` skill** — audit handlers for MCP-specific security gaps: output injection, scope blast radius, input sinks, tenant isolation
|
|
29
|
+
9. **Run the `polish-docs-meta` skill** — finalize README, CHANGELOG, metadata, and agent protocol for shipping
|
|
30
|
+
10. **Run the `maintenance` skill** — investigate changelogs, adopt upstream changes, and sync skills after `bun update --latest`
|
|
30
31
|
|
|
31
32
|
Tailor suggestions to what's actually missing or stale — don't recite the full list every time.
|
|
32
33
|
|
|
@@ -193,7 +194,7 @@ import { getServerConfig } from '@/config/server-config.js';
|
|
|
193
194
|
|
|
194
195
|
Skills are modular instructions in `skills/` at the project root. Read them directly when a task matches — e.g., `skills/add-tool/SKILL.md` when adding a tool.
|
|
195
196
|
|
|
196
|
-
**Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, re-
|
|
197
|
+
**Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, run the `maintenance` skill — it re-syncs the agent directory automatically (Phase B).
|
|
197
198
|
|
|
198
199
|
Available skills:
|
|
199
200
|
|
|
@@ -202,24 +203,31 @@ Available skills:
|
|
|
202
203
|
| `setup` | Post-init project orientation |
|
|
203
204
|
| `design-mcp-server` | Design tool surface, resources, and services for a new server |
|
|
204
205
|
| `add-tool` | Scaffold a new tool definition |
|
|
206
|
+
| `add-app-tool` | Scaffold an MCP App tool + paired UI resource |
|
|
205
207
|
| `add-resource` | Scaffold a new resource definition |
|
|
206
208
|
| `add-prompt` | Scaffold a new prompt definition |
|
|
207
209
|
| `add-service` | Scaffold a new service integration |
|
|
208
210
|
| `add-test` | Scaffold test file for a tool, resource, or service |
|
|
209
211
|
| `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
|
|
212
|
+
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
210
213
|
| `devcheck` | Lint, format, typecheck, audit |
|
|
211
214
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
212
|
-
| `maintenance` |
|
|
215
|
+
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
216
|
+
| `release-and-publish` | Post-wrapup ship workflow: verification gate, push, publish to npm/MCP Registry/GHCR |
|
|
213
217
|
| `report-issue-framework` | File bugs/features against `@cyanheads/mcp-ts-core` |
|
|
214
218
|
| `report-issue-local` | File bugs/features against this server's repo |
|
|
215
219
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
216
220
|
| `api-config` | AppConfig, parseConfig, env vars |
|
|
217
221
|
| `api-context` | Context interface, logger, state, progress |
|
|
218
222
|
| `api-errors` | McpError, JsonRpcErrorCode, error patterns |
|
|
223
|
+
| `api-linter` | MCP definition linter rules reference — look up `format-parity`, `schema-*`, `name-*`, `server-json-*` diagnostics |
|
|
224
|
+
| `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper — Tier 3 opt-in |
|
|
219
225
|
| `api-services` | LLM, Speech, Graph services |
|
|
226
|
+
| `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
|
|
220
227
|
| `api-testing` | createMockContext, test patterns |
|
|
221
|
-
| `api-utils` | Formatting, parsing, security, pagination, scheduling |
|
|
228
|
+
| `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
|
|
222
229
|
| `api-workers` | Cloudflare Workers runtime |
|
|
230
|
+
| `tool-defs-analysis` | Audit MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
|
|
223
231
|
|
|
224
232
|
When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
|
|
225
233
|
|
|
@@ -236,6 +244,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
236
244
|
| `bun run tree` | Generate directory structure doc |
|
|
237
245
|
| `bun run format` | Auto-fix formatting |
|
|
238
246
|
| `bun run lint:mcp` | Validate MCP tool/resource/prompt definitions |
|
|
247
|
+
| `bun run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
|
|
248
|
+
| `bun run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
|
|
239
249
|
| `bun run test` | Run tests |
|
|
240
250
|
| `bun run dev:stdio` | Dev mode (stdio) |
|
|
241
251
|
| `bun run dev:http` | Dev mode (HTTP) |
|
|
@@ -244,6 +254,27 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
244
254
|
|
|
245
255
|
---
|
|
246
256
|
|
|
257
|
+
## Changelog
|
|
258
|
+
|
|
259
|
+
Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.3.x/0.3.13.md`) — one file per released version. At release time, author the per-version file with a concrete version and date, then run `bun run changelog:build` to regenerate the rollup. `changelog/template.md` is a **pristine format reference** — never edited, never renamed, never moved. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `bun run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
|
|
260
|
+
|
|
261
|
+
Each per-version file opens with YAML frontmatter:
|
|
262
|
+
|
|
263
|
+
```markdown
|
|
264
|
+
---
|
|
265
|
+
summary: One-line headline, ≤250 chars # required — powers the rollup index
|
|
266
|
+
breaking: false # optional — true flags breaking changes
|
|
267
|
+
security: false # optional — true flags security fixes
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
# 0.3.14 — YYYY-MM-DD
|
|
271
|
+
...
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
`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`.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
247
278
|
## Publishing
|
|
248
279
|
|
|
249
280
|
After a version bump and final commit, publish to both npm and GHCR:
|
|
@@ -263,10 +294,15 @@ Remind the user to run these after completing a release flow.
|
|
|
263
294
|
|
|
264
295
|
## Checklist
|
|
265
296
|
|
|
266
|
-
- [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`,
|
|
297
|
+
- [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`, `z.bigint()`, `z.symbol()`, `z.void()`, `z.map()`, `z.set()`, `z.function()`, `z.nan()`)
|
|
298
|
+
- [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`)
|
|
267
299
|
- [ ] JSDoc `@fileoverview` + `@module` on every file
|
|
268
300
|
- [ ] `ctx.log` for logging, `ctx.state` for storage
|
|
269
301
|
- [ ] Handlers throw on failure — error factories or plain `Error`, no try/catch
|
|
302
|
+
- [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (Claude Code → `structuredContent`, Claude Desktop → `content[]`); both must carry the same data
|
|
303
|
+
- [ ] Raw/domain/output schemas reviewed against real upstream sparsity/nullability before finalizing required vs optional fields
|
|
304
|
+
- [ ] Normalization and `format()` preserve uncertainty; do not fabricate facts from missing upstream Congress.gov data
|
|
305
|
+
- [ ] Tests include at least one sparse payload case with omitted upstream fields
|
|
270
306
|
- [ ] Registered in `createApp()` arrays (directly or via barrel exports)
|
|
271
307
|
- [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
|
|
272
308
|
- [ ] `bun run devcheck` passes
|
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** congressgov-mcp-server
|
|
4
|
-
**Version:** 0.3.
|
|
4
|
+
**Version:** 0.3.15
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
|
|
6
6
|
|
|
7
7
|
> **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.
|
|
@@ -25,8 +25,9 @@ When the user asks what to do next, what's left, or needs direction, suggest rel
|
|
|
25
25
|
5. **Add tests** — scaffold tests for existing definitions using the `add-test` skill
|
|
26
26
|
6. **Field-test definitions** — exercise tools/resources/prompts with real inputs using the `field-test` skill, get a report of issues and pain points
|
|
27
27
|
7. **Run `devcheck`** — lint, format, typecheck, and security audit
|
|
28
|
-
8. **Run the `
|
|
29
|
-
9. **Run the `
|
|
28
|
+
8. **Run the `security-pass` skill** — audit handlers for MCP-specific security gaps: output injection, scope blast radius, input sinks, tenant isolation
|
|
29
|
+
9. **Run the `polish-docs-meta` skill** — finalize README, CHANGELOG, metadata, and agent protocol for shipping
|
|
30
|
+
10. **Run the `maintenance` skill** — investigate changelogs, adopt upstream changes, and sync skills after `bun update --latest`
|
|
30
31
|
|
|
31
32
|
Tailor suggestions to what's actually missing or stale — don't recite the full list every time.
|
|
32
33
|
|
|
@@ -193,7 +194,7 @@ import { getServerConfig } from '@/config/server-config.js';
|
|
|
193
194
|
|
|
194
195
|
Skills are modular instructions in `skills/` at the project root. Read them directly when a task matches — e.g., `skills/add-tool/SKILL.md` when adding a tool.
|
|
195
196
|
|
|
196
|
-
**Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, re-
|
|
197
|
+
**Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, run the `maintenance` skill — it re-syncs the agent directory automatically (Phase B).
|
|
197
198
|
|
|
198
199
|
Available skills:
|
|
199
200
|
|
|
@@ -202,24 +203,31 @@ Available skills:
|
|
|
202
203
|
| `setup` | Post-init project orientation |
|
|
203
204
|
| `design-mcp-server` | Design tool surface, resources, and services for a new server |
|
|
204
205
|
| `add-tool` | Scaffold a new tool definition |
|
|
206
|
+
| `add-app-tool` | Scaffold an MCP App tool + paired UI resource |
|
|
205
207
|
| `add-resource` | Scaffold a new resource definition |
|
|
206
208
|
| `add-prompt` | Scaffold a new prompt definition |
|
|
207
209
|
| `add-service` | Scaffold a new service integration |
|
|
208
210
|
| `add-test` | Scaffold test file for a tool, resource, or service |
|
|
209
211
|
| `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
|
|
212
|
+
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
210
213
|
| `devcheck` | Lint, format, typecheck, audit |
|
|
211
214
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
212
|
-
| `maintenance` |
|
|
215
|
+
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
216
|
+
| `release-and-publish` | Post-wrapup ship workflow: verification gate, push, publish to npm/MCP Registry/GHCR |
|
|
213
217
|
| `report-issue-framework` | File bugs/features against `@cyanheads/mcp-ts-core` |
|
|
214
218
|
| `report-issue-local` | File bugs/features against this server's repo |
|
|
215
219
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
216
220
|
| `api-config` | AppConfig, parseConfig, env vars |
|
|
217
221
|
| `api-context` | Context interface, logger, state, progress |
|
|
218
222
|
| `api-errors` | McpError, JsonRpcErrorCode, error patterns |
|
|
223
|
+
| `api-linter` | MCP definition linter rules reference — look up `format-parity`, `schema-*`, `name-*`, `server-json-*` diagnostics |
|
|
224
|
+
| `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper — Tier 3 opt-in |
|
|
219
225
|
| `api-services` | LLM, Speech, Graph services |
|
|
226
|
+
| `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
|
|
220
227
|
| `api-testing` | createMockContext, test patterns |
|
|
221
|
-
| `api-utils` | Formatting, parsing, security, pagination, scheduling |
|
|
228
|
+
| `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
|
|
222
229
|
| `api-workers` | Cloudflare Workers runtime |
|
|
230
|
+
| `tool-defs-analysis` | Audit MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
|
|
223
231
|
|
|
224
232
|
When you complete a skill's checklist, check the boxes and add a completion timestamp at the end (e.g., `Completed: 2026-03-11`).
|
|
225
233
|
|
|
@@ -236,6 +244,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
236
244
|
| `bun run tree` | Generate directory structure doc |
|
|
237
245
|
| `bun run format` | Auto-fix formatting |
|
|
238
246
|
| `bun run lint:mcp` | Validate MCP tool/resource/prompt definitions |
|
|
247
|
+
| `bun run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
|
|
248
|
+
| `bun run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
|
|
239
249
|
| `bun run test` | Run tests |
|
|
240
250
|
| `bun run dev:stdio` | Dev mode (stdio) |
|
|
241
251
|
| `bun run dev:http` | Dev mode (HTTP) |
|
|
@@ -244,6 +254,27 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
244
254
|
|
|
245
255
|
---
|
|
246
256
|
|
|
257
|
+
## Changelog
|
|
258
|
+
|
|
259
|
+
Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.3.x/0.3.13.md`) — one file per released version. At release time, author the per-version file with a concrete version and date, then run `bun run changelog:build` to regenerate the rollup. `changelog/template.md` is a **pristine format reference** — never edited, never renamed, never moved. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `bun run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
|
|
260
|
+
|
|
261
|
+
Each per-version file opens with YAML frontmatter:
|
|
262
|
+
|
|
263
|
+
```markdown
|
|
264
|
+
---
|
|
265
|
+
summary: One-line headline, ≤250 chars # required — powers the rollup index
|
|
266
|
+
breaking: false # optional — true flags breaking changes
|
|
267
|
+
security: false # optional — true flags security fixes
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
# 0.3.14 — YYYY-MM-DD
|
|
271
|
+
...
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
`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`.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
247
278
|
## Publishing
|
|
248
279
|
|
|
249
280
|
After a version bump and final commit, publish to both npm and GHCR:
|
|
@@ -263,10 +294,15 @@ Remind the user to run these after completing a release flow.
|
|
|
263
294
|
|
|
264
295
|
## Checklist
|
|
265
296
|
|
|
266
|
-
- [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`,
|
|
297
|
+
- [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`, `z.bigint()`, `z.symbol()`, `z.void()`, `z.map()`, `z.set()`, `z.function()`, `z.nan()`)
|
|
298
|
+
- [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`)
|
|
267
299
|
- [ ] JSDoc `@fileoverview` + `@module` on every file
|
|
268
300
|
- [ ] `ctx.log` for logging, `ctx.state` for storage
|
|
269
301
|
- [ ] Handlers throw on failure — error factories or plain `Error`, no try/catch
|
|
302
|
+
- [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (Claude Code → `structuredContent`, Claude Desktop → `content[]`); both must carry the same data
|
|
303
|
+
- [ ] Raw/domain/output schemas reviewed against real upstream sparsity/nullability before finalizing required vs optional fields
|
|
304
|
+
- [ ] Normalization and `format()` preserve uncertainty; do not fabricate facts from missing upstream Congress.gov data
|
|
305
|
+
- [ ] Tests include at least one sparse payload case with omitted upstream fields
|
|
270
306
|
- [ ] Registered in `createApp()` arrays (directly or via barrel exports)
|
|
271
307
|
- [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
|
|
272
308
|
- [ ] `bun run devcheck` passes
|
package/Dockerfile
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
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 AS build
|
|
7
|
+
FROM oven/bun:1.3 AS build
|
|
8
8
|
|
|
9
9
|
WORKDIR /usr/src/app
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ RUN bun run build
|
|
|
28
28
|
# application. It uses a slim base image and only includes production
|
|
29
29
|
# dependencies and build artifacts.
|
|
30
30
|
# ==============================================================================
|
|
31
|
-
FROM oven/bun:1-slim AS production
|
|
31
|
+
FROM oven/bun:1.3-slim AS production
|
|
32
32
|
|
|
33
33
|
WORKDIR /usr/src/app
|
|
34
34
|
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/@cyanheads/congressgov-mcp-server) [](https://www.npmjs.com/package/@cyanheads/congressgov-mcp-server) [](./CHANGELOG.md) [](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [](https://modelcontextprotocol.io/)
|
|
11
11
|
|
|
12
12
|
[](./LICENSE) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
13
13
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
|
package/dist/index.js
CHANGED
|
@@ -22,27 +22,43 @@ import { memberLookupTool } from './mcp-server/tools/definitions/member-lookup.t
|
|
|
22
22
|
import { rollVotesTool } from './mcp-server/tools/definitions/roll-votes.tool.js';
|
|
23
23
|
import { senateNominationsTool } from './mcp-server/tools/definitions/senate-nominations.tool.js';
|
|
24
24
|
import { initCongressApi } from './services/congress-api/congress-api-service.js';
|
|
25
|
+
const REPO_ROOT = 'https://github.com/cyanheads/congressgov-mcp-server';
|
|
26
|
+
/**
|
|
27
|
+
* File names strip the `congressgov_` name prefix (e.g. `congressgov_bill_lookup` →
|
|
28
|
+
* `bill-lookup.tool.ts`), so the framework's kebab-of-name derivation doesn't match.
|
|
29
|
+
* This helper supplies the actual path as a sourceUrl override so the landing page
|
|
30
|
+
* view-source links resolve on GitHub.
|
|
31
|
+
*/
|
|
32
|
+
const srcUrl = (kind, file) => `${REPO_ROOT}/blob/main/src/mcp-server/${kind}/definitions/${file}`;
|
|
33
|
+
const withSource = (def, kind, file) => ({ ...def, sourceUrl: srcUrl(kind, file) });
|
|
25
34
|
await createApp({
|
|
26
35
|
tools: [
|
|
27
|
-
billLookupTool,
|
|
28
|
-
enactedLawsTool,
|
|
29
|
-
memberLookupTool,
|
|
30
|
-
committeeLookupTool,
|
|
31
|
-
rollVotesTool,
|
|
32
|
-
senateNominationsTool,
|
|
33
|
-
billSummariesTool,
|
|
34
|
-
crsReportsTool,
|
|
35
|
-
committeeReportsTool,
|
|
36
|
-
dailyRecordTool,
|
|
36
|
+
withSource(billLookupTool, 'tools', 'bill-lookup.tool.ts'),
|
|
37
|
+
withSource(enactedLawsTool, 'tools', 'enacted-laws.tool.ts'),
|
|
38
|
+
withSource(memberLookupTool, 'tools', 'member-lookup.tool.ts'),
|
|
39
|
+
withSource(committeeLookupTool, 'tools', 'committee-lookup.tool.ts'),
|
|
40
|
+
withSource(rollVotesTool, 'tools', 'roll-votes.tool.ts'),
|
|
41
|
+
withSource(senateNominationsTool, 'tools', 'senate-nominations.tool.ts'),
|
|
42
|
+
withSource(billSummariesTool, 'tools', 'bill-summaries.tool.ts'),
|
|
43
|
+
withSource(crsReportsTool, 'tools', 'crs-reports.tool.ts'),
|
|
44
|
+
withSource(committeeReportsTool, 'tools', 'committee-reports.tool.ts'),
|
|
45
|
+
withSource(dailyRecordTool, 'tools', 'daily-record.tool.ts'),
|
|
37
46
|
],
|
|
38
47
|
resources: [
|
|
39
|
-
currentCongressResource,
|
|
40
|
-
billTypesResource,
|
|
41
|
-
memberResource,
|
|
42
|
-
billResource,
|
|
43
|
-
committeeResource,
|
|
48
|
+
withSource(currentCongressResource, 'resources', 'current-congress.resource.ts'),
|
|
49
|
+
withSource(billTypesResource, 'resources', 'bill-types.resource.ts'),
|
|
50
|
+
withSource(memberResource, 'resources', 'member.resource.ts'),
|
|
51
|
+
withSource(billResource, 'resources', 'bill.resource.ts'),
|
|
52
|
+
withSource(committeeResource, 'resources', 'committee.resource.ts'),
|
|
44
53
|
],
|
|
45
|
-
prompts: [
|
|
54
|
+
prompts: [
|
|
55
|
+
withSource(billAnalysisPrompt, 'prompts', 'bill-analysis.prompt.ts'),
|
|
56
|
+
withSource(legislativeResearchPrompt, 'prompts', 'legislative-research.prompt.ts'),
|
|
57
|
+
],
|
|
58
|
+
landing: {
|
|
59
|
+
repoRoot: REPO_ROOT,
|
|
60
|
+
tagline: 'U.S. legislative data — bills, votes, members, committees — via MCP.',
|
|
61
|
+
},
|
|
46
62
|
setup() {
|
|
47
63
|
initCongressApi();
|
|
48
64
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const billTypesResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<import("zod").ZodObject<Readonly<{
|
|
6
6
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
7
|
-
}>, import("zod/v4/core").$strip>, undefined>;
|
|
7
|
+
}>, import("zod/v4/core").$strip>, undefined, undefined>;
|
|
8
8
|
//# sourceMappingURL=bill-types.resource.d.ts.map
|
|
@@ -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;;
|
|
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"}
|
|
@@ -7,5 +7,5 @@ export declare const billResource: import("@cyanheads/mcp-ts-core").ResourceDefi
|
|
|
7
7
|
congress: z.ZodString;
|
|
8
8
|
billType: z.ZodString;
|
|
9
9
|
billNumber: z.ZodString;
|
|
10
|
-
}, z.core.$strip>, undefined>;
|
|
10
|
+
}, z.core.$strip>, undefined, undefined>;
|
|
11
11
|
//# sourceMappingURL=bill.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bill.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/bill.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIrD,eAAO,MAAM,YAAY;;;;
|
|
1
|
+
{"version":3,"file":"bill.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/bill.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIrD,eAAO,MAAM,YAAY;;;;wCA2BvB,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
export declare const committeeResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{
|
|
7
7
|
committeeCode: z.ZodString;
|
|
8
|
-
}, z.core.$strip>, undefined>;
|
|
8
|
+
}, z.core.$strip>, undefined, undefined>;
|
|
9
9
|
//# sourceMappingURL=committee.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committee.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/committee.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,iBAAiB;;
|
|
1
|
+
{"version":3,"file":"committee.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/committee.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,iBAAiB;;wCAmB5B,CAAC"}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const currentCongressResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<import("zod").ZodObject<Readonly<{
|
|
6
6
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
7
|
-
}>, import("zod/v4/core").$strip>, undefined>;
|
|
7
|
+
}>, import("zod/v4/core").$strip>, undefined, undefined>;
|
|
8
8
|
//# sourceMappingURL=current-congress.resource.d.ts.map
|
|
@@ -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;;
|
|
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"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
export declare const memberResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{
|
|
7
7
|
bioguideId: z.ZodString;
|
|
8
|
-
}, z.core.$strip>, undefined>;
|
|
8
|
+
}, z.core.$strip>, undefined, undefined>;
|
|
9
9
|
//# sourceMappingURL=member.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/member.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,cAAc;;
|
|
1
|
+
{"version":3,"file":"member.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/member.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,cAAc;;wCAczB,CAAC"}
|
|
@@ -33,5 +33,5 @@ export declare const billLookupTool: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
33
33
|
toDateTime: z.ZodOptional<z.ZodString>;
|
|
34
34
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
35
35
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
36
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
36
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
37
37
|
//# sourceMappingURL=bill-lookup.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bill-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/bill-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA2BjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bill-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/bill-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA2BjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DA0FzB,CAAC"}
|
|
@@ -19,5 +19,5 @@ export declare const billSummariesTool: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
19
19
|
toDateTime: z.ZodOptional<z.ZodString>;
|
|
20
20
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
21
21
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
22
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
22
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
23
23
|
//# sourceMappingURL=bill-summaries.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bill-summaries.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/bill-summaries.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAQjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bill-summaries.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/bill-summaries.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAQjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;6DA+D5B,CAAC"}
|
|
@@ -24,5 +24,5 @@ export declare const committeeLookupTool: import("@cyanheads/mcp-ts-core").ToolD
|
|
|
24
24
|
recent: "recent";
|
|
25
25
|
oldest: "oldest";
|
|
26
26
|
}>>;
|
|
27
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
27
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
28
28
|
//# sourceMappingURL=committee-lookup.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committee-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/committee-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAMjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"committee-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/committee-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAMjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;6DA2F9B,CAAC"}
|
|
@@ -18,5 +18,5 @@ export declare const committeeReportsTool: import("@cyanheads/mcp-ts-core").Tool
|
|
|
18
18
|
reportNumber: z.ZodOptional<z.ZodNumber>;
|
|
19
19
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
20
20
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
21
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
21
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
22
22
|
//# sourceMappingURL=committee-reports.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committee-reports.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/committee-reports.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"committee-reports.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/committee-reports.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;6DAgF/B,CAAC"}
|
|
@@ -11,5 +11,5 @@ export declare const crsReportsTool: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
11
11
|
reportNumber: z.ZodOptional<z.ZodString>;
|
|
12
12
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
13
13
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
14
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
14
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
15
15
|
//# sourceMappingURL=crs-reports.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crs-reports.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/crs-reports.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,cAAc;;;;;;;;
|
|
1
|
+
{"version":3,"file":"crs-reports.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/crs-reports.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,cAAc;;;;;;;;6DAkCzB,CAAC"}
|
|
@@ -13,5 +13,5 @@ export declare const dailyRecordTool: import("@cyanheads/mcp-ts-core").ToolDefin
|
|
|
13
13
|
issueNumber: z.ZodOptional<z.ZodNumber>;
|
|
14
14
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
15
15
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
16
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
16
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
17
17
|
//# sourceMappingURL=daily-record.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-record.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/daily-record.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,eAAe;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"daily-record.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/daily-record.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,eAAe;;;;;;;;;;6DAwE1B,CAAC"}
|
|
@@ -16,5 +16,5 @@ export declare const enactedLawsTool: import("@cyanheads/mcp-ts-core").ToolDefin
|
|
|
16
16
|
lawNumber: z.ZodOptional<z.ZodNumber>;
|
|
17
17
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
18
18
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
19
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
19
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
20
20
|
//# sourceMappingURL=enacted-laws.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enacted-laws.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/enacted-laws.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"enacted-laws.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/enacted-laws.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;6DAkD1B,CAAC"}
|
|
@@ -17,5 +17,5 @@ export declare const memberLookupTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
17
17
|
currentMember: z.ZodOptional<z.ZodBoolean>;
|
|
18
18
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
19
19
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
20
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
21
21
|
//# sourceMappingURL=member-lookup.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/member-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"member-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/member-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;6DA+F3B,CAAC"}
|
|
@@ -14,5 +14,5 @@ export declare const rollVotesTool: import("@cyanheads/mcp-ts-core").ToolDefinit
|
|
|
14
14
|
voteNumber: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
16
16
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
17
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
17
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
18
18
|
//# sourceMappingURL=roll-votes.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roll-votes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/roll-votes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,aAAa;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"roll-votes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/roll-votes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,aAAa;;;;;;;;;;;6DA+DxB,CAAC"}
|
|
@@ -17,5 +17,5 @@ export declare const senateNominationsTool: import("@cyanheads/mcp-ts-core").Too
|
|
|
17
17
|
ordinal: z.ZodOptional<z.ZodNumber>;
|
|
18
18
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
19
19
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
20
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
21
21
|
//# sourceMappingURL=senate-nominations.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senate-nominations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/senate-nominations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"senate-nominations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/senate-nominations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;6DAqGhC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/congressgov-mcp-server",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.15",
|
|
4
4
|
"description": "Access U.S. congressional data - bills, votes, members, committees - through MCP. STDIO & Streamable HTTP.",
|
|
5
5
|
"mcpName": "io.github.cyanheads/congressgov-mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"tree": "bun scripts/tree.ts",
|
|
19
19
|
"format": "biome check --write --unsafe .",
|
|
20
20
|
"lint:mcp": "bun scripts/lint-mcp.ts",
|
|
21
|
+
"changelog:build": "bun scripts/build-changelog.ts",
|
|
22
|
+
"changelog:check": "bun scripts/build-changelog.ts --check",
|
|
21
23
|
"test": "vitest run",
|
|
22
24
|
"dev:stdio": "MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts",
|
|
23
25
|
"dev:http": "MCP_TRANSPORT_TYPE=http bun --watch src/index.ts",
|
|
@@ -58,23 +60,23 @@
|
|
|
58
60
|
"license": "Apache-2.0",
|
|
59
61
|
"packageManager": "bun@1.3.2",
|
|
60
62
|
"engines": {
|
|
61
|
-
"node": ">=
|
|
62
|
-
"bun": ">=1.
|
|
63
|
+
"node": ">=24.0.0",
|
|
64
|
+
"bun": ">=1.3.0"
|
|
63
65
|
},
|
|
64
66
|
"publishConfig": {
|
|
65
67
|
"access": "public"
|
|
66
68
|
},
|
|
67
69
|
"dependencies": {
|
|
68
|
-
"@cyanheads/mcp-ts-core": "^0.
|
|
70
|
+
"@cyanheads/mcp-ts-core": "^0.8.19",
|
|
69
71
|
"pino-pretty": "^13.1.3"
|
|
70
72
|
},
|
|
71
73
|
"devDependencies": {
|
|
72
|
-
"@biomejs/biome": "^2.4.
|
|
73
|
-
"@types/node": "^25.6.
|
|
74
|
+
"@biomejs/biome": "^2.4.14",
|
|
75
|
+
"@types/node": "^25.6.2",
|
|
74
76
|
"depcheck": "^1.4.7",
|
|
75
77
|
"ignore": "^7.0.5",
|
|
76
|
-
"tsc-alias": "^1.8.
|
|
78
|
+
"tsc-alias": "^1.8.17",
|
|
77
79
|
"typescript": "^6.0.3",
|
|
78
|
-
"vitest": "^4.1.
|
|
80
|
+
"vitest": "^4.1.5"
|
|
79
81
|
}
|
|
80
82
|
}
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/congressgov-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.3.
|
|
9
|
+
"version": "0.3.15",
|
|
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/congressgov-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.3.
|
|
22
|
+
"version": "0.3.15",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
55
55
|
"identifier": "@cyanheads/congressgov-mcp-server",
|
|
56
56
|
"runtimeHint": "bun",
|
|
57
|
-
"version": "0.3.
|
|
57
|
+
"version": "0.3.15",
|
|
58
58
|
"packageArguments": [
|
|
59
59
|
{
|
|
60
60
|
"type": "positional",
|