@cyanheads/eia-energy-mcp-server 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +14 -5
- package/README.md +1 -1
- package/changelog/0.2.x/0.2.2.md +26 -0
- package/changelog/0.2.x/0.2.3.md +14 -0
- package/changelog/template.md +35 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/browse-routes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/browse-routes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +6 -3
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +18 -9
- package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/describe-route.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/describe-route.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/query-route.tool.d.ts +6 -3
- package/dist/mcp-server/tools/definitions/query-route.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/query-route.tool.js +34 -8
- package/dist/mcp-server/tools/definitions/query-route.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-routes.tool.d.ts +5 -2
- package/dist/mcp-server/tools/definitions/search-routes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-routes.tool.js +15 -5
- package/dist/mcp-server/tools/definitions/search-routes.tool.js.map +1 -1
- package/package.json +8 -5
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** @cyanheads/eia-energy-mcp-server
|
|
4
|
-
**Version:** 0.2.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.
|
|
4
|
+
**Version:** 0.2.3
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.16`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
|
|
8
8
|
> **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.
|
|
@@ -35,6 +35,7 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
|
|
|
35
35
|
- **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
|
|
36
36
|
- **Check `ctx.elicit` / `ctx.sample`** for presence before calling.
|
|
37
37
|
- **Secrets in env vars only** — never hardcoded.
|
|
38
|
+
- **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
|
|
38
39
|
|
|
39
40
|
---
|
|
40
41
|
|
|
@@ -245,10 +246,14 @@ Available skills:
|
|
|
245
246
|
| `add-service` | Scaffold a new service integration |
|
|
246
247
|
| `add-test` | Scaffold test file for a tool, resource, or service |
|
|
247
248
|
| `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
|
|
249
|
+
| `tool-defs-analysis` | Read-only audit of MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
|
|
248
250
|
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
251
|
+
| `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
|
|
249
252
|
| `devcheck` | Lint, format, typecheck, audit |
|
|
250
253
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
251
|
-
| `
|
|
254
|
+
| `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
|
|
255
|
+
| `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
|
|
256
|
+
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
252
257
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
253
258
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
|
254
259
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
@@ -256,6 +261,7 @@ Available skills:
|
|
|
256
261
|
| `api-config` | AppConfig, parseConfig, env vars |
|
|
257
262
|
| `api-context` | Context interface, logger, state, progress |
|
|
258
263
|
| `api-errors` | McpError, JsonRpcErrorCode, error patterns |
|
|
264
|
+
| `api-linter` | Definition linter rule catalog — invoked by `bun run lint:mcp` and `devcheck` |
|
|
259
265
|
| `api-services` | LLM, Speech, Graph services |
|
|
260
266
|
| `api-testing` | createMockContext, test patterns |
|
|
261
267
|
| `api-utils` | Formatting, parsing, security, pagination, scheduling, telemetry helpers |
|
|
@@ -345,7 +351,10 @@ import { getEiaApiService } from '@/services/eia/eia-service.js';
|
|
|
345
351
|
- [ ] EIA wrapping: normalization and `format()` preserve uncertainty; do not fabricate facts from missing upstream data
|
|
346
352
|
- [ ] EIA wrapping: tests include at least one sparse payload case with omitted upstream fields
|
|
347
353
|
- [ ] Route tree and facet caches populated before use; retry/rate-limit contract declared on each tool
|
|
348
|
-
- [ ] DataCanvas spillover via `
|
|
354
|
+
- [ ] DataCanvas spillover via `getCanvas()` accessor — graceful degradation when absent
|
|
349
355
|
- [ ] Registered in `createApp()` arrays (directly or via barrel exports)
|
|
350
|
-
- [ ] Tests use `createMockContext()` from `@cyanheads/mcp-ts-core/testing`
|
|
356
|
+
- [ ] Tests use `createMockContext()` and `getEnrichment(ctx)` from `@cyanheads/mcp-ts-core/testing`
|
|
357
|
+
- [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = package name; `interface.shortDescription` from `package.json` description
|
|
358
|
+
- [ ] `.codex-plugin/mcp.json` updated — server name key matches `package.json` name; env vars added for any required API keys
|
|
359
|
+
- [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; inline `mcpServers` entry with server name key, env vars for any required API keys
|
|
351
360
|
- [ ] `bun run devcheck` passes
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/eia-energy-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/eia-energy-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
[](https://github.com/cyanheads/eia-energy-mcp-server/releases/latest/download/eia-energy-mcp-server.mcpb) [](https://cursor.com/en/install-mcp?name=eia-energy-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvZWlhLWVuZXJneS1tY3Atc2VydmVyIl0sImVudiI6eyJFSUFfQVBJX0tFWSI6InlvdXItYXBpLWtleSJ9fQ==) [](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22eia-energy-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads/eia-energy-mcp-server%22%5D%2C%22env%22%3A%7B%22EIA_API_KEY%22%3A%22your-api-key%22%7D%7D)
|
|
13
13
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "@cyanheads/mcp-ts-core ^0.9.6 → ^0.9.13: HTTP transport hardening, session-init gate, quieter error logs, GET /mcp keywords; dep refresh"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.2.2 — 2026-05-28
|
|
8
|
+
|
|
9
|
+
## Added
|
|
10
|
+
|
|
11
|
+
- **`landing: { requireAuth: false }`** passed explicitly in `createApp()` — preserves the full landing-page inventory for unauthenticated callers now that the framework's default gates it behind auth when `MCP_AUTH_MODE` is `jwt` or `oauth`.
|
|
12
|
+
- **`stdio` / `streamable-http`** keywords added to `package.json` — both transport modes are now surfaced in `GET /mcp` keyword fields and npm search.
|
|
13
|
+
|
|
14
|
+
## Changed
|
|
15
|
+
|
|
16
|
+
- **`@cyanheads/mcp-ts-core`** ^0.9.6 → ^0.9.13. User-facing changes picked up:
|
|
17
|
+
- **`MCP_HTTP_MAX_BODY_BYTES`** — configurable inbound request-body cap (default 1 MiB); oversized requests rejected with 413 before the SDK parses the body.
|
|
18
|
+
- **HTTP session-init gate** — stateful HTTP mode now rejects non-`initialize` requests lacking `Mcp-Session-Id` with HTTP 400.
|
|
19
|
+
- **Quieter error logs** — expected client errors (401, 403, 400, 404) downgraded from full `ErrorHandler` stack traces to `logger.warning`, reducing log noise.
|
|
20
|
+
- **`GET /mcp` keywords** — `package.json` `keywords` now surfaced on the status JSON response.
|
|
21
|
+
- **`@duckdb/node-api`** ^1.5.3-r.1 → ^1.5.3-r.2
|
|
22
|
+
- **`@biomejs/biome`** ^2.4.15 → ^2.4.16
|
|
23
|
+
|
|
24
|
+
## Security
|
|
25
|
+
|
|
26
|
+
- Picks up **HTTP transport hardening** from `mcp-ts-core` ^0.9.13: configurable request-body cap (`MCP_HTTP_MAX_BODY_BYTES`) guards against unbounded inbound payloads, and the session-init gate prevents uninitialized sessions from being minted on first contact.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Enrichment adoption — search/query/dataframe tools surface query echoes, result totals, and empty-result guidance in a typed enrichment block reaching both structuredContent and content[]"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.2.3 — 2026-05-30
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`eia_search_routes`** — query echo (`effectiveQuery`), `totalIndexed`, and an optional `notice` for empty results now surface in a typed `enrichment` block reaching both `structuredContent` JSON and the `content[]` markdown trailer. `total_indexed` removed from `output` (value preserved in `enrichment.totalIndexed`).
|
|
12
|
+
- **`eia_query_route`** — `effectiveRoute`, `totalCount`, `returnedCount`, and `appliedFilters` now in `enrichment`; `appliedFilters` renders as structured markdown via `enrichmentTrailer`. `total` and `returned_count` removed from `output` (values preserved in `enrichment.totalCount` / `enrichment.returnedCount`).
|
|
13
|
+
- **`eia_dataframe_query`** — `totalRows`, `returnedRows`, and a capped-result `notice` now in `enrichment`. `row_count` removed from `output` (value preserved in `enrichment.totalRows`). `rows[]` schema tightened to `z.object({}).passthrough()` with per-row description.
|
|
14
|
+
- **`@cyanheads/mcp-ts-core`** ^0.9.13 → ^0.9.16.
|
package/changelog/template.md
CHANGED
|
@@ -19,6 +19,14 @@ breaking: false
|
|
|
19
19
|
# `## Security` section below. Flagged as `Security` in the rollup so
|
|
20
20
|
# users can triage upgrade urgency at a glance.
|
|
21
21
|
security: false
|
|
22
|
+
|
|
23
|
+
# Optional free-form notes for maintenance agents processing this release.
|
|
24
|
+
# Not rendered in CHANGELOG — consumed by agents running `maintenance` on
|
|
25
|
+
# downstream servers. Use for adoption instructions that don't fit the
|
|
26
|
+
# human-facing sections: new files to create, fields to populate, one-time
|
|
27
|
+
# migration steps. Omit the field entirely when there's nothing to say.
|
|
28
|
+
# agent-notes: |
|
|
29
|
+
# <instructions for downstream maintenance agents>
|
|
22
30
|
---
|
|
23
31
|
|
|
24
32
|
# <version> — YYYY-MM-DD
|
|
@@ -35,7 +43,7 @@ security: false
|
|
|
35
43
|
name the symbol, state what changed, stop. Use a second sentence only when
|
|
36
44
|
it carries weight. If a bullet feels long, it is.
|
|
37
45
|
|
|
38
|
-
Cut: mechanism walkthroughs (those belong in JSDoc, AGENTS.md, or the
|
|
46
|
+
Cut: mechanism walkthroughs (those belong in JSDoc, CLAUDE.md/AGENTS.md, or the
|
|
39
47
|
relevant skill), ceremonial framings ("This release introduces…",
|
|
40
48
|
backwards-compat paragraphs), file-by-file test enumerations, internal
|
|
41
49
|
implementation notes. Prefer code/symbol names over English re-explanations.
|
|
@@ -66,6 +74,32 @@ security: false
|
|
|
66
74
|
Never speculate on a future number — `#42` for an upcoming PR silently
|
|
67
75
|
resolves to whatever real item already owns 42, and timeline previews pull
|
|
68
76
|
in that unrelated item's metadata.
|
|
77
|
+
|
|
78
|
+
TAG ANNOTATIONS — the annotated tag body renders as the GitHub Release body
|
|
79
|
+
via `gh release create --notes-from-tag`. The tag is a derivative of this
|
|
80
|
+
changelog entry — a condensed, scannable version, not a copy. Format:
|
|
81
|
+
|
|
82
|
+
<theme — omit version number, GitHub prepends it>
|
|
83
|
+
← blank line
|
|
84
|
+
<1-2 sentence context: what this release does>
|
|
85
|
+
← blank line
|
|
86
|
+
Dependency bumps: ← section header
|
|
87
|
+
← blank line
|
|
88
|
+
- `@cyanheads/mcp-ts-core` ^0.9.1 → ^0.9.6 ← bullet
|
|
89
|
+
← blank line
|
|
90
|
+
Changed: ← only sections with entries
|
|
91
|
+
← blank line
|
|
92
|
+
- `format()` output includes `query` in text mode
|
|
93
|
+
← blank line
|
|
94
|
+
Added:
|
|
95
|
+
← blank line
|
|
96
|
+
- `manifest.json` scaffolded for MCPB bundle support
|
|
97
|
+
- Install badges (Claude Desktop, Cursor, VS Code)
|
|
98
|
+
← blank line
|
|
99
|
+
<N> tests pass; `bun run devcheck` clean. ← footer
|
|
100
|
+
|
|
101
|
+
Never a flat comma-separated string. Always structured markdown with
|
|
102
|
+
sections. The tag must scan well as a rendered GitHub Release page.
|
|
69
103
|
-->
|
|
70
104
|
|
|
71
105
|
## Added
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;AAEvC,MAAM,QAAQ,GAAG,YAAY,CAAC,oBAAoB;IAChD,CAAC,CAAC,iBAAiB;IACnB,CAAC,CAAC,YAAY,CAAC,iBAAiB,EAAE;QAC9B,MAAM,EAAE,gDAAgD;QACxD,IAAI,EAAE,iCAAiC;KACxC,CAAC,CAAC;AAEP,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,qBAAqB;QACrB,kBAAkB;QAClB,QAAQ;KACT;IACD,KAAK,CAAC,IAAI;QACR,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;AAEvC,MAAM,QAAQ,GAAG,YAAY,CAAC,oBAAoB;IAChD,CAAC,CAAC,iBAAiB;IACnB,CAAC,CAAC,YAAY,CAAC,iBAAiB,EAAE;QAC9B,MAAM,EAAE,gDAAgD;QACxD,IAAI,EAAE,iCAAiC;KACxC,CAAC,CAAC;AAEP,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,cAAc;QACd,qBAAqB;QACrB,kBAAkB;QAClB,QAAQ;KACT;IACD,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;IAC/B,KAAK,CAAC,IAAI;QACR,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -24,5 +24,5 @@ export declare const browseRoutesTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
24
24
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
25
25
|
readonly when: "Path does not exist in the EIA taxonomy.";
|
|
26
26
|
readonly recovery: "Call eia_browse_routes without a path to see valid top-level categories.";
|
|
27
|
-
}]>;
|
|
27
|
+
}], undefined>;
|
|
28
28
|
//# sourceMappingURL=browse-routes.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse-routes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-routes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"browse-routes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-routes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;cA2E3B,CAAC"}
|
|
@@ -30,5 +30,5 @@ export declare const dataframeDescribeTool: import("@cyanheads/mcp-ts-core").Too
|
|
|
30
30
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
31
31
|
readonly when: "DataCanvas service is not configured for this deployment.";
|
|
32
32
|
readonly recovery: "Set CANVAS_PROVIDER_TYPE=duckdb in the server environment to enable dataframes.";
|
|
33
|
-
}]>;
|
|
33
|
+
}], undefined>;
|
|
34
34
|
//# sourceMappingURL=dataframe-describe.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataframe-describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dataframe-describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;cAqHhC,CAAC"}
|
|
@@ -18,5 +18,5 @@ export declare const dataframeDropTool: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
18
18
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
19
19
|
readonly when: "DataCanvas service is not configured for this deployment.";
|
|
20
20
|
readonly recovery: "Set CANVAS_PROVIDER_TYPE=duckdb in the server environment to enable dataframes.";
|
|
21
|
-
}]>;
|
|
21
|
+
}], undefined>;
|
|
22
22
|
//# sourceMappingURL=dataframe-drop.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataframe-drop.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-drop.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dataframe-drop.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-drop.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;cAkD5B,CAAC"}
|
|
@@ -15,8 +15,7 @@ export declare const dataframeQueryTool: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
15
15
|
row_limit: z.ZodDefault<z.ZodNumber>;
|
|
16
16
|
}, z.core.$strip>, z.ZodObject<{
|
|
17
17
|
columns: z.ZodArray<z.ZodString>;
|
|
18
|
-
|
|
19
|
-
rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
18
|
+
rows: z.ZodArray<z.ZodObject<{}, z.core.$loose>>;
|
|
20
19
|
registered_as: z.ZodOptional<z.ZodString>;
|
|
21
20
|
expires_at: z.ZodOptional<z.ZodString>;
|
|
22
21
|
}, z.core.$strip>, readonly [{
|
|
@@ -24,5 +23,9 @@ export declare const dataframeQueryTool: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
24
23
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
25
24
|
readonly when: "DataCanvas service is not configured for this deployment.";
|
|
26
25
|
readonly recovery: "Set CANVAS_PROVIDER_TYPE=duckdb in the server environment to enable dataframes.";
|
|
27
|
-
}]
|
|
26
|
+
}], {
|
|
27
|
+
readonly totalRows: z.ZodNumber;
|
|
28
|
+
readonly returnedRows: z.ZodNumber;
|
|
29
|
+
readonly notice: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}>;
|
|
28
31
|
//# sourceMappingURL=dataframe-query.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataframe-query.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"dataframe-query.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;EAiJ7B,CAAC"}
|
|
@@ -47,11 +47,11 @@ export const dataframeQueryTool = tool('eia_dataframe_query', {
|
|
|
47
47
|
}),
|
|
48
48
|
output: z.object({
|
|
49
49
|
columns: z.array(z.string()).describe('Column names in projection order.'),
|
|
50
|
-
row_count: z
|
|
51
|
-
.number()
|
|
52
|
-
.describe('Total rows the query produced (may exceed rows.length when capped).'),
|
|
53
50
|
rows: z
|
|
54
|
-
.array(z
|
|
51
|
+
.array(z
|
|
52
|
+
.object({})
|
|
53
|
+
.passthrough()
|
|
54
|
+
.describe('A result row with dynamic keys matching the SQL projection columns.'))
|
|
55
55
|
.describe('Materialized rows, bounded by preview / row_limit.'),
|
|
56
56
|
registered_as: z
|
|
57
57
|
.string()
|
|
@@ -62,6 +62,16 @@ export const dataframeQueryTool = tool('eia_dataframe_query', {
|
|
|
62
62
|
.optional()
|
|
63
63
|
.describe('ISO 8601 expiry for the newly registered dataframe, when applicable.'),
|
|
64
64
|
}),
|
|
65
|
+
enrichment: {
|
|
66
|
+
totalRows: z
|
|
67
|
+
.number()
|
|
68
|
+
.describe('Total rows the query produced (may exceed rows.length when capped by row_limit).'),
|
|
69
|
+
returnedRows: z.number().describe('Rows included in this response.'),
|
|
70
|
+
notice: z
|
|
71
|
+
.string()
|
|
72
|
+
.optional()
|
|
73
|
+
.describe('Guidance when results are capped — shows how many rows were omitted.'),
|
|
74
|
+
},
|
|
65
75
|
async handler(input, ctx) {
|
|
66
76
|
const bridge = getCanvasBridge();
|
|
67
77
|
if (!bridge) {
|
|
@@ -81,9 +91,12 @@ export const dataframeQueryTool = tool('eia_dataframe_query', {
|
|
|
81
91
|
returned: result.rows.length,
|
|
82
92
|
registeredAs: meta?.tableName,
|
|
83
93
|
});
|
|
94
|
+
ctx.enrich({ totalRows: result.rowCount, returnedRows: result.rows.length });
|
|
95
|
+
if (result.rowCount > result.rows.length) {
|
|
96
|
+
ctx.enrich.notice(`Showing ${result.rows.length.toLocaleString()} of ${result.rowCount.toLocaleString()} rows — increase row_limit or use register_as to chain into a new dataframe.`);
|
|
97
|
+
}
|
|
84
98
|
return {
|
|
85
99
|
columns: result.columns,
|
|
86
|
-
row_count: result.rowCount,
|
|
87
100
|
rows: result.rows,
|
|
88
101
|
registered_as: meta?.tableName,
|
|
89
102
|
expires_at: meta?.expiresAt,
|
|
@@ -94,10 +107,6 @@ export const dataframeQueryTool = tool('eia_dataframe_query', {
|
|
|
94
107
|
if (result.registered_as) {
|
|
95
108
|
lines.push(`Registered as ${result.registered_as} (expires ${result.expires_at ?? 'unknown'}).`);
|
|
96
109
|
}
|
|
97
|
-
const cappedNote = result.row_count > result.rows.length
|
|
98
|
-
? ` (showing ${result.rows.length} of ${result.row_count})`
|
|
99
|
-
: '';
|
|
100
|
-
lines.push(`**${result.row_count} rows**${cappedNote}\n`);
|
|
101
110
|
if (result.rows.length === 0) {
|
|
102
111
|
lines.push('_No rows._');
|
|
103
112
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataframe-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE;IAC5D,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,ioBAAioB;IACnoB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAE/E,MAAM,EAAE;QACN;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2DAA2D;YACjE,QAAQ,EAAE,iFAAiF;SAC5F;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,2MAA2M,CAC5M;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8KAA8K,CAC/K;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,+IAA+I,CAChJ;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,0EAA0E,CAAC;KACxF,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC1E,
|
|
1
|
+
{"version":3,"file":"dataframe-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/dataframe-query.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,5 +54,5 @@ export declare const describeRouteTool: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
54
54
|
readonly retryable: true;
|
|
55
55
|
readonly when: "EIA rate limit hit during facet fan-out.";
|
|
56
56
|
readonly recovery: "Back off and retry; use a production EIA API key for higher rate limits.";
|
|
57
|
-
}]>;
|
|
57
|
+
}], undefined>;
|
|
58
58
|
//# sourceMappingURL=describe-route.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe-route.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe-route.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"describe-route.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe-route.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoL5B,CAAC"}
|
|
@@ -28,8 +28,6 @@ export declare const queryRouteTool: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
28
28
|
}, z.core.$strip>, z.ZodObject<{
|
|
29
29
|
route: z.ZodString;
|
|
30
30
|
data: z.ZodArray<z.ZodObject<{}, z.core.$loose>>;
|
|
31
|
-
total: z.ZodNumber;
|
|
32
|
-
returned_count: z.ZodNumber;
|
|
33
31
|
frequency: z.ZodString;
|
|
34
32
|
date_format: z.ZodString;
|
|
35
33
|
canvas_id: z.ZodOptional<z.ZodString>;
|
|
@@ -62,5 +60,10 @@ export declare const queryRouteTool: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
62
60
|
readonly retryable: true;
|
|
63
61
|
readonly when: "EIA rate limit hit (OVER_RATE_LIMIT).";
|
|
64
62
|
readonly recovery: "Back off and retry; use a production EIA API key for higher rate limits.";
|
|
65
|
-
}]
|
|
63
|
+
}], {
|
|
64
|
+
readonly effectiveRoute: z.ZodString;
|
|
65
|
+
readonly totalCount: z.ZodNumber;
|
|
66
|
+
readonly returnedCount: z.ZodNumber;
|
|
67
|
+
readonly appliedFilters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
|
|
68
|
+
}>;
|
|
66
69
|
//# sourceMappingURL=query-route.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-route.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-route.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"query-route.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-route.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyVzB,CAAC"}
|
|
@@ -63,10 +63,6 @@ export const queryRouteTool = tool('eia_query_route', {
|
|
|
63
63
|
data: z
|
|
64
64
|
.array(z.object({}).passthrough().describe('A single data row with dynamic column keys.'))
|
|
65
65
|
.describe('Preview rows. All numeric values are strings per the EIA API (e.g. "9.13"). Cast to DOUBLE in SQL for arithmetic: CAST(value AS DOUBLE). Per-column units appear as {col}-units fields inline in each row. Keys are dynamic column IDs from the EIA route.'),
|
|
66
|
-
total: z.number().describe('Total matching rows in the EIA dataset.'),
|
|
67
|
-
returned_count: z
|
|
68
|
-
.number()
|
|
69
|
-
.describe('Rows in this response. When returned_count < total, use offset or canvas for the rest.'),
|
|
70
66
|
frequency: z.string().describe('Frequency of the returned data.'),
|
|
71
67
|
date_format: z.string().describe('Period format for the returned data (e.g. "YYYY-MM").'),
|
|
72
68
|
canvas_id: z
|
|
@@ -86,6 +82,29 @@ export const queryRouteTool = tool('eia_query_route', {
|
|
|
86
82
|
.optional()
|
|
87
83
|
.describe("Forwarded from EIA's warnings[] when the API warns of truncated results near the 5,000 per-page limit."),
|
|
88
84
|
}),
|
|
85
|
+
enrichment: {
|
|
86
|
+
effectiveRoute: z.string().describe('The route path that was queried.'),
|
|
87
|
+
totalCount: z.number().describe('Total matching rows in the EIA dataset.'),
|
|
88
|
+
returnedCount: z
|
|
89
|
+
.number()
|
|
90
|
+
.describe('Rows in this response. When returnedCount < totalCount, use offset or canvas for the rest.'),
|
|
91
|
+
appliedFilters: z
|
|
92
|
+
.record(z.string(), z.union([z.string(), z.array(z.string())]))
|
|
93
|
+
.optional()
|
|
94
|
+
.describe('Facet filters applied to the query, when provided.'),
|
|
95
|
+
},
|
|
96
|
+
enrichmentTrailer: {
|
|
97
|
+
appliedFilters: {
|
|
98
|
+
render: (filters) => {
|
|
99
|
+
if (!filters || Object.keys(filters).length === 0)
|
|
100
|
+
return null;
|
|
101
|
+
const entries = Object.entries(filters)
|
|
102
|
+
.map(([k, v]) => `- **${k}:** ${Array.isArray(v) ? v.join(', ') : v}`)
|
|
103
|
+
.join('\n');
|
|
104
|
+
return `**Applied Filters:**\n${entries}`;
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
89
108
|
errors: [
|
|
90
109
|
{
|
|
91
110
|
reason: 'route_not_found',
|
|
@@ -153,11 +172,19 @@ export const queryRouteTool = tool('eia_query_route', {
|
|
|
153
172
|
...ctx.recoveryFor('no_data'),
|
|
154
173
|
});
|
|
155
174
|
}
|
|
175
|
+
// Populate enrichment — reaches both structuredContent and content[] trailer.
|
|
176
|
+
ctx.enrich({
|
|
177
|
+
effectiveRoute: input.route,
|
|
178
|
+
totalCount: dataResp.total,
|
|
179
|
+
returnedCount: dataResp.data.length,
|
|
180
|
+
...(input.filters &&
|
|
181
|
+
Object.keys(input.filters).length > 0 && {
|
|
182
|
+
appliedFilters: input.filters,
|
|
183
|
+
}),
|
|
184
|
+
});
|
|
156
185
|
const result = {
|
|
157
186
|
route: input.route,
|
|
158
187
|
data: dataResp.data,
|
|
159
|
-
total: dataResp.total,
|
|
160
|
-
returned_count: dataResp.data.length,
|
|
161
188
|
frequency: dataResp.frequency,
|
|
162
189
|
date_format: dataResp.dateFormat,
|
|
163
190
|
};
|
|
@@ -209,8 +236,7 @@ export const queryRouteTool = tool('eia_query_route', {
|
|
|
209
236
|
format: (result) => {
|
|
210
237
|
const lines = [];
|
|
211
238
|
lines.push(`## Query: ${result.route}`);
|
|
212
|
-
lines.push(`**Frequency:** ${result.frequency} | **Date format:** ${result.date_format}`);
|
|
213
|
-
lines.push(`**Rows:** ${result.returned_count} of ${result.total} total\n`);
|
|
239
|
+
lines.push(`**Frequency:** ${result.frequency} | **Date format:** ${result.date_format}\n`);
|
|
214
240
|
if (result.canvas_preview_note) {
|
|
215
241
|
lines.push(`> ${result.canvas_preview_note}\n`);
|
|
216
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-route.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-route.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-route.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-route.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,9 @@ export declare const searchRoutesTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
18
18
|
isLeaf: z.ZodBoolean;
|
|
19
19
|
filter_hint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
20
20
|
}, z.core.$strip>>;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
}, z.core.$strip>, undefined, {
|
|
22
|
+
readonly effectiveQuery: z.ZodString;
|
|
23
|
+
readonly totalIndexed: z.ZodNumber;
|
|
24
|
+
readonly notice: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}>;
|
|
23
26
|
//# sourceMappingURL=search-routes.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-routes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-routes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"search-routes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-routes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAmH3B,CAAC"}
|
|
@@ -46,14 +46,26 @@ export const searchRoutesTool = tool('eia_search_routes', {
|
|
|
46
46
|
})
|
|
47
47
|
.describe('A search result entry.'))
|
|
48
48
|
.describe('Ranked matches, best first.'),
|
|
49
|
-
|
|
49
|
+
}),
|
|
50
|
+
enrichment: {
|
|
51
|
+
effectiveQuery: z.string().describe('Query as submitted to the Fuse.js index.'),
|
|
52
|
+
totalIndexed: z
|
|
50
53
|
.number()
|
|
51
54
|
.describe('Total entries in the search index (routes + STEO series names).'),
|
|
52
|
-
|
|
55
|
+
notice: z
|
|
56
|
+
.string()
|
|
57
|
+
.optional()
|
|
58
|
+
.describe('Recovery hint when no routes matched — suggests alternative queries or using eia_browse_routes.'),
|
|
59
|
+
},
|
|
53
60
|
async handler(input, ctx) {
|
|
54
61
|
ctx.log.info('Executing eia_search_routes', { query: input.query, limit: input.limit });
|
|
55
62
|
const service = getEiaApiService();
|
|
56
63
|
const { results, totalIndexed } = await service.search(input.query, input.limit, ctx);
|
|
64
|
+
ctx.enrich.echo(input.query);
|
|
65
|
+
ctx.enrich({ totalIndexed });
|
|
66
|
+
if (results.length === 0) {
|
|
67
|
+
ctx.enrich.notice(`No routes matched "${input.query}". Try different search terms or use eia_browse_routes to explore the taxonomy.`);
|
|
68
|
+
}
|
|
57
69
|
return {
|
|
58
70
|
results: results.map(({ entry, score }) => ({
|
|
59
71
|
route: entry.route,
|
|
@@ -63,17 +75,15 @@ export const searchRoutesTool = tool('eia_search_routes', {
|
|
|
63
75
|
isLeaf: entry.isLeaf,
|
|
64
76
|
...(entry.filter_hint !== undefined && { filter_hint: entry.filter_hint }),
|
|
65
77
|
})),
|
|
66
|
-
total_indexed: totalIndexed,
|
|
67
78
|
};
|
|
68
79
|
},
|
|
69
80
|
format: (result) => {
|
|
70
81
|
const lines = [];
|
|
71
82
|
if (result.results.length === 0) {
|
|
72
83
|
lines.push('No matching routes found. Try different search terms or browse with eia_browse_routes.');
|
|
73
|
-
lines.push(`\nIndex size: ${result.total_indexed} entries`);
|
|
74
84
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
75
85
|
}
|
|
76
|
-
lines.push(`**${result.results.length} result(s)
|
|
86
|
+
lines.push(`**${result.results.length} result(s)**\n`);
|
|
77
87
|
for (const r of result.results) {
|
|
78
88
|
const tag = r.isLeaf ? '[leaf]' : '[cat]';
|
|
79
89
|
const weakMatch = r.score > 0.5 ? ' ⚠ weak match' : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-routes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-routes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;IACxD,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,ogBAAogB;IACtgB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAEzD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,uEAAuE,CAAC;QACpF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,wEAAwE,CAAC;YACrF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACtD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,8DAA8D,CAAC;YAC3E,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CACP,kFAAkF,CACnF;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CACP,oMAAoM,CACrM;SACJ,CAAC;aACD,QAAQ,CAAC,wBAAwB,CAAC,CACtC;aACA,QAAQ,CAAC,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"search-routes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-routes.tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/eia-energy-mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"mcpName": "io.github.cyanheads/eia-energy-mcp-server",
|
|
5
5
|
"description": "Browse and query the U.S. Energy Information Administration API v2 — electricity, petroleum, natural gas, coal, forecasts, and more via MCP. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"devcheck": "bun run scripts/devcheck.ts",
|
|
26
26
|
"audit:refresh": "rm -f bun.lock && bun install && bun audit",
|
|
27
27
|
"tree": "bun run scripts/tree.ts",
|
|
28
|
-
"format": "biome check --write
|
|
28
|
+
"format": "biome check --write .",
|
|
29
|
+
"format:unsafe": "biome check --write --unsafe .",
|
|
29
30
|
"lint:mcp": "bun run scripts/lint-mcp.ts",
|
|
30
31
|
"lint:packaging": "bun run scripts/lint-packaging.ts",
|
|
31
32
|
"bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/eia-energy-mcp-server.mcpb",
|
|
@@ -55,6 +56,8 @@
|
|
|
55
56
|
"model-context-protocol",
|
|
56
57
|
"typescript",
|
|
57
58
|
"bun",
|
|
59
|
+
"stdio",
|
|
60
|
+
"streamable-http",
|
|
58
61
|
"ai-agent"
|
|
59
62
|
],
|
|
60
63
|
"repository": {
|
|
@@ -86,14 +89,14 @@
|
|
|
86
89
|
"access": "public"
|
|
87
90
|
},
|
|
88
91
|
"dependencies": {
|
|
89
|
-
"@cyanheads/mcp-ts-core": "^0.9.
|
|
90
|
-
"@duckdb/node-api": "^1.5.3-r.
|
|
92
|
+
"@cyanheads/mcp-ts-core": "^0.9.16",
|
|
93
|
+
"@duckdb/node-api": "^1.5.3-r.2",
|
|
91
94
|
"fuse.js": "^7.3.0",
|
|
92
95
|
"pino-pretty": "^13.1.3",
|
|
93
96
|
"zod": "^4.4.3"
|
|
94
97
|
},
|
|
95
98
|
"devDependencies": {
|
|
96
|
-
"@biomejs/biome": "^2.4.
|
|
99
|
+
"@biomejs/biome": "^2.4.16",
|
|
97
100
|
"@types/node": "^25.9.1",
|
|
98
101
|
"depcheck": "^1.4.7",
|
|
99
102
|
"ignore": "^7.0.5",
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/eia-energy-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.2.
|
|
9
|
+
"version": "0.2.3",
|
|
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/eia-energy-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.2.
|
|
22
|
+
"version": "0.2.3",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
75
75
|
"identifier": "@cyanheads/eia-energy-mcp-server",
|
|
76
76
|
"runtimeHint": "bun",
|
|
77
|
-
"version": "0.2.
|
|
77
|
+
"version": "0.2.3",
|
|
78
78
|
"packageArguments": [
|
|
79
79
|
{
|
|
80
80
|
"type": "positional",
|