@cyanheads/cdc-health-mcp-server 0.6.2 → 0.6.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 +1 -1
- package/README.md +1 -1
- package/dist/mcp-server/prompts/definitions/analyze-health-trend.prompt.js +2 -2
- package/dist/mcp-server/prompts/definitions/analyze-health-trend.prompt.js.map +1 -1
- package/dist/mcp-server/resources/definitions/dataset-detail.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/dataset-detail.resource.js +2 -2
- package/dist/mcp-server/resources/definitions/dataset-detail.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/datasets.resource.d.ts +14 -1
- package/dist/mcp-server/resources/definitions/datasets.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/datasets.resource.js +17 -0
- package/dist/mcp-server/resources/definitions/datasets.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/discover-datasets.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/discover-datasets.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/discover-datasets.tool.js +7 -5
- package/dist/mcp-server/tools/definitions/discover-datasets.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-dataset-schema.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/get-dataset-schema.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-dataset-schema.tool.js +5 -3
- package/dist/mcp-server/tools/definitions/get-dataset-schema.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/query-dataset.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/query-dataset.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/query-dataset.tool.js +7 -11
- package/dist/mcp-server/tools/definitions/query-dataset.tool.js.map +1 -1
- package/dist/services/socrata/socrata-service.d.ts +0 -1
- package/dist/services/socrata/socrata-service.d.ts.map +1 -1
- package/dist/services/socrata/socrata-service.js +0 -8
- package/dist/services/socrata/socrata-service.js.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** cdc-health-statistics-mcp-server
|
|
4
|
-
**Version:** 0.6.
|
|
4
|
+
**Version:** 0.6.3
|
|
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.
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/@cyanheads/cdc-health-mcp-server) [](https://www.npmjs.com/package/@cyanheads/cdc-health-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
|
|
|
@@ -16,7 +16,7 @@ export const analyzeHealthTrend = prompt('analyze_health_trend', {
|
|
|
16
16
|
geography: z
|
|
17
17
|
.string()
|
|
18
18
|
.optional()
|
|
19
|
-
.describe('Geographic scope — "national", a specific state name, or "all states" for comparison. Defaults to national.'),
|
|
19
|
+
.describe('Geographic scope — "national", a specific state name (e.g., "California"), or "all states" for comparison. Defaults to national.'),
|
|
20
20
|
}),
|
|
21
21
|
generate: (args) => {
|
|
22
22
|
const timeContext = args.timeRange ? ` Focus on the period ${args.timeRange}.` : '';
|
|
@@ -37,7 +37,7 @@ export const analyzeHealthTrend = prompt('analyze_health_trend', {
|
|
|
37
37
|
'',
|
|
38
38
|
'2. **Inspect** — Use `cdc_get_dataset_schema` on the top 2-3 candidates. Check column names, types, and what filtering dimensions are available (year, state, demographic breakdowns, etc.).',
|
|
39
39
|
'',
|
|
40
|
-
'3. **Baseline** —
|
|
40
|
+
'3. **Baseline** — Use `cdc_query_dataset` against the most relevant dataset for an initial picture. Start broad, then narrow. Check what years, states, and categories are actually present in the data.',
|
|
41
41
|
'',
|
|
42
42
|
'4. **Compare** — Look for trends over time, geographic variation, or demographic disparities depending on what the data supports. Use aggregation (GROUP BY) for summaries.',
|
|
43
43
|
'',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-health-trend.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/analyze-health-trend.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,EAAE;IAC/D,WAAW,EACT,4OAA4O;IAC9O,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,uIAAuI,CACxI;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gGAAgG,CACjG;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"analyze-health-trend.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/analyze-health-trend.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,EAAE;IAC/D,WAAW,EACT,4OAA4O;IAC9O,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,uIAAuI,CACxI;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gGAAgG,CACjG;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,kIAAkI,CACnI;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS;YAC/B,CAAC,CAAC,sBAAsB,IAAI,CAAC,SAAS,GAAG;YACzC,CAAC,CAAC,+BAA+B,CAAC;QAEpC,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,6DAA6D,IAAI,CAAC,KAAK,KAAK,WAAW,GAAG,UAAU,EAAE;wBACtG,EAAE;wBACF,uBAAuB;wBACvB,EAAE;wBACF,qMAAqM;wBACrM,EAAE;wBACF,8LAA8L;wBAC9L,EAAE;wBACF,0MAA0M;wBAC1M,EAAE;wBACF,6KAA6K;wBAC7K,EAAE;wBACF,qEAAqE;wBACrE,6EAA6E;wBAC7E,kEAAkE;wBAClE,yDAAyD;wBACzD,4CAA4C;qBAC7C,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const datasetDetailResource: import("@cyanheads/mcp-ts-core").Res
|
|
|
16
16
|
readonly code: JsonRpcErrorCode.RateLimited;
|
|
17
17
|
readonly when: "Socrata API returns 429 Too Many Requests.";
|
|
18
18
|
readonly retryable: true;
|
|
19
|
-
readonly recovery: "
|
|
19
|
+
readonly recovery: "Retry after a brief delay; the request was rate-limited.";
|
|
20
20
|
}, {
|
|
21
21
|
readonly reason: "upstream_error";
|
|
22
22
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
@@ -7,7 +7,7 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
|
7
7
|
import { getSocrataService } from '../../../services/socrata/socrata-service.js';
|
|
8
8
|
export const datasetDetailResource = resource('cdc://datasets/{datasetId}', {
|
|
9
9
|
name: 'CDC Dataset Detail',
|
|
10
|
-
description: 'Dataset metadata and column schema for a specific CDC dataset
|
|
10
|
+
description: 'Dataset metadata and column schema for a specific CDC dataset, addressable by URI. Same payload as cdc_get_dataset_schema.',
|
|
11
11
|
mimeType: 'application/json',
|
|
12
12
|
errors: [
|
|
13
13
|
{
|
|
@@ -21,7 +21,7 @@ export const datasetDetailResource = resource('cdc://datasets/{datasetId}', {
|
|
|
21
21
|
code: JsonRpcErrorCode.RateLimited,
|
|
22
22
|
when: 'Socrata API returns 429 Too Many Requests.',
|
|
23
23
|
retryable: true,
|
|
24
|
-
recovery: '
|
|
24
|
+
recovery: 'Retry after a brief delay; the request was rate-limited.',
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
reason: 'upstream_error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-detail.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/dataset-detail.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,4BAA4B,EAAE;IAC1E,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"dataset-detail.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/dataset-detail.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,4BAA4B,EAAE;IAC1E,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,4HAA4H;IAC9H,QAAQ,EAAE,kBAAkB;IAE5B,MAAM,EAAE;QACN;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,gDAAgD;YACtD,QAAQ,EACN,yFAAyF;SAC5F;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,4CAA4C;YAClD,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,0DAA0D;SACrE;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,wEAAwE;YAC9E,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,yEAAyE;SACpF;KACF;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,0BAA0B;gBAC/B,IAAI,EAAE,+CAA+C;gBACrD,QAAQ,EAAE,kBAAkB;aAC7B;YACD;gBACE,GAAG,EAAE,0BAA0B;gBAC/B,IAAI,EAAE,4CAA4C;gBAClD,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,KAAK,CAAC,2BAA2B,CAAC;aAClC,QAAQ,CAAC,sDAAsD,CAAC;KACpE,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -2,7 +2,20 @@
|
|
|
2
2
|
* @fileoverview Resource listing the top 50 CDC datasets by popularity for orientation.
|
|
3
3
|
* @module mcp-server/resources/definitions/datasets
|
|
4
4
|
*/
|
|
5
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
5
6
|
export declare const datasetsResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<import("zod").ZodObject<Readonly<{
|
|
6
7
|
[k: string]: import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>;
|
|
7
|
-
}>, import("zod/v4/core").$strip>, undefined,
|
|
8
|
+
}>, import("zod/v4/core").$strip>, undefined, readonly [{
|
|
9
|
+
readonly reason: "rate_limited";
|
|
10
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
11
|
+
readonly when: "Socrata API returns 429 Too Many Requests.";
|
|
12
|
+
readonly retryable: true;
|
|
13
|
+
readonly recovery: "Retry after a brief delay; the request was rate-limited.";
|
|
14
|
+
}, {
|
|
15
|
+
readonly reason: "upstream_error";
|
|
16
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
17
|
+
readonly when: "Socrata catalog API returned a non-success status outside of 429.";
|
|
18
|
+
readonly retryable: true;
|
|
19
|
+
readonly recovery: "Retry after a brief delay; the catalog may be temporarily unavailable.";
|
|
20
|
+
}]>;
|
|
8
21
|
//# sourceMappingURL=datasets.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasets.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/datasets.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"datasets.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/datasets.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;GAiD3B,CAAC"}
|
|
@@ -3,11 +3,28 @@
|
|
|
3
3
|
* @module mcp-server/resources/definitions/datasets
|
|
4
4
|
*/
|
|
5
5
|
import { resource } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
import { getSocrataService } from '../../../services/socrata/socrata-service.js';
|
|
7
8
|
export const datasetsResource = resource('cdc://datasets', {
|
|
8
9
|
name: 'CDC Dataset Catalog',
|
|
9
10
|
description: 'Top 50 CDC datasets by popularity with names, categories, and update timestamps. Provides an overview of the CDC data landscape for orientation. Use cdc_discover_datasets for full catalog search with filtering and pagination.',
|
|
10
11
|
mimeType: 'application/json',
|
|
12
|
+
errors: [
|
|
13
|
+
{
|
|
14
|
+
reason: 'rate_limited',
|
|
15
|
+
code: JsonRpcErrorCode.RateLimited,
|
|
16
|
+
when: 'Socrata API returns 429 Too Many Requests.',
|
|
17
|
+
retryable: true,
|
|
18
|
+
recovery: 'Retry after a brief delay; the request was rate-limited.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
reason: 'upstream_error',
|
|
22
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
23
|
+
when: 'Socrata catalog API returned a non-success status outside of 429.',
|
|
24
|
+
retryable: true,
|
|
25
|
+
recovery: 'Retry after a brief delay; the catalog may be temporarily unavailable.',
|
|
26
|
+
},
|
|
27
|
+
],
|
|
11
28
|
list: async () => ({
|
|
12
29
|
resources: [
|
|
13
30
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasets.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/datasets.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAAE;IACzD,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,mOAAmO;IACrO,QAAQ,EAAE,kBAAkB;IAE5B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG;QACxB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAE9E,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"datasets.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/datasets.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAAE;IACzD,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,mOAAmO;IACrO,QAAQ,EAAE,kBAAkB;IAE5B,MAAM,EAAE;QACN;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,4CAA4C;YAClD,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,0DAA0D;SACrE;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,mEAAmE;YACzE,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,wEAAwE;SACnF;KACF;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG;QACxB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAE9E,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -33,7 +33,7 @@ export declare const discoverDatasets: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
33
33
|
readonly code: JsonRpcErrorCode.RateLimited;
|
|
34
34
|
readonly when: "Socrata API returns 429 Too Many Requests.";
|
|
35
35
|
readonly retryable: true;
|
|
36
|
-
readonly recovery: "
|
|
36
|
+
readonly recovery: "Retry after a brief delay; the request was rate-limited.";
|
|
37
37
|
}, {
|
|
38
38
|
readonly reason: "upstream_error";
|
|
39
39
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-datasets.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/discover-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;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":"discover-datasets.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/discover-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgK3B,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getSocrataService } from '../../../services/socrata/socrata-service.js';
|
|
8
8
|
export const discoverDatasets = tool('cdc_discover_datasets', {
|
|
9
|
-
description: 'Search the CDC dataset catalog by keyword, category, or tag. Returns dataset IDs, names, descriptions, column lists, and update timestamps.
|
|
9
|
+
description: 'Search the CDC dataset catalog by keyword, category, or tag. Returns dataset IDs, names, descriptions, column lists, and update timestamps.',
|
|
10
10
|
annotations: { readOnlyHint: true },
|
|
11
11
|
errors: [
|
|
12
12
|
{
|
|
@@ -14,7 +14,7 @@ export const discoverDatasets = tool('cdc_discover_datasets', {
|
|
|
14
14
|
code: JsonRpcErrorCode.RateLimited,
|
|
15
15
|
when: 'Socrata API returns 429 Too Many Requests.',
|
|
16
16
|
retryable: true,
|
|
17
|
-
recovery: '
|
|
17
|
+
recovery: 'Retry after a brief delay; the request was rate-limited.',
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
reason: 'upstream_error',
|
|
@@ -57,7 +57,9 @@ export const discoverDatasets = tool('cdc_discover_datasets', {
|
|
|
57
57
|
.array(z
|
|
58
58
|
.object({
|
|
59
59
|
id: z.string().describe('Four-by-four dataset identifier (e.g., "bi63-dtpu").'),
|
|
60
|
-
name: z
|
|
60
|
+
name: z
|
|
61
|
+
.string()
|
|
62
|
+
.describe('Dataset display name from the catalog (e.g., "Provisional COVID-19 Deaths by Sex and Age").'),
|
|
61
63
|
description: z
|
|
62
64
|
.string()
|
|
63
65
|
.optional()
|
|
@@ -84,7 +86,7 @@ export const discoverDatasets = tool('cdc_discover_datasets', {
|
|
|
84
86
|
category: z.string().optional().describe('Category filter used.'),
|
|
85
87
|
tags: z.array(z.string()).optional().describe('Tag filters used.'),
|
|
86
88
|
})
|
|
87
|
-
.describe('Filters applied to this
|
|
89
|
+
.describe('Filters that were applied to this query; absent fields indicate no filter on that dimension.'),
|
|
88
90
|
}),
|
|
89
91
|
async handler(input, ctx) {
|
|
90
92
|
const service = getSocrataService();
|
|
@@ -131,7 +133,7 @@ export const discoverDatasets = tool('cdc_discover_datasets', {
|
|
|
131
133
|
const views = typeof d.pageViews === 'number' ? d.pageViews.toLocaleString() : '—';
|
|
132
134
|
lines.push(`**ID:** \`${d.id}\` | **Category:** ${d.category ?? '—'} | **Updated:** ${d.updatedAt ?? '—'} | **Views:** ${views}`);
|
|
133
135
|
if (d.description)
|
|
134
|
-
lines.push(d.description
|
|
136
|
+
lines.push(d.description);
|
|
135
137
|
if (d.tags && d.tags.length > 0)
|
|
136
138
|
lines.push(`**Tags:** ${d.tags.join(', ')}`);
|
|
137
139
|
if (d.columnNames && d.columnNames.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-datasets.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/discover-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE;IAC5D,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"discover-datasets.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/discover-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE;IAC5D,WAAW,EACT,6IAA6I;IAC/I,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IAEnC,MAAM,EAAE;QACN;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,4CAA4C;YAClD,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,0DAA0D;SACrE;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,uEAAuE;YAC7E,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,wEAAwE;SACnF;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gHAAgH,CACjH;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uFAAuF,CACxF;QACH,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACvC,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,0CAA0C,CAAC;QACvD,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,8DAA8D,CAAC;KAC5E,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YAC/E,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,6FAA6F,CAC9F;YACH,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC1E,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC3E,WAAW,EAAE,CAAC;iBACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,WAAW,EAAE,CAAC;iBACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAC7E,CAAC;aACD,QAAQ,CAAC,iCAAiC,CAAC,CAC/C;aACA,QAAQ,CAAC,oBAAoB,CAAC;QACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAC5E,cAAc,EAAE,CAAC;aACd,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACjE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACnE,CAAC;aACD,QAAQ,CACP,8FAA8F,CAC/F;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,MAAM;YACT,cAAc,EAAE;gBACd,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;QACtC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhF,OAAO;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB,QAAQ,oIAAoI;iBACvK;aACF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9F,MAAM,KAAK,GAAG;YACZ,KAAK,MAAM,CAAC,UAAU,8BAA8B,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,IAAI;SAC/F,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACnF,KAAK,CAAC,IAAI,CACR,aAAa,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,QAAQ,IAAI,GAAG,mBAAmB,CAAC,CAAC,SAAS,IAAI,GAAG,iBAAiB,KAAK,EAAE,CACtH,CAAC;YACF,IAAI,CAAC,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW;qBAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC;qBACpE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -26,7 +26,7 @@ export declare const getDatasetSchema: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
26
26
|
readonly code: JsonRpcErrorCode.RateLimited;
|
|
27
27
|
readonly when: "Socrata API returns 429 Too Many Requests.";
|
|
28
28
|
readonly retryable: true;
|
|
29
|
-
readonly recovery: "
|
|
29
|
+
readonly recovery: "Retry after a brief delay; the request was rate-limited.";
|
|
30
30
|
}, {
|
|
31
31
|
readonly reason: "upstream_error";
|
|
32
32
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-dataset-schema.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-dataset-schema.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;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":"get-dataset-schema.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-dataset-schema.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8F3B,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getSocrataService } from '../../../services/socrata/socrata-service.js';
|
|
8
8
|
export const getDatasetSchema = tool('cdc_get_dataset_schema', {
|
|
9
|
-
description: 'Fetch the full column schema for a CDC dataset — names, data types, descriptions, row count, and last-updated timestamp.
|
|
9
|
+
description: 'Fetch the full column schema for a CDC dataset — names, data types, descriptions, row count, and last-updated timestamp. Get dataset IDs from cdc_discover_datasets.',
|
|
10
10
|
annotations: { readOnlyHint: true },
|
|
11
11
|
errors: [
|
|
12
12
|
{
|
|
@@ -20,7 +20,7 @@ export const getDatasetSchema = tool('cdc_get_dataset_schema', {
|
|
|
20
20
|
code: JsonRpcErrorCode.RateLimited,
|
|
21
21
|
when: 'Socrata API returns 429 Too Many Requests.',
|
|
22
22
|
retryable: true,
|
|
23
|
-
recovery: '
|
|
23
|
+
recovery: 'Retry after a brief delay; the request was rate-limited.',
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
reason: 'upstream_error',
|
|
@@ -37,7 +37,9 @@ export const getDatasetSchema = tool('cdc_get_dataset_schema', {
|
|
|
37
37
|
.describe('Four-by-four dataset identifier (e.g., "bi63-dtpu"). Obtain from cdc_discover_datasets.'),
|
|
38
38
|
}),
|
|
39
39
|
output: z.object({
|
|
40
|
-
name: z
|
|
40
|
+
name: z
|
|
41
|
+
.string()
|
|
42
|
+
.describe('Dataset display name from the catalog (e.g., "Provisional COVID-19 Deaths by Sex and Age").'),
|
|
41
43
|
description: z.string().optional().describe('Dataset description when provided.'),
|
|
42
44
|
rowCount: z
|
|
43
45
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-dataset-schema.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-dataset-schema.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,EAAE;IAC7D,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"get-dataset-schema.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-dataset-schema.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,11 +43,11 @@ export declare const queryDataset: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
43
43
|
readonly code: JsonRpcErrorCode.RateLimited;
|
|
44
44
|
readonly when: "Socrata API returns 429 Too Many Requests.";
|
|
45
45
|
readonly retryable: true;
|
|
46
|
-
readonly recovery: "
|
|
46
|
+
readonly recovery: "Retry after a brief delay; the request was rate-limited.";
|
|
47
47
|
}, {
|
|
48
48
|
readonly reason: "upstream_error";
|
|
49
49
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
50
|
-
readonly when: "Socrata data API returned a non-success status outside of
|
|
50
|
+
readonly when: "Socrata data API returned a non-success status outside of 404, 429, or validation errors.";
|
|
51
51
|
readonly retryable: true;
|
|
52
52
|
readonly recovery: "Retry after a brief delay; data.cdc.gov may be temporarily unavailable.";
|
|
53
53
|
}]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-dataset.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-dataset.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"query-dataset.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-dataset.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0JvB,CAAC"}
|
|
@@ -39,12 +39,12 @@ export const queryDataset = tool('cdc_query_dataset', {
|
|
|
39
39
|
code: JsonRpcErrorCode.RateLimited,
|
|
40
40
|
when: 'Socrata API returns 429 Too Many Requests.',
|
|
41
41
|
retryable: true,
|
|
42
|
-
recovery: '
|
|
42
|
+
recovery: 'Retry after a brief delay; the request was rate-limited.',
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
reason: 'upstream_error',
|
|
46
46
|
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
47
|
-
when: 'Socrata data API returned a non-success status outside of
|
|
47
|
+
when: 'Socrata data API returned a non-success status outside of 404, 429, or validation errors.',
|
|
48
48
|
retryable: true,
|
|
49
49
|
recovery: 'Retry after a brief delay; data.cdc.gov may be temporarily unavailable.',
|
|
50
50
|
},
|
|
@@ -57,7 +57,7 @@ export const queryDataset = tool('cdc_query_dataset', {
|
|
|
57
57
|
search: z
|
|
58
58
|
.string()
|
|
59
59
|
.optional()
|
|
60
|
-
.describe('Full-text search across all text columns
|
|
60
|
+
.describe('Full-text search across all text columns. For precise filtering use the where parameter instead.'),
|
|
61
61
|
select: z
|
|
62
62
|
.string()
|
|
63
63
|
.optional()
|
|
@@ -80,8 +80,8 @@ export const queryDataset = tool('cdc_query_dataset', {
|
|
|
80
80
|
.int()
|
|
81
81
|
.min(1)
|
|
82
82
|
.max(MAX_LIMIT)
|
|
83
|
-
.default(
|
|
84
|
-
.describe(`Max rows to return (default
|
|
83
|
+
.default(100)
|
|
84
|
+
.describe(`Max rows to return (default 100, max ${MAX_LIMIT}).`),
|
|
85
85
|
offset: z.number().int().min(0).default(0).describe('Row offset for pagination.'),
|
|
86
86
|
}),
|
|
87
87
|
output: z.object({
|
|
@@ -89,7 +89,7 @@ export const queryDataset = tool('cdc_query_dataset', {
|
|
|
89
89
|
.array(z.record(z.string(), z.unknown()))
|
|
90
90
|
.describe('Result rows with requested fields. Most values are strings (including numbers/dates); geo columns return GeoJSON objects.'),
|
|
91
91
|
rowCount: z.number().describe('Number of rows returned in this response.'),
|
|
92
|
-
query: z.string().describe('Assembled SoQL query string
|
|
92
|
+
query: z.string().describe('Assembled SoQL query string sent to Socrata.'),
|
|
93
93
|
}),
|
|
94
94
|
async handler(input, ctx) {
|
|
95
95
|
const service = getSocrataService();
|
|
@@ -126,8 +126,7 @@ export const queryDataset = tool('cdc_query_dataset', {
|
|
|
126
126
|
`| ${columns.join(' | ')} |`,
|
|
127
127
|
`| ${columns.map(() => '---').join(' | ')} |`,
|
|
128
128
|
];
|
|
129
|
-
const
|
|
130
|
-
for (const row of displayRows) {
|
|
129
|
+
for (const row of result.rows) {
|
|
131
130
|
const cells = columns.map((c) => {
|
|
132
131
|
const v = row[c];
|
|
133
132
|
const s = typeof v === 'string' ? v : v == null ? '' : JSON.stringify(v);
|
|
@@ -135,9 +134,6 @@ export const queryDataset = tool('cdc_query_dataset', {
|
|
|
135
134
|
});
|
|
136
135
|
lines.push(`| ${cells.join(' | ')} |`);
|
|
137
136
|
}
|
|
138
|
-
if (result.rows.length > 50) {
|
|
139
|
-
lines.push('', `*...and ${result.rows.length - 50} more rows (truncated in display)*`);
|
|
140
|
-
}
|
|
141
137
|
lines.push('', `**Query:** \`${result.query}\``);
|
|
142
138
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
143
139
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-dataset.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-dataset.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE;IACpD,WAAW,EACT,6OAA6O;IAC/O,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IAEnC,MAAM,EAAE;QACN;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,gDAAgD;YACtD,QAAQ,EACN,yFAAyF;SAC5F;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,mFAAmF;YACzF,QAAQ,EACN,+FAA+F;SAClG;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,iFAAiF;YACvF,QAAQ,EACN,gIAAgI;SACnI;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,uEAAuE;YAC7E,QAAQ,EACN,gGAAgG;SACnG;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,4CAA4C;YAClD,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"query-dataset.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/query-dataset.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socrata-service.d.ts","sourceRoot":"","sources":["../../../src/services/socrata/socrata-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAGV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"socrata-service.d.ts","sourceRoot":"","sources":["../../../src/services/socrata/socrata-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAGV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC7B;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAK;IAE5B;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IA8CvF;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAgCpF;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAwB9E,OAAO,CAAC,eAAe;YAwCT,SAAS;YA0CT,QAAQ;CAQvB;AAID,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { notFound, rateLimited, serviceUnavailable, validationError, } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getServerConfig } from '../../config/server-config.js';
|
|
8
|
-
const DATASET_ID_PATTERN = /^[a-z0-9]{4}-[a-z0-9]{4}$/;
|
|
9
8
|
const MIN_REQUEST_INTERVAL_MS = 250;
|
|
10
9
|
export class SocrataService {
|
|
11
10
|
lastRequestTime = 0;
|
|
@@ -60,7 +59,6 @@ export class SocrataService {
|
|
|
60
59
|
* Fetch full metadata and column schema for a dataset.
|
|
61
60
|
*/
|
|
62
61
|
async getMetadata(datasetId, signal) {
|
|
63
|
-
this.validateDatasetId(datasetId);
|
|
64
62
|
const config = getServerConfig();
|
|
65
63
|
const url = `${config.baseUrl}/api/views/${datasetId}.json`;
|
|
66
64
|
const data = await this.fetchJson(url, signal);
|
|
@@ -91,7 +89,6 @@ export class SocrataService {
|
|
|
91
89
|
* Execute a SoQL query against a CDC dataset.
|
|
92
90
|
*/
|
|
93
91
|
async query(options, signal) {
|
|
94
|
-
this.validateDatasetId(options.datasetId);
|
|
95
92
|
const config = getServerConfig();
|
|
96
93
|
const params = new URLSearchParams();
|
|
97
94
|
if (options.search)
|
|
@@ -147,11 +144,6 @@ export class SocrataService {
|
|
|
147
144
|
url,
|
|
148
145
|
});
|
|
149
146
|
}
|
|
150
|
-
validateDatasetId(datasetId) {
|
|
151
|
-
if (!DATASET_ID_PATTERN.test(datasetId)) {
|
|
152
|
-
throw validationError(`Invalid dataset ID "${datasetId}" — must match format [a-z0-9]{4}-[a-z0-9]{4} (e.g., "bi63-dtpu"). Get valid IDs from cdc_discover_datasets.`, { reason: 'invalid_dataset_id', datasetId });
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
147
|
async fetchJson(url, signal) {
|
|
156
148
|
await this.throttle();
|
|
157
149
|
const config = getServerConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socrata-service.js","sourceRoot":"","sources":["../../../src/services/socrata/socrata-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAS5D,MAAM,
|
|
1
|
+
{"version":3,"file":"socrata-service.js","sourceRoot":"","sources":["../../../src/services/socrata/socrata-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/cdc-health-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.6.
|
|
9
|
+
"version": "0.6.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/cdc-health-mcp-server",
|
|
21
21
|
"runtimeHint": "node",
|
|
22
|
-
"version": "0.6.
|
|
22
|
+
"version": "0.6.3",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
55
55
|
"identifier": "@cyanheads/cdc-health-mcp-server",
|
|
56
56
|
"runtimeHint": "node",
|
|
57
|
-
"version": "0.6.
|
|
57
|
+
"version": "0.6.3",
|
|
58
58
|
"packageArguments": [
|
|
59
59
|
{
|
|
60
60
|
"type": "positional",
|