@cyanheads/fema-mcp-server 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/CLAUDE.md +2 -2
- package/README.md +2 -2
- package/changelog/0.1.x/0.1.10.md +28 -0
- package/changelog/0.1.x/0.1.11.md +12 -0
- package/dist/mcp-server/tools/definitions/fema-dataframe-describe.tool.d.ts +6 -0
- package/dist/mcp-server/tools/definitions/fema-dataframe-describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-dataframe-describe.tool.js +8 -1
- package/dist/mcp-server/tools/definitions/fema-dataframe-describe.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-dataframe-query.tool.d.ts +6 -0
- package/dist/mcp-server/tools/definitions/fema-dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-dataframe-query.tool.js +8 -1
- package/dist/mcp-server/tools/definitions/fema-dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-get-disaster.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-get-disaster.tool.js +4 -1
- package/dist/mcp-server/tools/definitions/fema-get-disaster.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-get-housing-assistance.tool.d.ts +5 -0
- package/dist/mcp-server/tools/definitions/fema-get-housing-assistance.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-get-housing-assistance.tool.js +17 -5
- package/dist/mcp-server/tools/definitions/fema-get-housing-assistance.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-get-public-assistance.tool.d.ts +5 -0
- package/dist/mcp-server/tools/definitions/fema-get-public-assistance.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-get-public-assistance.tool.js +13 -1
- package/dist/mcp-server/tools/definitions/fema-get-public-assistance.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-search-disasters.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-search-disasters.tool.js +5 -63
- package/dist/mcp-server/tools/definitions/fema-search-disasters.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-search-nfip.tool.d.ts +12 -1
- package/dist/mcp-server/tools/definitions/fema-search-nfip.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fema-search-nfip.tool.js +36 -1
- package/dist/mcp-server/tools/definitions/fema-search-nfip.tool.js.map +1 -1
- package/dist/services/openfema/openfema-service.js +3 -3
- package/dist/services/openfema/openfema-service.js.map +1 -1
- package/dist/services/openfema/us-states.d.ts +14 -0
- package/dist/services/openfema/us-states.d.ts.map +1 -0
- package/dist/services/openfema/us-states.js +74 -0
- package/dist/services/openfema/us-states.js.map +1 -0
- package/package.json +5 -5
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** fema-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.
|
|
4
|
+
**Version:** 0.1.11
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** fema-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.
|
|
4
|
+
**Version:** 0.1.11
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
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/fema-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/fema-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -143,7 +143,7 @@ FEMA/OpenFEMA-specific:
|
|
|
143
143
|
Agent-friendly output:
|
|
144
144
|
|
|
145
145
|
- Disaster number is the explicit join key across all datasets — every tool that touches a disaster surfaces it prominently so agents can chain calls without re-searching
|
|
146
|
-
- Typed error contracts on every tool — `invalid_state`, `no_results`, `missing_filter`, `
|
|
146
|
+
- Typed error contracts on every tool — `invalid_state`, `no_results`, `missing_filter`, `unknown_dataset`, `invalid_filter`, `canvas_unavailable` — with recovery hints telling agents the concrete next step
|
|
147
147
|
- `designatedAreaCount` on search results so agents know whether to drill in with `fema_get_disaster` without having to fetch the full record first
|
|
148
148
|
|
|
149
149
|
## Getting started
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Declaration-type render prefixes (FM/EM/DR), consistent invalid_state validation across all state-scoped tools, fema_search_nfip no_results contract; mcp-ts-core ^0.10.10 clears 7 bun audit advisories"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.10 — 2026-07-04
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`fema_search_nfip` `zip_code`** — tightened to `z.string().regex(/^\d{5}$/)`; a malformed ZIP is now rejected at the Zod layer instead of silently matching zero rows.
|
|
12
|
+
|
|
13
|
+
## Fixed
|
|
14
|
+
|
|
15
|
+
- **Declaration-type render prefixes** — `fema_search_disasters` and `fema_get_disaster` no longer hardcode `DR-`; `format()` interpolates the record's real `declaration_type` (`FM-<n>`, `EM-<n>`, `DR-<n>`) and falls back to a type-agnostic `Disaster #<n>` label when none is present. `fema_get_public_assistance` and `fema_get_housing_assistance` — whose records carry no declaration-type field — always render the type-agnostic form ([#11](https://github.com/cyanheads/fema-mcp-server/issues/11)).
|
|
16
|
+
- **State-code validation** — `fema_get_public_assistance`, `fema_get_housing_assistance`, and `fema_search_nfip` now reject unknown state/territory codes with a consistent `invalid_state` `ValidationError`, matching `fema_search_disasters`. The shared `US_STATES` set moved to `src/services/openfema/us-states.ts`; the README's typed-error-contracts bullet no longer lists the nonexistent `state_required` reason ([#12](https://github.com/cyanheads/fema-mcp-server/issues/12)).
|
|
17
|
+
- **`fema_search_nfip` empty results** — throws a typed `no_results` `NotFound` error with a recovery hint instead of a silent `0 of 0` success, matching the other three state-scoped search tools ([#13](https://github.com/cyanheads/fema-mcp-server/issues/13)).
|
|
18
|
+
|
|
19
|
+
## Security
|
|
20
|
+
|
|
21
|
+
- **`bun audit`** now reports zero advisories (was 7). The `@cyanheads/mcp-ts-core` bump resolves `hono` to 4.12.27, clearing one high-severity CORS-reflection advisory ([GHSA-88fw-hqm2-52qc](https://github.com/advisories/GHSA-88fw-hqm2-52qc)) and four moderate `hono` advisories ([GHSA-wwfh-h76j-fc44](https://github.com/advisories/GHSA-wwfh-h76j-fc44), [GHSA-j6c9-x7qj-28xf](https://github.com/advisories/GHSA-j6c9-x7qj-28xf), [GHSA-rv63-4mwf-qqc2](https://github.com/advisories/GHSA-rv63-4mwf-qqc2), [GHSA-wgpf-jwqj-8h8p](https://github.com/advisories/GHSA-wgpf-jwqj-8h8p)). The lockfile refresh also drops the transitive `esbuild` resolution that carried one low-severity advisory ([GHSA-g7r4-m6w7-qqqr](https://github.com/advisories/GHSA-g7r4-m6w7-qqqr)).
|
|
22
|
+
|
|
23
|
+
## Dependency bumps
|
|
24
|
+
|
|
25
|
+
- `@cyanheads/mcp-ts-core` ^0.10.9 → ^0.10.10
|
|
26
|
+
- `@biomejs/biome` ^2.5.0 → ^2.5.2
|
|
27
|
+
- `@types/node` ^26.0.0 → ^26.1.0
|
|
28
|
+
- `tsc-alias` ^1.8.17 → ^1.9.0
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "fema_dataframe_describe/query throw typed canvas_unavailable instead of InternalError when DataCanvas is disabled; OpenFemaService throw sites now surface declared recovery hints and drop the raw upstream name field"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.11 — 2026-07-04
|
|
8
|
+
|
|
9
|
+
## Fixed
|
|
10
|
+
|
|
11
|
+
- **`fema_dataframe_describe` / `fema_dataframe_query`** — a disabled DataCanvas (`CANVAS_PROVIDER_TYPE` unset) now throws a typed `canvas_unavailable` `ServiceUnavailable` error with a recovery hint pointing to `fema_search_nfip` / `fema_query_dataset`, instead of an untyped `InternalError` ([#14](https://github.com/cyanheads/fema-mcp-server/issues/14)).
|
|
12
|
+
- **`OpenFemaService.fetchDataset`** — the `unknown_dataset` and `invalid_filter` throw sites now spread the tool's declared recovery hint into the error data, so `data.recovery.hint` and the `content[]` `Recovery:` line are populated on live errors instead of empty. The raw upstream `name` field is dropped from `invalid_filter` error data ([#15](https://github.com/cyanheads/fema-mcp-server/issues/15)).
|
|
@@ -23,5 +23,11 @@ export declare const femaDataframeDescribe: import("@cyanheads/mcp-ts-core").Too
|
|
|
23
23
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
24
24
|
readonly when: "The canvas_id does not correspond to an active canvas session.";
|
|
25
25
|
readonly recovery: "Re-run fema_search_nfip to stage a fresh canvas, then use the new canvas_id.";
|
|
26
|
+
}, {
|
|
27
|
+
readonly reason: "canvas_unavailable";
|
|
28
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
29
|
+
readonly retryable: false;
|
|
30
|
+
readonly when: "DataCanvas is disabled on this deployment (CANVAS_PROVIDER_TYPE is not set to duckdb).";
|
|
31
|
+
readonly recovery: "DataCanvas is disabled on this deployment, so the fema_dataframe_* tools are unavailable. Use fema_search_nfip or fema_query_dataset — both return data without canvas staging. Self-hosted operators can enable it by setting CANVAS_PROVIDER_TYPE=duckdb.";
|
|
26
32
|
}], undefined>;
|
|
27
33
|
//# sourceMappingURL=fema-dataframe-describe.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-dataframe-describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-describe.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,qBAAqB
|
|
1
|
+
{"version":3,"file":"fema-dataframe-describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-describe.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,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;cAwHhC,CAAC"}
|
|
@@ -55,11 +55,18 @@ export const femaDataframeDescribe = tool('fema_dataframe_describe', {
|
|
|
55
55
|
when: 'The canvas_id does not correspond to an active canvas session.',
|
|
56
56
|
recovery: 'Re-run fema_search_nfip to stage a fresh canvas, then use the new canvas_id.',
|
|
57
57
|
},
|
|
58
|
+
{
|
|
59
|
+
reason: 'canvas_unavailable',
|
|
60
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
61
|
+
retryable: false,
|
|
62
|
+
when: 'DataCanvas is disabled on this deployment (CANVAS_PROVIDER_TYPE is not set to duckdb).',
|
|
63
|
+
recovery: 'DataCanvas is disabled on this deployment, so the fema_dataframe_* tools are unavailable. Use fema_search_nfip or fema_query_dataset — both return data without canvas staging. Self-hosted operators can enable it by setting CANVAS_PROVIDER_TYPE=duckdb.',
|
|
64
|
+
},
|
|
58
65
|
],
|
|
59
66
|
async handler(input, ctx) {
|
|
60
67
|
const canvas = getCanvas();
|
|
61
68
|
if (!canvas) {
|
|
62
|
-
throw
|
|
69
|
+
throw ctx.fail('canvas_unavailable', 'DataCanvas is not enabled. Set CANVAS_PROVIDER_TYPE=duckdb to use fema_dataframe_describe.', { ...ctx.recoveryFor('canvas_unavailable') });
|
|
63
70
|
}
|
|
64
71
|
const instance = await canvas.acquire(input.canvas_id, ctx);
|
|
65
72
|
const tableInfos = await instance.describe();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-dataframe-describe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-describe.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,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IACnE,KAAK,EAAE,iCAAiC;IACxC,WAAW,EACT,6EAA6E;QAC7E,yIAAyI;QACzI,wJAAwJ;IAC1J,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KAChF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,8EAA8E,CAC/E;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CACP,sFAAsF,CACvF;YACH,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CACP,qEAAqE,CACtE;gBACH,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CAAC,iEAAiE,CAAC;gBAC9E,QAAQ,EAAE,CAAC;qBACR,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACP,mFAAmF,CACpF;aACJ,CAAC;iBACD,QAAQ,CAAC,+BAA+B,CAAC,CAC7C;iBACA,QAAQ,CAAC,6CAA6C,CAAC;SAC3D,CAAC;aACD,QAAQ,CAAC,kDAAkD,CAAC,CAChE;aACA,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;KAC/F,CAAC;IACF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,gEAAgE;YACtE,QAAQ,EAAE,8EAA8E;SACzF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"fema-dataframe-describe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-describe.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,12 @@ export declare const femaDataframeQuery: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
16
16
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
17
17
|
readonly when: "The canvas_id does not correspond to an active canvas session.";
|
|
18
18
|
readonly recovery: "Re-run fema_search_nfip to stage a fresh canvas, then use the new canvas_id.";
|
|
19
|
+
}, {
|
|
20
|
+
readonly reason: "canvas_unavailable";
|
|
21
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
22
|
+
readonly retryable: false;
|
|
23
|
+
readonly when: "DataCanvas is disabled on this deployment (CANVAS_PROVIDER_TYPE is not set to duckdb).";
|
|
24
|
+
readonly recovery: "DataCanvas is disabled on this deployment, so the fema_dataframe_* tools are unavailable. Use fema_search_nfip or fema_query_dataset — both return data without canvas staging. Self-hosted operators can enable it by setting CANVAS_PROVIDER_TYPE=duckdb.";
|
|
19
25
|
}, {
|
|
20
26
|
readonly reason: "invalid_query";
|
|
21
27
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-dataframe-query.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-query.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,kBAAkB
|
|
1
|
+
{"version":3,"file":"fema-dataframe-query.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-query.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,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;cAsG7B,CAAC"}
|
|
@@ -40,6 +40,13 @@ export const femaDataframeQuery = tool('fema_dataframe_query', {
|
|
|
40
40
|
when: 'The canvas_id does not correspond to an active canvas session.',
|
|
41
41
|
recovery: 'Re-run fema_search_nfip to stage a fresh canvas, then use the new canvas_id.',
|
|
42
42
|
},
|
|
43
|
+
{
|
|
44
|
+
reason: 'canvas_unavailable',
|
|
45
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
46
|
+
retryable: false,
|
|
47
|
+
when: 'DataCanvas is disabled on this deployment (CANVAS_PROVIDER_TYPE is not set to duckdb).',
|
|
48
|
+
recovery: 'DataCanvas is disabled on this deployment, so the fema_dataframe_* tools are unavailable. Use fema_search_nfip or fema_query_dataset — both return data without canvas staging. Self-hosted operators can enable it by setting CANVAS_PROVIDER_TYPE=duckdb.',
|
|
49
|
+
},
|
|
43
50
|
{
|
|
44
51
|
reason: 'invalid_query',
|
|
45
52
|
code: JsonRpcErrorCode.ValidationError,
|
|
@@ -50,7 +57,7 @@ export const femaDataframeQuery = tool('fema_dataframe_query', {
|
|
|
50
57
|
async handler(input, ctx) {
|
|
51
58
|
const canvas = getCanvas();
|
|
52
59
|
if (!canvas) {
|
|
53
|
-
throw
|
|
60
|
+
throw ctx.fail('canvas_unavailable', 'DataCanvas is not enabled. Set CANVAS_PROVIDER_TYPE=duckdb to use fema_dataframe_query.', { ...ctx.recoveryFor('canvas_unavailable') });
|
|
54
61
|
}
|
|
55
62
|
const instance = await canvas.acquire(input.canvas_id, ctx);
|
|
56
63
|
const result = await instance.query(input.query, { signal: ctx.signal });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-dataframe-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-query.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,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE;IAC7D,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,oFAAoF;QACpF,gHAAgH;QAChH,oCAAoC;QACpC,wGAAwG;QACxG,8FAA8F;IAChG,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CAAC,qEAAqE,CAAC;QAClF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,yGAAyG;YACvG,sKAAsK,CACzK;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC;aACJ,KAAK,CACJ,CAAC;aACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,CACP,4FAA4F,CAC7F,CACJ;aACA,QAAQ,CAAC,iCAAiC,CAAC;QAC9C,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CAAC,0EAA0E,CAAC;QACvF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;KAC5F,CAAC;IACF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,gEAAgE;YACtE,QAAQ,EAAE,8EAA8E;SACzF;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,iHAAiH;YACvH,QAAQ,EACN,4HAA4H;SAC/H;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"fema-dataframe-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-dataframe-query.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-get-disaster.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-disaster.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,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fema-get-disaster.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-disaster.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,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;cAgL1B,CAAC"}
|
|
@@ -126,7 +126,10 @@ export const femaGetDisaster = tool('fema_get_disaster', {
|
|
|
126
126
|
},
|
|
127
127
|
format: (result) => {
|
|
128
128
|
const lines = [];
|
|
129
|
-
|
|
129
|
+
const label = result.declaration_type
|
|
130
|
+
? `${result.declaration_type}-${result.disaster_number}`
|
|
131
|
+
: `Disaster #${result.disaster_number}`;
|
|
132
|
+
lines.push(`# ${label} — ${result.title}`);
|
|
130
133
|
lines.push(`**State:** ${result.state} | **Type:** ${result.declaration_type} | **Incident:** ${result.incident_type}`);
|
|
131
134
|
lines.push(`**Declared:** ${result.declaration_date}`);
|
|
132
135
|
if (result.incident_begin_date) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-get-disaster.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-disaster.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fema-get-disaster.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-disaster.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,11 @@ export declare const femaGetHousingAssistance: import("@cyanheads/mcp-ts-core").
|
|
|
43
43
|
owners_count: z.ZodNumber;
|
|
44
44
|
renters_count: z.ZodNumber;
|
|
45
45
|
}, z.core.$strip>, readonly [{
|
|
46
|
+
readonly reason: "invalid_state";
|
|
47
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
48
|
+
readonly when: "The state parameter is not a valid 2-letter US state/territory code.";
|
|
49
|
+
readonly recovery: "Provide a valid 2-letter US state code such as TX, CA, FL, or PR. Check the full list at FEMA.gov.";
|
|
50
|
+
}, {
|
|
46
51
|
readonly reason: "no_results";
|
|
47
52
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
48
53
|
readonly when: "No IA housing records found for this disaster.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-get-housing-assistance.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-housing-assistance.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-get-housing-assistance.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-housing-assistance.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2SnC,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getOpenFemaService } from '../../../services/openfema/openfema-service.js';
|
|
8
|
+
import { US_STATES } from '../../../services/openfema/us-states.js';
|
|
8
9
|
export const femaGetHousingAssistance = tool('fema_get_housing_assistance', {
|
|
9
10
|
title: 'Get FEMA Housing Assistance Data',
|
|
10
11
|
description: 'Retrieve Individual Assistance (IA) housing data for a disaster by disaster number. ' +
|
|
@@ -126,6 +127,12 @@ export const femaGetHousingAssistance = tool('fema_get_housing_assistance', {
|
|
|
126
127
|
.describe('Total owner + renter records available before the per-dataset limit — exceeds the returned count when either dataset was capped.'),
|
|
127
128
|
},
|
|
128
129
|
errors: [
|
|
130
|
+
{
|
|
131
|
+
reason: 'invalid_state',
|
|
132
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
133
|
+
when: 'The state parameter is not a valid 2-letter US state/territory code.',
|
|
134
|
+
recovery: 'Provide a valid 2-letter US state code such as TX, CA, FL, or PR. Check the full list at FEMA.gov.',
|
|
135
|
+
},
|
|
129
136
|
{
|
|
130
137
|
reason: 'no_results',
|
|
131
138
|
code: JsonRpcErrorCode.NotFound,
|
|
@@ -134,6 +141,11 @@ export const femaGetHousingAssistance = tool('fema_get_housing_assistance', {
|
|
|
134
141
|
},
|
|
135
142
|
],
|
|
136
143
|
async handler(input, ctx) {
|
|
144
|
+
if (input.state && !US_STATES.has(input.state)) {
|
|
145
|
+
throw ctx.fail('invalid_state', `"${input.state}" is not a valid US state/territory code.`, {
|
|
146
|
+
...ctx.recoveryFor('invalid_state'),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
137
149
|
const svc = getOpenFemaService();
|
|
138
150
|
const baseFilter = [`disasterNumber eq ${input.disaster_number}`];
|
|
139
151
|
if (input.state?.trim()) {
|
|
@@ -161,7 +173,7 @@ export const femaGetHousingAssistance = tool('fema_get_housing_assistance', {
|
|
|
161
173
|
disasterNumber: input.disaster_number,
|
|
162
174
|
...ctx.recoveryFor('no_results'),
|
|
163
175
|
recovery: {
|
|
164
|
-
hint: `No housing assistance records found for
|
|
176
|
+
hint: `No housing assistance records found for disaster ${input.disaster_number}. IA housing data may take weeks to appear after a declaration. Verify the disaster number via fema_get_disaster and try again later.`,
|
|
165
177
|
},
|
|
166
178
|
});
|
|
167
179
|
}
|
|
@@ -201,10 +213,10 @@ export const femaGetHousingAssistance = tool('fema_get_housing_assistance', {
|
|
|
201
213
|
lines.push(`## Owner Assistance (${result.owners.length} of ${result.owners_count} records)`);
|
|
202
214
|
for (const o of result.owners) {
|
|
203
215
|
const loc = [o.county, o.city, o.zip_code].filter(Boolean).join(', ');
|
|
204
|
-
const locLabel = loc || `
|
|
216
|
+
const locLabel = loc || `Disaster #${o.disaster_number}`;
|
|
205
217
|
lines.push(`### ${locLabel}`);
|
|
206
218
|
if (o.state)
|
|
207
|
-
lines.push(`**State:** ${o.state} | **Disaster:**
|
|
219
|
+
lines.push(`**State:** ${o.state} | **Disaster:** #${o.disaster_number}`);
|
|
208
220
|
if (o.valid_registrations != null)
|
|
209
221
|
lines.push(`**Registrations:** ${o.valid_registrations}`);
|
|
210
222
|
if (o.approved_for_fema_assistance != null)
|
|
@@ -224,10 +236,10 @@ export const femaGetHousingAssistance = tool('fema_get_housing_assistance', {
|
|
|
224
236
|
lines.push(`## Renter Assistance (${result.renters.length} of ${result.renters_count} records)`);
|
|
225
237
|
for (const r of result.renters) {
|
|
226
238
|
const loc = [r.county, r.city, r.zip_code].filter(Boolean).join(', ');
|
|
227
|
-
const locLabel = loc || `
|
|
239
|
+
const locLabel = loc || `Disaster #${r.disaster_number}`;
|
|
228
240
|
lines.push(`### ${locLabel}`);
|
|
229
241
|
if (r.state)
|
|
230
|
-
lines.push(`**State:** ${r.state} | **Disaster:**
|
|
242
|
+
lines.push(`**State:** ${r.state} | **Disaster:** #${r.disaster_number}`);
|
|
231
243
|
if (r.valid_registrations != null)
|
|
232
244
|
lines.push(`**Registrations:** ${r.valid_registrations}`);
|
|
233
245
|
if (r.approved_for_fema_assistance != null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-get-housing-assistance.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-housing-assistance.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,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-get-housing-assistance.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-housing-assistance.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,11 @@ export declare const femaGetPublicAssistance: import("@cyanheads/mcp-ts-core").T
|
|
|
30
30
|
total_count: z.ZodNumber;
|
|
31
31
|
returned_count: z.ZodNumber;
|
|
32
32
|
}, z.core.$strip>, readonly [{
|
|
33
|
+
readonly reason: "invalid_state";
|
|
34
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
35
|
+
readonly when: "The state parameter is not a valid 2-letter US state/territory code.";
|
|
36
|
+
readonly recovery: "Provide a valid 2-letter US state code such as TX, CA, FL, or PR. Check the full list at FEMA.gov.";
|
|
37
|
+
}, {
|
|
33
38
|
readonly reason: "missing_filter";
|
|
34
39
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
35
40
|
readonly when: "Neither disaster_number nor state was provided.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-get-public-assistance.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-public-assistance.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-get-public-assistance.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-public-assistance.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwPlC,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { escapeODataString, getOpenFemaService } from '../../../services/openfema/openfema-service.js';
|
|
8
|
+
import { US_STATES } from '../../../services/openfema/us-states.js';
|
|
8
9
|
export const femaGetPublicAssistance = tool('fema_get_public_assistance', {
|
|
9
10
|
title: 'Get FEMA Public Assistance Projects',
|
|
10
11
|
description: 'Retrieve Public Assistance (PA) funded project records for a disaster or state — shows where federal recovery money was obligated. ' +
|
|
@@ -107,6 +108,12 @@ export const femaGetPublicAssistance = tool('fema_get_public_assistance', {
|
|
|
107
108
|
.describe('Total matching projects before pagination — exceeds returned_count when results were capped at the limit.'),
|
|
108
109
|
},
|
|
109
110
|
errors: [
|
|
111
|
+
{
|
|
112
|
+
reason: 'invalid_state',
|
|
113
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
114
|
+
when: 'The state parameter is not a valid 2-letter US state/territory code.',
|
|
115
|
+
recovery: 'Provide a valid 2-letter US state code such as TX, CA, FL, or PR. Check the full list at FEMA.gov.',
|
|
116
|
+
},
|
|
110
117
|
{
|
|
111
118
|
reason: 'missing_filter',
|
|
112
119
|
code: JsonRpcErrorCode.ValidationError,
|
|
@@ -121,6 +128,11 @@ export const femaGetPublicAssistance = tool('fema_get_public_assistance', {
|
|
|
121
128
|
},
|
|
122
129
|
],
|
|
123
130
|
async handler(input, ctx) {
|
|
131
|
+
if (input.state && !US_STATES.has(input.state)) {
|
|
132
|
+
throw ctx.fail('invalid_state', `"${input.state}" is not a valid US state/territory code.`, {
|
|
133
|
+
...ctx.recoveryFor('invalid_state'),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
124
136
|
if (!input.disaster_number && !input.state?.trim()) {
|
|
125
137
|
throw ctx.fail('missing_filter', 'Either disaster_number or state must be provided.', {
|
|
126
138
|
...ctx.recoveryFor('missing_filter'),
|
|
@@ -179,7 +191,7 @@ export const femaGetPublicAssistance = tool('fema_get_public_assistance', {
|
|
|
179
191
|
for (const p of result.projects) {
|
|
180
192
|
const title = p.application_title ?? `PW-${p.pw_number ?? 'unknown'}`;
|
|
181
193
|
lines.push(`## ${title}`);
|
|
182
|
-
lines.push(`**Disaster:**
|
|
194
|
+
lines.push(`**Disaster:** #${p.disaster_number}`);
|
|
183
195
|
if (p.applicant_id)
|
|
184
196
|
lines.push(`**Applicant ID:** ${p.applicant_id}`);
|
|
185
197
|
if (p.damage_category_code) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-get-public-assistance.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-public-assistance.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,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-get-public-assistance.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-get-public-assistance.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,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,4BAA4B,EAAE;IACxE,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EACT,qIAAqI;QACrI,qHAAqH;QACrH,oDAAoD;QACpD,qIAAqI;QACrI,mGAAmG;IACrG,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;QAC7E,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC;aACT,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC1E,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,OAAO,CAAC,GAAG,CAAC;aACZ,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KACtF,CAAC;IACF,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,+CAA+C,CAAC;YACrF,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0EAA0E,CAAC;YACvF,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qFAAqF,CACtF;YACH,iBAAiB,EAAE,CAAC;iBACjB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0EAA0E,CAAC;YACvF,oBAAoB,EAAE,CAAC;iBACpB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qIAAqI,CACtI;YACH,2BAA2B,EAAE,CAAC;iBAC3B,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,6EAA6E,CAC9E;YACH,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,uBAAuB,EAAE,CAAC;iBACvB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,8EAA8E,CAC/E;YACH,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qFAAqF,CACtF;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qFAAqF,CACtF;YACH,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0FAA0F,CAC3F;YACH,qBAAqB,EAAE,CAAC;iBACrB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,oFAAoF,CACrF;SACJ,CAAC;aACD,QAAQ,CAAC,mDAAmD,CAAC,CACjE;aACA,QAAQ,CAAC,2CAA2C,CAAC;QACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC9E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KAC5E,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC9E,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2GAA2G,CAC5G;KACJ;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,sEAAsE;YAC5E,QAAQ,EACN,oGAAoG;SACvG;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,iDAAiD;YACvD,QAAQ,EACN,mHAAmH;SACtH;QACD;YACE,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,oDAAoD;YAC1D,QAAQ,EACN,sJAAsJ;SACzJ;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,KAAK,CAAC,KAAK,2CAA2C,EAAE;gBAC1F,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,mDAAmD,EAAE;gBACpF,GAAG,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YACxB,WAAW,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,eAAe,CAC/C;YACE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YACjC,OAAO,EAAE,qBAAqB;YAC9B,GAAG,EAAE,KAAK,CAAC,KAAK;YAChB,IAAI,EAAE,KAAK,CAAC,MAAM;SACnB,EACD,GAAG,CACJ,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,8BAA8B,EAAE;gBAC3D,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC;gBAChC,QAAQ,EAAE;oBACR,IAAI,EAAE,iNAAiN;iBACxN;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,eAAe,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC;YACtC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,CAAC,CAAC,qBAAqB,IAAI,IAAI;gBACjC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,qBAAqB,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,WAAW,kBAAkB,CAAC,CAAC;QAClF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CACR,wBAAwB,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9H,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,CAAC,uBAAuB,IAAI,IAAI,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,uBAAuB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC,YAAY;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,qBAAqB;gBAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAC3F,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-search-disasters.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-disasters.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-search-disasters.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-disasters.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuS9B,CAAC"}
|
|
@@ -5,68 +5,7 @@
|
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { escapeODataString, getOpenFemaService } from '../../../services/openfema/openfema-service.js';
|
|
8
|
-
|
|
9
|
-
const US_STATES = new Set([
|
|
10
|
-
'AL',
|
|
11
|
-
'AK',
|
|
12
|
-
'AZ',
|
|
13
|
-
'AR',
|
|
14
|
-
'CA',
|
|
15
|
-
'CO',
|
|
16
|
-
'CT',
|
|
17
|
-
'DE',
|
|
18
|
-
'FL',
|
|
19
|
-
'GA',
|
|
20
|
-
'HI',
|
|
21
|
-
'ID',
|
|
22
|
-
'IL',
|
|
23
|
-
'IN',
|
|
24
|
-
'IA',
|
|
25
|
-
'KS',
|
|
26
|
-
'KY',
|
|
27
|
-
'LA',
|
|
28
|
-
'ME',
|
|
29
|
-
'MD',
|
|
30
|
-
'MA',
|
|
31
|
-
'MI',
|
|
32
|
-
'MN',
|
|
33
|
-
'MS',
|
|
34
|
-
'MO',
|
|
35
|
-
'MT',
|
|
36
|
-
'NE',
|
|
37
|
-
'NV',
|
|
38
|
-
'NH',
|
|
39
|
-
'NJ',
|
|
40
|
-
'NM',
|
|
41
|
-
'NY',
|
|
42
|
-
'NC',
|
|
43
|
-
'ND',
|
|
44
|
-
'OH',
|
|
45
|
-
'OK',
|
|
46
|
-
'OR',
|
|
47
|
-
'PA',
|
|
48
|
-
'RI',
|
|
49
|
-
'SC',
|
|
50
|
-
'SD',
|
|
51
|
-
'TN',
|
|
52
|
-
'TX',
|
|
53
|
-
'UT',
|
|
54
|
-
'VT',
|
|
55
|
-
'VA',
|
|
56
|
-
'WA',
|
|
57
|
-
'WV',
|
|
58
|
-
'WI',
|
|
59
|
-
'WY',
|
|
60
|
-
'DC',
|
|
61
|
-
'PR',
|
|
62
|
-
'VI',
|
|
63
|
-
'GU',
|
|
64
|
-
'AS',
|
|
65
|
-
'MP',
|
|
66
|
-
'FM',
|
|
67
|
-
'MH',
|
|
68
|
-
'PW',
|
|
69
|
-
]);
|
|
8
|
+
import { US_STATES } from '../../../services/openfema/us-states.js';
|
|
70
9
|
export const femaSearchDisasters = tool('fema_search_disasters', {
|
|
71
10
|
title: 'Search FEMA Disaster Declarations',
|
|
72
11
|
description: 'Search federal disaster declarations by state, incident type, declaration type, date range, and county. ' +
|
|
@@ -282,7 +221,10 @@ export const femaSearchDisasters = tool('fema_search_disasters', {
|
|
|
282
221
|
const lines = [];
|
|
283
222
|
lines.push(`**${result.returned_count} unique declaration(s)** (from ${result.total_area_rows} designated-area rows)\n`);
|
|
284
223
|
for (const d of result.declarations) {
|
|
285
|
-
|
|
224
|
+
const label = d.declaration_type
|
|
225
|
+
? `${d.declaration_type}-${d.disaster_number}`
|
|
226
|
+
: `Disaster #${d.disaster_number}`;
|
|
227
|
+
lines.push(`## ${label} — ${d.title}`);
|
|
286
228
|
lines.push(`**State:** ${d.state} | **Type:** ${d.declaration_type} | **Incident:** ${d.incident_type}`);
|
|
287
229
|
lines.push(`**Declared:** ${d.declaration_date}`);
|
|
288
230
|
if (d.incident_begin_date) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-search-disasters.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-disasters.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,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-search-disasters.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-disasters.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/fema-search-nfip
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
export declare const femaSearchNfip: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
8
|
state: z.ZodString;
|
|
8
9
|
county_code: z.ZodOptional<z.ZodString>;
|
|
@@ -32,7 +33,17 @@ export declare const femaSearchNfip: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
32
33
|
canvas_table: z.ZodOptional<z.ZodString>;
|
|
33
34
|
spilled: z.ZodBoolean;
|
|
34
35
|
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
-
}, z.core.$strip>,
|
|
36
|
+
}, z.core.$strip>, readonly [{
|
|
37
|
+
readonly reason: "invalid_state";
|
|
38
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
39
|
+
readonly when: "The state parameter is not a valid 2-letter US state/territory code.";
|
|
40
|
+
readonly recovery: "Provide a valid 2-letter US state code such as TX, CA, FL, or PR. Check the full list at FEMA.gov.";
|
|
41
|
+
}, {
|
|
42
|
+
readonly reason: "no_results";
|
|
43
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
44
|
+
readonly when: "Query returned zero matching NFIP claims.";
|
|
45
|
+
readonly recovery: "Broaden the search by removing county_code, zip_code, or year filters, or verify the state code is correct.";
|
|
46
|
+
}], {
|
|
36
47
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
37
48
|
}>;
|
|
38
49
|
//# sourceMappingURL=fema-search-nfip.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-search-nfip.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-nfip.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fema-search-nfip.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-nfip.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAgGjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2bzB,CAAC"}
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { spillover } from '@cyanheads/mcp-ts-core/canvas';
|
|
7
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
8
|
import { getCanvas } from '../../../services/canvas/canvas-accessor.js';
|
|
8
9
|
import { escapeODataString, getOpenFemaService } from '../../../services/openfema/openfema-service.js';
|
|
10
|
+
import { US_STATES } from '../../../services/openfema/us-states.js';
|
|
9
11
|
/** Inline preview budget — ~25k tokens of JSON. */
|
|
10
12
|
const PREVIEW_CHARS = 100_000;
|
|
11
13
|
/** Cap on rows registered to canvas. */
|
|
@@ -114,7 +116,11 @@ export const femaSearchNfip = tool('fema_search_nfip', {
|
|
|
114
116
|
.string()
|
|
115
117
|
.optional()
|
|
116
118
|
.describe('County code to narrow results within the state. Accepts the full 5-digit state+county FIPS (e.g., 48201 for Harris County TX) or the 3-digit county portion (e.g., 201) when state is provided — the server prepends the state FIPS automatically.'),
|
|
117
|
-
zip_code: z
|
|
119
|
+
zip_code: z
|
|
120
|
+
.string()
|
|
121
|
+
.regex(/^\d{5}$/, 'ZIP code must be exactly 5 digits (e.g., 77002).')
|
|
122
|
+
.optional()
|
|
123
|
+
.describe('ZIP code to narrow results to a specific area (5-digit, e.g., 77002).'),
|
|
118
124
|
year_from: z
|
|
119
125
|
.number()
|
|
120
126
|
.int()
|
|
@@ -220,7 +226,26 @@ export const femaSearchNfip = tool('fema_search_nfip', {
|
|
|
220
226
|
enrichment: {
|
|
221
227
|
notice: z.string().optional().describe('Guidance on canvas usage or result scope.'),
|
|
222
228
|
},
|
|
229
|
+
errors: [
|
|
230
|
+
{
|
|
231
|
+
reason: 'invalid_state',
|
|
232
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
233
|
+
when: 'The state parameter is not a valid 2-letter US state/territory code.',
|
|
234
|
+
recovery: 'Provide a valid 2-letter US state code such as TX, CA, FL, or PR. Check the full list at FEMA.gov.',
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
reason: 'no_results',
|
|
238
|
+
code: JsonRpcErrorCode.NotFound,
|
|
239
|
+
when: 'Query returned zero matching NFIP claims.',
|
|
240
|
+
recovery: 'Broaden the search by removing county_code, zip_code, or year filters, or verify the state code is correct.',
|
|
241
|
+
},
|
|
242
|
+
],
|
|
223
243
|
async handler(input, ctx) {
|
|
244
|
+
if (input.state && !US_STATES.has(input.state)) {
|
|
245
|
+
throw ctx.fail('invalid_state', `"${input.state}" is not a valid US state/territory code.`, {
|
|
246
|
+
...ctx.recoveryFor('invalid_state'),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
224
249
|
// Normalize a bare 3-digit county code to the full 5-digit state+county FIPS.
|
|
225
250
|
// NFIP data stores countyCode as 5-digit FIPS; a 3-digit value silently returns zero rows.
|
|
226
251
|
let countyCode = input.county_code?.trim() ?? '';
|
|
@@ -347,6 +372,11 @@ export const femaSearchNfip = tool('fema_search_nfip', {
|
|
|
347
372
|
// Fits in preview — do NOT acquire a canvas or return canvas_id; nothing was staged.
|
|
348
373
|
ctx.log.info('NFIP claims fit inline', { rowCount: result.previewRows.length });
|
|
349
374
|
const inlineRows = result.previewRows.slice(0, input.limit);
|
|
375
|
+
if (inlineRows.length === 0) {
|
|
376
|
+
throw ctx.fail('no_results', `No NFIP claims matched the filters for ${input.state}.`, {
|
|
377
|
+
...ctx.recoveryFor('no_results'),
|
|
378
|
+
});
|
|
379
|
+
}
|
|
350
380
|
// Fetch the actual total count for this case (previewRows exhausted, count from first page)
|
|
351
381
|
// The generator already fetched the first page to check whether it overflows — but since
|
|
352
382
|
// result.spilled is false the entire source fit in the preview buffer, so result.previewRows
|
|
@@ -361,6 +391,11 @@ export const femaSearchNfip = tool('fema_search_nfip', {
|
|
|
361
391
|
// Canvas disabled — fetch inline only, bounded by input.limit.
|
|
362
392
|
const { rows: rawRows, count } = await svc.fetchNfipClaims({ filter, orderby: 'dateOfLoss desc', top: input.limit }, ctx);
|
|
363
393
|
const rows = rawRows.map(toCanvasRow);
|
|
394
|
+
if (rows.length === 0) {
|
|
395
|
+
throw ctx.fail('no_results', `No NFIP claims matched the filters for ${input.state}.`, {
|
|
396
|
+
...ctx.recoveryFor('no_results'),
|
|
397
|
+
});
|
|
398
|
+
}
|
|
364
399
|
ctx.log.info('NFIP claims inline (canvas disabled)', { returned: rows.length, count });
|
|
365
400
|
if (count > rows.length) {
|
|
366
401
|
ctx.enrich.notice(`Showing ${rows.length} of ${count} matching claims. Enable CANVAS_PROVIDER_TYPE=duckdb for full analytical access, or apply tighter filters.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fema-search-nfip.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-nfip.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fema-search-nfip.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fema-search-nfip.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,7 +79,7 @@ export class OpenFemaService {
|
|
|
79
79
|
}
|
|
80
80
|
// HTML content-type on a non-5xx (typically 404) = unknown dataset (Drupal error page).
|
|
81
81
|
if (isHtmlContentType) {
|
|
82
|
-
throw notFound(`Dataset "${dataset}" not found. Check the dataset name and verify it matches a valid OpenFEMA v2 entity name (e.g., FimaNfipClaims, DisasterDeclarationsSummaries).`, { reason: 'unknown_dataset', dataset });
|
|
82
|
+
throw notFound(`Dataset "${dataset}" not found. Check the dataset name and verify it matches a valid OpenFEMA v2 entity name (e.g., FimaNfipClaims, DisasterDeclarationsSummaries).`, { reason: 'unknown_dataset', dataset, ...ctx.recoveryFor('unknown_dataset') });
|
|
83
83
|
}
|
|
84
84
|
const text = await response.text();
|
|
85
85
|
// Body HTML check as fallback (some error pages send application/json content-type)
|
|
@@ -87,7 +87,7 @@ export class OpenFemaService {
|
|
|
87
87
|
if (response.status >= 500) {
|
|
88
88
|
throw serviceUnavailable(`OpenFEMA API returned HTTP ${response.status} for dataset "${dataset}" — possible rate limit. Retry after a short delay.`, { status: response.status, url });
|
|
89
89
|
}
|
|
90
|
-
throw notFound(`Dataset "${dataset}" not found. Check the dataset name and verify it matches a valid OpenFEMA v2 entity name (e.g., FimaNfipClaims, DisasterDeclarationsSummaries).`, { reason: 'unknown_dataset', dataset });
|
|
90
|
+
throw notFound(`Dataset "${dataset}" not found. Check the dataset name and verify it matches a valid OpenFEMA v2 entity name (e.g., FimaNfipClaims, DisasterDeclarationsSummaries).`, { reason: 'unknown_dataset', dataset, ...ctx.recoveryFor('unknown_dataset') });
|
|
91
91
|
}
|
|
92
92
|
if (!response.ok) {
|
|
93
93
|
// Parse structured FEMA error response
|
|
@@ -107,7 +107,7 @@ export class OpenFemaService {
|
|
|
107
107
|
throw validationError(cleanMessage, {
|
|
108
108
|
reason: 'invalid_filter',
|
|
109
109
|
code: e.code,
|
|
110
|
-
|
|
110
|
+
...ctx.recoveryFor('invalid_filter'),
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
throw serviceUnavailable(`OpenFEMA API error [${e.code}]: ${e.message}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openfema-service.js","sourceRoot":"","sources":["../../../src/services/openfema/openfema-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"openfema-service.js","sourceRoot":"","sources":["../../../src/services/openfema/openfema-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared set of valid US state/territory codes accepted by OpenFEMA.
|
|
3
|
+
* @module services/openfema/us-states
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Valid US state/territory abbreviations accepted by OpenFEMA.
|
|
7
|
+
*
|
|
8
|
+
* Single source of truth for state-code validation across the state-scoped FEMA
|
|
9
|
+
* tools (fema_search_disasters, fema_get_public_assistance, fema_get_housing_assistance,
|
|
10
|
+
* fema_search_nfip). Covers the 50 states, DC, the five inhabited territories, and the
|
|
11
|
+
* three Compact-of-Free-Association nations (FM, MH, PW) that OpenFEMA still lists.
|
|
12
|
+
*/
|
|
13
|
+
export declare const US_STATES: Set<string>;
|
|
14
|
+
//# sourceMappingURL=us-states.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"us-states.d.ts","sourceRoot":"","sources":["../../../src/services/openfema/us-states.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,aA4DpB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared set of valid US state/territory codes accepted by OpenFEMA.
|
|
3
|
+
* @module services/openfema/us-states
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Valid US state/territory abbreviations accepted by OpenFEMA.
|
|
7
|
+
*
|
|
8
|
+
* Single source of truth for state-code validation across the state-scoped FEMA
|
|
9
|
+
* tools (fema_search_disasters, fema_get_public_assistance, fema_get_housing_assistance,
|
|
10
|
+
* fema_search_nfip). Covers the 50 states, DC, the five inhabited territories, and the
|
|
11
|
+
* three Compact-of-Free-Association nations (FM, MH, PW) that OpenFEMA still lists.
|
|
12
|
+
*/
|
|
13
|
+
export const US_STATES = new Set([
|
|
14
|
+
'AL',
|
|
15
|
+
'AK',
|
|
16
|
+
'AZ',
|
|
17
|
+
'AR',
|
|
18
|
+
'CA',
|
|
19
|
+
'CO',
|
|
20
|
+
'CT',
|
|
21
|
+
'DE',
|
|
22
|
+
'FL',
|
|
23
|
+
'GA',
|
|
24
|
+
'HI',
|
|
25
|
+
'ID',
|
|
26
|
+
'IL',
|
|
27
|
+
'IN',
|
|
28
|
+
'IA',
|
|
29
|
+
'KS',
|
|
30
|
+
'KY',
|
|
31
|
+
'LA',
|
|
32
|
+
'ME',
|
|
33
|
+
'MD',
|
|
34
|
+
'MA',
|
|
35
|
+
'MI',
|
|
36
|
+
'MN',
|
|
37
|
+
'MS',
|
|
38
|
+
'MO',
|
|
39
|
+
'MT',
|
|
40
|
+
'NE',
|
|
41
|
+
'NV',
|
|
42
|
+
'NH',
|
|
43
|
+
'NJ',
|
|
44
|
+
'NM',
|
|
45
|
+
'NY',
|
|
46
|
+
'NC',
|
|
47
|
+
'ND',
|
|
48
|
+
'OH',
|
|
49
|
+
'OK',
|
|
50
|
+
'OR',
|
|
51
|
+
'PA',
|
|
52
|
+
'RI',
|
|
53
|
+
'SC',
|
|
54
|
+
'SD',
|
|
55
|
+
'TN',
|
|
56
|
+
'TX',
|
|
57
|
+
'UT',
|
|
58
|
+
'VT',
|
|
59
|
+
'VA',
|
|
60
|
+
'WA',
|
|
61
|
+
'WV',
|
|
62
|
+
'WI',
|
|
63
|
+
'WY',
|
|
64
|
+
'DC',
|
|
65
|
+
'PR',
|
|
66
|
+
'VI',
|
|
67
|
+
'GU',
|
|
68
|
+
'AS',
|
|
69
|
+
'MP',
|
|
70
|
+
'FM',
|
|
71
|
+
'MH',
|
|
72
|
+
'PW',
|
|
73
|
+
]);
|
|
74
|
+
//# sourceMappingURL=us-states.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"us-states.js","sourceRoot":"","sources":["../../../src/services/openfema/us-states.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IAC/B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/fema-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "Query FEMA disaster declarations, public assistance grants, housing aid, and NFIP flood insurance claims via MCP. STDIO or Streamable HTTP.",
|
|
5
5
|
"mcpName": "io.github.cyanheads/fema-mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -88,17 +88,17 @@
|
|
|
88
88
|
"access": "public"
|
|
89
89
|
},
|
|
90
90
|
"dependencies": {
|
|
91
|
-
"@cyanheads/mcp-ts-core": "^0.10.
|
|
91
|
+
"@cyanheads/mcp-ts-core": "^0.10.10",
|
|
92
92
|
"@duckdb/node-api": "^1.5.4-r.1",
|
|
93
93
|
"pino-pretty": "^13.1.3",
|
|
94
94
|
"zod": "^4.4.3"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
|
-
"@biomejs/biome": "^2.5.
|
|
98
|
-
"@types/node": "^26.
|
|
97
|
+
"@biomejs/biome": "^2.5.2",
|
|
98
|
+
"@types/node": "^26.1.0",
|
|
99
99
|
"depcheck": "^1.4.7",
|
|
100
100
|
"ignore": "^7.0.5",
|
|
101
|
-
"tsc-alias": "^1.
|
|
101
|
+
"tsc-alias": "^1.9.0",
|
|
102
102
|
"typescript": "^6.0.3",
|
|
103
103
|
"vitest": "^4.1.9"
|
|
104
104
|
}
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/fema-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.11",
|
|
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/fema-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.1.
|
|
22
|
+
"version": "0.1.11",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
49
49
|
"identifier": "@cyanheads/fema-mcp-server",
|
|
50
50
|
"runtimeHint": "bun",
|
|
51
|
-
"version": "0.1.
|
|
51
|
+
"version": "0.1.11",
|
|
52
52
|
"packageArguments": [
|
|
53
53
|
{
|
|
54
54
|
"type": "positional",
|