@cyanheads/eurostat-mcp-server 0.3.0 → 0.5.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 (53) hide show
  1. package/CLAUDE.md +1 -1
  2. package/Dockerfile +16 -3
  3. package/README.md +50 -7
  4. package/dist/config/server-config.d.ts +2 -0
  5. package/dist/config/server-config.d.ts.map +1 -1
  6. package/dist/config/server-config.js +14 -0
  7. package/dist/config/server-config.js.map +1 -1
  8. package/dist/index.js +28 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.d.ts +40 -0
  11. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.d.ts.map +1 -0
  12. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.js +113 -0
  13. package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.js.map +1 -0
  14. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.d.ts +34 -0
  15. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.d.ts.map +1 -0
  16. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js +98 -0
  17. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js.map +1 -0
  18. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts +93 -0
  19. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts.map +1 -0
  20. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js +362 -0
  21. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js.map +1 -0
  22. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js +2 -2
  23. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js +2 -2
  25. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts +9 -0
  27. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js +68 -10
  29. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js +3 -3
  31. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js.map +1 -1
  32. package/dist/services/canvas-accessor.d.ts +31 -0
  33. package/dist/services/canvas-accessor.d.ts.map +1 -0
  34. package/dist/services/canvas-accessor.js +64 -0
  35. package/dist/services/canvas-accessor.js.map +1 -0
  36. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts +89 -0
  37. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts.map +1 -0
  38. package/dist/services/eurostat-bulk/eurostat-bulk-service.js +501 -0
  39. package/dist/services/eurostat-bulk/eurostat-bulk-service.js.map +1 -0
  40. package/dist/services/eurostat-bulk/types.d.ts +98 -0
  41. package/dist/services/eurostat-bulk/types.d.ts.map +1 -0
  42. package/dist/services/eurostat-bulk/types.js +82 -0
  43. package/dist/services/eurostat-bulk/types.js.map +1 -0
  44. package/dist/services/eurostat-data/eurostat-data-service.d.ts +63 -8
  45. package/dist/services/eurostat-data/eurostat-data-service.d.ts.map +1 -1
  46. package/dist/services/eurostat-data/eurostat-data-service.js +107 -13
  47. package/dist/services/eurostat-data/eurostat-data-service.js.map +1 -1
  48. package/dist/services/eurostat-data/types.d.ts +30 -0
  49. package/dist/services/eurostat-data/types.d.ts.map +1 -1
  50. package/dist/services/eurostat-data/types.js +4 -0
  51. package/dist/services/eurostat-data/types.js.map +1 -1
  52. package/package.json +2 -1
  53. package/server.json +85 -3
package/server.json CHANGED
@@ -12,14 +12,14 @@
12
12
  "url": "https://eurostat.caseyjhand.com/mcp"
13
13
  }
14
14
  ],
15
- "version": "0.3.0",
15
+ "version": "0.5.0",
16
16
  "packages": [
17
17
  {
18
18
  "registryType": "npm",
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/eurostat-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.3.0",
22
+ "version": "0.5.0",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -58,6 +58,47 @@
58
58
  "format": "string",
59
59
  "isRequired": false,
60
60
  "default": "43200000"
61
+ },
62
+ {
63
+ "name": "EUROSTAT_BULK_TIMEOUT_MS",
64
+ "description": "HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes.",
65
+ "format": "string",
66
+ "isRequired": false,
67
+ "default": "120000"
68
+ },
69
+ {
70
+ "name": "EUROSTAT_BULK_MAX_BYTES",
71
+ "description": "Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB.",
72
+ "format": "string",
73
+ "isRequired": false,
74
+ "default": "52428800"
75
+ },
76
+ {
77
+ "name": "CANVAS_PROVIDER_TYPE",
78
+ "description": "Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch.",
79
+ "format": "string",
80
+ "isRequired": false,
81
+ "default": "none"
82
+ },
83
+ {
84
+ "name": "CANVAS_TEMP_PATH",
85
+ "description": "Directory DuckDB writes canvas spill files to. Must be writable by the server process. Defaults to a 'mcp-canvas' directory under the OS temp directory.",
86
+ "format": "string",
87
+ "isRequired": false
88
+ },
89
+ {
90
+ "name": "CANVAS_TTL_MS",
91
+ "description": "Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.",
92
+ "format": "string",
93
+ "isRequired": false,
94
+ "default": "86400000"
95
+ },
96
+ {
97
+ "name": "CANVAS_DEFAULT_ROW_LIMIT",
98
+ "description": "Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated.",
99
+ "format": "string",
100
+ "isRequired": false,
101
+ "default": "10000"
61
102
  }
62
103
  ],
63
104
  "transport": {
@@ -69,7 +110,7 @@
69
110
  "registryBaseUrl": "https://registry.npmjs.org",
70
111
  "identifier": "@cyanheads/eurostat-mcp-server",
71
112
  "runtimeHint": "bun",
72
- "version": "0.3.0",
113
+ "version": "0.5.0",
73
114
  "packageArguments": [
74
115
  {
75
116
  "type": "positional",
@@ -142,6 +183,47 @@
142
183
  "format": "string",
143
184
  "isRequired": false,
144
185
  "default": "43200000"
186
+ },
187
+ {
188
+ "name": "EUROSTAT_BULK_TIMEOUT_MS",
189
+ "description": "HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes.",
190
+ "format": "string",
191
+ "isRequired": false,
192
+ "default": "120000"
193
+ },
194
+ {
195
+ "name": "EUROSTAT_BULK_MAX_BYTES",
196
+ "description": "Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB.",
197
+ "format": "string",
198
+ "isRequired": false,
199
+ "default": "52428800"
200
+ },
201
+ {
202
+ "name": "CANVAS_PROVIDER_TYPE",
203
+ "description": "Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch.",
204
+ "format": "string",
205
+ "isRequired": false,
206
+ "default": "none"
207
+ },
208
+ {
209
+ "name": "CANVAS_TEMP_PATH",
210
+ "description": "Directory DuckDB writes canvas spill files to. Must be writable by the server process. Defaults to a 'mcp-canvas' directory under the OS temp directory.",
211
+ "format": "string",
212
+ "isRequired": false
213
+ },
214
+ {
215
+ "name": "CANVAS_TTL_MS",
216
+ "description": "Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.",
217
+ "format": "string",
218
+ "isRequired": false,
219
+ "default": "86400000"
220
+ },
221
+ {
222
+ "name": "CANVAS_DEFAULT_ROW_LIMIT",
223
+ "description": "Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated.",
224
+ "format": "string",
225
+ "isRequired": false,
226
+ "default": "10000"
145
227
  }
146
228
  ],
147
229
  "transport": {