@cyanheads/eurostat-mcp-server 0.7.0 → 0.8.0

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 (80) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +28 -13
  4. package/changelog/0.8.x/0.8.0.md +30 -0
  5. package/dist/config/server-config.d.ts +2 -0
  6. package/dist/config/server-config.d.ts.map +1 -1
  7. package/dist/config/server-config.js +13 -0
  8. package/dist/config/server-config.js.map +1 -1
  9. package/dist/index.js +2 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.d.ts.map +1 -1
  12. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.js +4 -2
  13. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js +1 -1
  15. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.d.ts +1 -1
  17. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.js +4 -4
  18. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.d.ts +2 -2
  20. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js +4 -4
  21. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts +8 -18
  23. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js +102 -51
  25. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.d.ts +3 -4
  27. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js +8 -9
  29. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts +21 -7
  31. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js +115 -19
  33. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js.map +1 -1
  34. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts +3 -2
  35. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js +27 -10
  37. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.d.ts +2 -2
  39. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js +19 -6
  41. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/narrowing-advice.d.ts +22 -0
  43. package/dist/mcp-server/tools/narrowing-advice.d.ts.map +1 -0
  44. package/dist/mcp-server/tools/narrowing-advice.js +44 -0
  45. package/dist/mcp-server/tools/narrowing-advice.js.map +1 -0
  46. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts +9 -1
  47. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts.map +1 -1
  48. package/dist/services/eurostat-bulk/eurostat-bulk-service.js +45 -10
  49. package/dist/services/eurostat-bulk/eurostat-bulk-service.js.map +1 -1
  50. package/dist/services/eurostat-bulk/types.d.ts +5 -0
  51. package/dist/services/eurostat-bulk/types.d.ts.map +1 -1
  52. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts +47 -1
  53. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts.map +1 -1
  54. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js +188 -13
  55. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js.map +1 -1
  56. package/dist/services/eurostat-codelists.d.ts +20 -0
  57. package/dist/services/eurostat-codelists.d.ts.map +1 -1
  58. package/dist/services/eurostat-codelists.js +25 -0
  59. package/dist/services/eurostat-codelists.js.map +1 -1
  60. package/dist/services/eurostat-data/eurostat-data-service.d.ts +63 -8
  61. package/dist/services/eurostat-data/eurostat-data-service.d.ts.map +1 -1
  62. package/dist/services/eurostat-data/eurostat-data-service.js +228 -48
  63. package/dist/services/eurostat-data/eurostat-data-service.js.map +1 -1
  64. package/dist/services/eurostat-data/sdmx-metadata.d.ts +26 -0
  65. package/dist/services/eurostat-data/sdmx-metadata.d.ts.map +1 -1
  66. package/dist/services/eurostat-data/sdmx-metadata.js +38 -1
  67. package/dist/services/eurostat-data/sdmx-metadata.js.map +1 -1
  68. package/dist/services/eurostat-data/types.d.ts +12 -2
  69. package/dist/services/eurostat-data/types.d.ts.map +1 -1
  70. package/dist/services/eurostat-data/types.js.map +1 -1
  71. package/dist/services/eurostat-hosts.d.ts +17 -0
  72. package/dist/services/eurostat-hosts.d.ts.map +1 -0
  73. package/dist/services/eurostat-hosts.js +23 -0
  74. package/dist/services/eurostat-hosts.js.map +1 -0
  75. package/dist/services/shared-load.d.ts +16 -0
  76. package/dist/services/shared-load.d.ts.map +1 -0
  77. package/dist/services/shared-load.js +27 -0
  78. package/dist/services/shared-load.js.map +1 -0
  79. package/package.json +1 -1
  80. package/server.json +31 -3
@@ -6,6 +6,7 @@
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
7
  import { CanvasIdSchema } from '@cyanheads/mcp-ts-core/canvas';
8
8
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
9
+ import { dimensionsToNarrow, narrowingAdvice } from '../narrowing-advice.js';
9
10
  import { acquireCanvas, getCanvas, newTableName } from '../../../services/canvas-accessor.js';
10
11
  import { bulkRowSchema, getEurostatBulkService, } from '../../../services/eurostat-bulk/eurostat-bulk-service.js';
11
12
  import { getEurostatDataService } from '../../../services/eurostat-data/eurostat-data-service.js';
@@ -25,12 +26,20 @@ async function* teePreview(rows, preview, limit) {
25
26
  yield row;
26
27
  }
27
28
  }
29
+ /** Put back a row already pulled off `rest`, so the canvas receives the stream whole. */
30
+ async function* prepend(first, rest) {
31
+ yield first;
32
+ yield* rest;
33
+ }
28
34
  export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
29
35
  title: 'Download Eurostat Dataset',
30
36
  description: 'Download a Eurostat dataset in bulk through the SDMX 2.1 TSV endpoint and stage every observation as a SQL table on the dataframe canvas — the route to a whole dataset, where eurostat_query_dataset is the route to a slice of one. The TSV wire format is roughly half the bytes of the JSON-stat body eurostat_query_dataset reads, so it reaches datasets that would otherwise time out, and it is expanded here into one row per observation. Filters take the same dimension-code map eurostat_query_dataset uses and are applied server-side by Eurostat; call eurostat_get_dataset_info first for the dimension codes and eurostat_get_dimension_values for their values. Narrow with since_period/until_period rather than asking for the most recent N periods — the TSV layout keeps a column for every period whichever is requested, so a period range is what actually shrinks the response. Transfers are bounded by a byte budget enforced while streaming: when it is spent the download stops and budgetExceeded is set, leaving a prefix of the dataset rather than an error. Only preview_limit rows come back inline. When a table is staged, call eurostat_dataframe_describe first to confirm its columns, then eurostat_dataframe_query; without a canvas, rows past the preview are not retained.',
31
37
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
32
38
  input: z.object({
33
- dataset_code: z.string().min(1).describe('Dataset code (e.g., "nama_10_gdp"). Required.'),
39
+ dataset_code: z
40
+ .string()
41
+ .min(1)
42
+ .describe('Dataset code (e.g., "nama_10_gdp"). Required. A DS-* code — Comext detailed trade or PRODCOM, in any case — is served by the Comext host, which refuses an unfiltered download of its large collections as extraction_too_big: filter it, including freq on the trade flows, which mix annual and monthly series.'),
34
43
  filters: z
35
44
  .record(z.string(), z.array(z.string()))
36
45
  .default({})
@@ -50,7 +59,7 @@ export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
50
59
  .max(PREVIEW_MAX)
51
60
  .default(50)
52
61
  .describe('How many observations to echo inline, from the start of the download. Caps at 500. The full download is on the canvas table when one was staged; this is orientation, not the result set.'),
53
- canvas_id: CanvasIdSchema.optional().describe('Reuse an existing dataframe canvas so this download lands beside earlier results and can be joined against them. Pass the canvasId a previous eurostat_download_dataset or eurostat_query_dataset response returned; omit to start a fresh canvas. Ignored on deployments without a dataframe canvas.'),
62
+ canvas_id: CanvasIdSchema.optional().describe('Reuse an existing dataframe canvas so this download lands beside earlier results and can be joined against them. Pass the canvasId a previous eurostat_download_dataset or eurostat_query_dataset response returned; omit to start a fresh canvas. Ignored on deployments without a dataframe canvas. A download that carries no observations fails as no_results and leaves the canvas untouched.'),
54
63
  }),
55
64
  output: z.object({
56
65
  datasetCode: z.string().describe('Dataset code as provided.'),
@@ -87,7 +96,7 @@ export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
87
96
  observations: z
88
97
  .array(z
89
98
  .record(z.string(), z.union([z.string(), z.number(), z.null()]))
90
- .describe('One observation as a flat row: one column per dimension holding its code, "time" for the period, then obs_value, obs_flag, obs_flag_label, conf_status, conf_status_label. A label column is null when Eurostat publishes no label for that code.'))
99
+ .describe('One observation as a flat row: one column per dimension holding its code, "time" for the period, then obs_value, obs_flag, obs_flag_label, conf_status, conf_status_label. A label column is null when Eurostat publishes no label for that code. Rows of a DS-* dataset also carry obs_value_text after obs_value: a value Eurostat published as text, such as a PRODCOM quantity unit ("KG"), kept verbatim with obs_value null; a PRODCOM ":C" arrives as conf_status "C" instead.'))
91
100
  .describe('The first preview_limit observations of the download, in the order Eurostat streamed them. A prefix of the staged table, not a sample.'),
92
101
  canvasId: z
93
102
  .string()
@@ -176,9 +185,17 @@ export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
176
185
  {
177
186
  reason: 'no_results',
178
187
  code: JsonRpcErrorCode.NotFound,
179
- when: 'The download completed but carried no populated observation cells.',
188
+ when: 'The download completed but carried no populated observation cells. Nothing is staged, and no canvas is created or touched.',
180
189
  recovery: "Verify the filter values with eurostat_get_dimension_values and keep since_period/until_period inside the series' coverage — a combination that exists in no cell and a range that misses the series both download as an empty table.",
181
190
  },
191
+ {
192
+ reason: 'extraction_too_big',
193
+ code: JsonRpcErrorCode.ServiceUnavailable,
194
+ when: 'Eurostat refused the extraction as too large (SDMX faultcode 413, HTTP 413): past its 5,000,000-row extraction limit, or an unfiltered download of a large DS-* Comext collection, which Eurostat serves only filtered. Covers every dataset, on either host.',
195
+ retryable: false,
196
+ recovery: 'Add dimension filters or a narrower since_period/until_period range to shrink the extraction; the same request fails the same way on every retry.',
197
+ thrownBy: 'service',
198
+ },
182
199
  {
183
200
  reason: 'upstream_fault',
184
201
  code: JsonRpcErrorCode.ServiceUnavailable,
@@ -207,6 +224,13 @@ export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
207
224
  }
208
225
  const { since_period: sinceP, until_period: untilP } = periods;
209
226
  const filters = Object.fromEntries(Object.entries(input.filters).filter(([, values]) => values.length > 0));
227
+ /**
228
+ * The positional key needs every dimension in order, not just the filtered
229
+ * ones, so a filtered download first reads the dataset's structure
230
+ * definition, a few KB whatever the dataset's size. An unfiltered download
231
+ * needs no key and skips it — the TSV header names the dimensions anyway.
232
+ */
233
+ let dimensionOrder = [];
210
234
  /**
211
235
  * `ctx.fail` is typed against this tool's reason union, so the mapping stays
212
236
  * here rather than inside a helper that would have to take a bare string.
@@ -216,67 +240,84 @@ export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
216
240
  return await run();
217
241
  }
218
242
  catch (err) {
219
- const mapped = mapBulkFailure(err, input.dataset_code);
243
+ const mapped = mapBulkFailure(err, input.dataset_code, {
244
+ dimensions: err.data?.reason === 'extraction_too_big'
245
+ ? await dimensionsToNarrow(input.dataset_code, dimensionOrder, ctx)
246
+ : undefined,
247
+ filtered: Object.keys(filters),
248
+ });
220
249
  if (!mapped)
221
250
  throw err;
222
251
  throw ctx.fail(mapped.reason, mapped.message, { recovery: { hint: mapped.hint } });
223
252
  }
224
253
  };
225
- /**
226
- * The positional key needs every dimension in order, not just the filtered
227
- * ones, so a filtered download pays one cheap metadata call first. An
228
- * unfiltered download needs no key and skips it — the TSV header names the
229
- * dimensions anyway.
230
- */
231
- const dimensionOrder = Object.keys(filters).length > 0
232
- ? await asContract(() => getEurostatDataService().getDimensionOrder(input.dataset_code, ctx))
233
- : [];
254
+ if (Object.keys(filters).length > 0) {
255
+ dimensionOrder = await asContract(() => getEurostatDataService().getDimensionOrder(input.dataset_code, ctx));
256
+ }
234
257
  const download = await asContract(() => bulk.startDownload(input.dataset_code, dimensionOrder, filters, sinceP, untilP, ctx));
235
258
  const preview = [];
236
- const source = teePreview(download.rows(), preview, input.preview_limit);
237
- const canvas = getCanvas();
259
+ const rows = teePreview(download.rows(), preview, input.preview_limit);
238
260
  let staged;
239
- if (canvas) {
240
- const instance = await acquireCanvas(canvas, input.canvas_id, ctx);
241
- const handle = await instance.registerTable(newTableName(), source, {
242
- schema: bulkRowSchema(download.header.dimensions),
243
- signal: ctx.signal,
244
- });
245
- staged = {
246
- canvasId: instance.canvasId,
247
- stagedRowCount: handle.rowCount,
248
- tableName: handle.tableName,
249
- };
250
- }
251
- else {
261
+ /**
262
+ * Every exit closes the row stream, which cancels the response body. A
263
+ * canvas that cannot be acquired, or a staging call that fails before it
264
+ * pulls a row, would otherwise leave the body undrained and its connection
265
+ * held. Closing a stream that already ended is a no-op.
266
+ */
267
+ try {
252
268
  /**
253
- * Without a canvas the stream still runs to completion. Everything past
254
- * the preview is discarded, but the counts, the period coverage and the
255
- * budget verdict then describe the download rather than describing the
256
- * preview — and the byte budget still bounds what is transferred. Stopping
257
- * at preview_limit instead would report a row count of 50 for a dataset of
258
- * millions.
269
+ * Nothing touches a canvas until the stream has yielded a row. An empty
270
+ * download would otherwise mint a canvas the error never names, or add a
271
+ * 0-row table to the caller's, before failing — so it fails here instead,
272
+ * exactly as it does on a deployment without a canvas.
259
273
  */
260
- for await (const _row of source) {
261
- // Drained for its counters; nothing is retained past the preview.
274
+ const first = await rows.next();
275
+ if (first.done) {
276
+ const range = [
277
+ ...(sinceP ? [`since_period "${sinceP}"`] : []),
278
+ ...(untilP ? [`until_period "${untilP}"`] : []),
279
+ ].join(' and ');
280
+ throw ctx.fail('no_results', `The download of "${input.dataset_code}" carried no observations.`, {
281
+ recovery: {
282
+ hint: `Eurostat returned a table with no populated cells for "${input.dataset_code}". Verify the filter values with eurostat_get_dimension_values — a combination present in no cell downloads as an empty body.${range
283
+ ? ` Also check that ${range} overlaps the series: a range outside the series' own coverage downloads as an empty table too.`
284
+ : ''}`,
285
+ },
286
+ });
287
+ }
288
+ const canvas = getCanvas();
289
+ if (canvas) {
290
+ const instance = await acquireCanvas(canvas, input.canvas_id, ctx);
291
+ const handle = await instance.registerTable(newTableName(), prepend(first.value, rows), {
292
+ schema: bulkRowSchema(download.header.dimensions, download.valueText),
293
+ signal: ctx.signal,
294
+ });
295
+ staged = {
296
+ canvasId: instance.canvasId,
297
+ stagedRowCount: handle.rowCount,
298
+ tableName: handle.tableName,
299
+ };
300
+ }
301
+ else {
302
+ /**
303
+ * Without a canvas the stream still runs to completion. Everything past
304
+ * the preview is discarded, but the counts, the period coverage and the
305
+ * budget verdict then describe the download rather than describing the
306
+ * preview — and the byte budget still bounds what is transferred. Stopping
307
+ * at preview_limit instead would report a row count of 50 for a dataset of
308
+ * millions.
309
+ */
310
+ for await (const _row of rows) {
311
+ // Drained for its counters; nothing is retained past the preview.
312
+ }
262
313
  }
263
314
  }
315
+ finally {
316
+ await rows.return(undefined);
317
+ }
264
318
  const { stats } = download;
265
319
  const firstPeriod = stats.periodsSeen[0];
266
320
  const lastPeriod = stats.periodsSeen.at(-1);
267
- if (stats.rowCount === 0) {
268
- const range = [
269
- ...(sinceP ? [`since_period "${sinceP}"`] : []),
270
- ...(untilP ? [`until_period "${untilP}"`] : []),
271
- ].join(' and ');
272
- throw ctx.fail('no_results', `The download of "${input.dataset_code}" carried no observations.`, {
273
- recovery: {
274
- hint: `Eurostat returned a table with no populated cells for "${input.dataset_code}". Verify the filter values with eurostat_get_dimension_values — a combination present in no cell downloads as an empty body.${range
275
- ? ` Also check that ${range} overlaps the series: a range outside the series' own coverage downloads as an empty table too.`
276
- : ''}`,
277
- },
278
- });
279
- }
280
321
  ctx.log.info('Bulk download complete', {
281
322
  datasetCode: input.dataset_code,
282
323
  rowCount: stats.rowCount,
@@ -370,11 +411,21 @@ export const eurostatDownloadDataset = tool('eurostat_download_dataset', {
370
411
  * This resolves the reason and the caller-facing recovery hint; the handler does
371
412
  * the throwing, so `ctx.fail` stays typed against the union rather than taking a
372
413
  * bare string.
414
+ *
415
+ * `request.dimensions` is the dataset's dimension list, when known, and
416
+ * `request.filtered` the dimensions the request already filtered — together they let
417
+ * a too-large refusal name the dimensions still open to filter.
373
418
  */
374
- export function mapBulkFailure(err, datasetCode) {
419
+ function mapBulkFailure(err, datasetCode, request) {
375
420
  const reason = err.data?.reason;
376
421
  const message = err.message;
377
422
  switch (reason) {
423
+ case 'extraction_too_big':
424
+ return {
425
+ reason,
426
+ message,
427
+ hint: `Eurostat will not serve this extraction of "${datasetCode}" whole, and retrying repeats the refusal. ${narrowingAdvice(datasetCode, request.dimensions, request.filtered)}`,
428
+ };
378
429
  case 'not_found':
379
430
  return {
380
431
  reason,
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-download-dataset.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-download-dataset.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eurostat-download-dataset.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-download-dataset.tool.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,9 @@ export declare const eurostatGetDatasetInfo: import("@cyanheads/mcp-ts-core").To
31
31
  readonly when: "The dataset code does not exist or is not available for dissemination.";
32
32
  readonly recovery: "Use eurostat_search_datasets or eurostat_browse_themes to find a valid dataset code.";
33
33
  }, {
34
- readonly reason: "async_response";
34
+ readonly reason: "upstream_fault";
35
35
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
36
- readonly when: "Eurostat returned an async response (query too large for the API).";
37
- readonly retryable: false;
38
- readonly recovery: "The same call cannot succeed — this tool has no filters to narrow. Use eurostat_search_datasets or eurostat_browse_themes for catalogue-level coverage, or eurostat_get_dimension_values for one dimension at a time.";
36
+ readonly when: "Eurostat returned a dataset structure or content constraint this server cannot read: malformed, truncated, not XML, or missing the requested dataset's dataflow.";
37
+ readonly recovery: "Retry in a few minutes, since a failed structure read is not cached. If it fails the same way, eurostat_query_dataset reads the observations, with dimension codes and labels, from a separate endpoint.";
39
38
  }], undefined>;
40
39
  //# sourceMappingURL=eurostat-get-dataset-info.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-get-dataset-info.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAGhF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyKjC,CAAC"}
1
+ {"version":3,"file":"eurostat-get-dataset-info.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAGhF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwKjC,CAAC"}
@@ -7,13 +7,13 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
7
  import { getEurostatDataService } from '../../../services/eurostat-data/eurostat-data-service.js';
8
8
  export const eurostatGetDatasetInfo = tool('eurostat_get_dataset_info', {
9
9
  title: 'Get Eurostat Dataset Info',
10
- description: 'Fetch metadata for a Eurostat dataset: dimensions with valid values, time range, observation count, and last-update date. Call this before eurostat_query_dataset or eurostat_download_dataset to discover what dimension codes are valid (unit, na_item, geo, etc.); eurostat_download_dataset builds its positional filter key from this dimension list, so a filter naming a dimension absent here is rejected outright. Returns up to 10 sample values per dimension for orientation; use eurostat_get_dimension_values to list the full set for large dimensions.',
10
+ description: 'Fetch metadata for a Eurostat dataset: dimensions with valid values, time range, observation count, and last-update date. Call this before eurostat_query_dataset or eurostat_download_dataset to discover what dimension codes are valid (unit, na_item, geo, etc.); eurostat_download_dataset builds its positional filter key from this dimension list, so a filter naming a dimension absent here is rejected outright. Returns up to 10 sample values per dimension for orientation; use eurostat_get_dimension_values to list the full set for large dimensions. A DS-* code (detailed trade and PRODCOM, in any case) is read from the Comext dissemination host, which reports no period coverage or observation count, so timeRange and obsCount come back unreported; the first call on a large Comext collection downloads its full structure (23 MB for DS-045409) and takes longer, and repeat calls within the hour reuse it.',
11
11
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
12
12
  input: z.object({
13
13
  dataset_code: z
14
14
  .string()
15
15
  .min(1)
16
- .describe('Dataset code (e.g., "nama_10_gdp"). Use eurostat_search_datasets or eurostat_browse_themes to find codes.'),
16
+ .describe('Dataset code (e.g., "nama_10_gdp", or "DS-045409" for a Comext collection). Use eurostat_search_datasets or eurostat_browse_themes to find codes.'),
17
17
  }),
18
18
  output: z.object({
19
19
  code: z.string().describe('Dataset code as provided.'),
@@ -74,11 +74,10 @@ export const eurostatGetDatasetInfo = tool('eurostat_get_dataset_info', {
74
74
  recovery: 'Use eurostat_search_datasets or eurostat_browse_themes to find a valid dataset code.',
75
75
  },
76
76
  {
77
- reason: 'async_response',
77
+ reason: 'upstream_fault',
78
78
  code: JsonRpcErrorCode.ServiceUnavailable,
79
- when: 'Eurostat returned an async response (query too large for the API).',
80
- retryable: false,
81
- recovery: 'The same call cannot succeed — this tool has no filters to narrow. Use eurostat_search_datasets or eurostat_browse_themes for catalogue-level coverage, or eurostat_get_dimension_values for one dimension at a time.',
79
+ when: "Eurostat returned a dataset structure or content constraint this server cannot read: malformed, truncated, not XML, or missing the requested dataset's dataflow.",
80
+ recovery: 'Retry in a few minutes, since a failed structure read is not cached. If it fails the same way, eurostat_query_dataset reads the observations, with dimension codes and labels, from a separate endpoint.',
82
81
  },
83
82
  ],
84
83
  async handler(input, ctx) {
@@ -96,10 +95,10 @@ export const eurostatGetDatasetInfo = tool('eurostat_get_dataset_info', {
96
95
  },
97
96
  });
98
97
  }
99
- if (reason === 'async_response') {
100
- throw ctx.fail('async_response', err.message, {
98
+ if (reason === 'upstream_fault') {
99
+ throw ctx.fail('upstream_fault', err.message, {
101
100
  recovery: {
102
- hint: `Eurostat returned an oversized-response warning for "${input.dataset_code}", and this call exposes no filters to narrow — the same request will fail the same way. Use eurostat_search_datasets or eurostat_browse_themes for catalogue-level coverage (period range, observation count), or eurostat_get_dimension_values to inspect one dimension at a time.`,
101
+ hint: `Eurostat returned a structure for "${input.dataset_code}" that this server cannot read. A failed read is not cached, so retry in a few minutes. If it fails the same way, eurostat_query_dataset reads the dataset's observations, with their dimension codes and labels, from the Statistics API, which does not depend on this structure; start with last_n_periods: 1 to keep the match small.`,
103
102
  },
104
103
  });
105
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-get-dataset-info.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eurostat-get-dataset-info.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare const eurostatGetDimensionValues: import("@cyanheads/mcp-ts-core"
14
14
  nuts2: "nuts2";
15
15
  nuts3: "nuts3";
16
16
  }>>;
17
+ canvas_id: z.ZodOptional<z.ZodString>;
17
18
  }, z.core.$strip>, z.ZodObject<{
18
19
  dimensionCode: z.ZodString;
19
20
  dimensionLabel: z.ZodString;
@@ -29,17 +30,14 @@ export declare const eurostatGetDimensionValues: import("@cyanheads/mcp-ts-core"
29
30
  label: z.ZodString;
30
31
  }, z.core.$strip>>;
31
32
  totalCount: z.ZodNumber;
33
+ canvasId: z.ZodOptional<z.ZodString>;
34
+ tableName: z.ZodOptional<z.ZodString>;
35
+ stagedRowCount: z.ZodOptional<z.ZodNumber>;
32
36
  }, z.core.$strip>, readonly [{
33
37
  readonly reason: "not_found";
34
38
  readonly code: JsonRpcErrorCode.NotFound;
35
39
  readonly when: "The dataset code or dimension code does not exist.";
36
40
  readonly recovery: "Verify the dataset code with eurostat_search_datasets and the dimension code with eurostat_get_dataset_info.";
37
- }, {
38
- readonly reason: "async_response";
39
- readonly code: JsonRpcErrorCode.ServiceUnavailable;
40
- readonly when: "Eurostat returned an asynchronous-response condition.";
41
- readonly retryable: false;
42
- readonly recovery: "Use eurostat_get_dataset_info for a sampled value set, or narrow the request with geo_level for the geo dimension.";
43
41
  }, {
44
42
  readonly reason: "no_results";
45
43
  readonly code: JsonRpcErrorCode.NotFound;
@@ -50,5 +48,21 @@ export declare const eurostatGetDimensionValues: import("@cyanheads/mcp-ts-core"
50
48
  readonly code: JsonRpcErrorCode.ValidationError;
51
49
  readonly when: "geo_level was combined with a dimension other than \"geo\", where it has no effect.";
52
50
  readonly recovery: "Drop geo_level to list that dimension, or set dimension to \"geo\" to filter by NUTS level.";
53
- }], undefined>;
51
+ }, {
52
+ readonly reason: "upstream_fault";
53
+ readonly code: JsonRpcErrorCode.ServiceUnavailable;
54
+ readonly when: "Eurostat returned a dataset structure or content constraint this server cannot read: malformed, truncated, not XML, or missing the requested dataset's dataflow.";
55
+ readonly recovery: "Retry in a few minutes, since a failed structure read is not cached. If it fails the same way, filter eurostat_query_dataset on the code in question: a code the dataset lacks comes back in unmatchedValues.";
56
+ }, {
57
+ readonly reason: "canvas_not_found";
58
+ readonly code: JsonRpcErrorCode.NotFound;
59
+ readonly when: "A canvas_id was supplied for staging but is unknown or its lifetime has elapsed.";
60
+ readonly recovery: "Pass the canvasId a recent eurostat_download_dataset or eurostat_query_dataset response returned, or omit canvas_id to list the values inline only.";
61
+ readonly thrownBy: "service";
62
+ }], {
63
+ readonly truncated: z.ZodOptional<z.ZodBoolean>;
64
+ readonly shown: z.ZodOptional<z.ZodNumber>;
65
+ readonly cap: z.ZodOptional<z.ZodNumber>;
66
+ readonly notice: z.ZodOptional<z.ZodString>;
67
+ }>;
54
68
  //# sourceMappingURL=eurostat-get-dimension-values.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-get-dimension-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAIhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8IrC,CAAC"}
1
+ {"version":3,"file":"eurostat-get-dimension-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAwBhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6OrC,CAAC"}