@cyanheads/epa-mcp-server 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/CLAUDE.md +2 -2
- package/README.md +38 -8
- package/changelog/0.4.x/0.4.0.md +35 -0
- package/dist/mcp-server/tools/definitions/get-air-quality.tool.d.ts +23 -9
- package/dist/mcp-server/tools/definitions/get-air-quality.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-air-quality.tool.js +165 -93
- package/dist/mcp-server/tools/definitions/get-air-quality.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-facility.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-facility.tool.js +4 -11
- package/dist/mcp-server/tools/definitions/get-facility.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-tri-releases.tool.d.ts +2 -1
- package/dist/mcp-server/tools/definitions/get-tri-releases.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-tri-releases.tool.js +10 -14
- package/dist/mcp-server/tools/definitions/get-tri-releases.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +51 -18
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-facilities.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-facilities.tool.js +7 -12
- package/dist/mcp-server/tools/definitions/search-facilities.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-superfund.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-superfund.tool.js +2 -8
- package/dist/mcp-server/tools/definitions/search-superfund.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-tri-releases.tool.d.ts +10 -3
- package/dist/mcp-server/tools/definitions/search-tri-releases.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-tri-releases.tool.js +50 -10
- package/dist/mcp-server/tools/definitions/search-tri-releases.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-water-systems.tool.d.ts +3 -1
- package/dist/mcp-server/tools/definitions/search-water-systems.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-water-systems.tool.js +22 -7
- package/dist/mcp-server/tools/definitions/search-water-systems.tool.js.map +1 -1
- package/dist/mcp-server/tools/format-lbs.d.ts +14 -0
- package/dist/mcp-server/tools/format-lbs.d.ts.map +1 -0
- package/dist/mcp-server/tools/format-lbs.js +16 -0
- package/dist/mcp-server/tools/format-lbs.js.map +1 -0
- package/dist/mcp-server/tools/format-location.d.ts +18 -0
- package/dist/mcp-server/tools/format-location.d.ts.map +1 -0
- package/dist/mcp-server/tools/format-location.js +26 -0
- package/dist/mcp-server/tools/format-location.js.map +1 -0
- package/dist/mcp-server/tools/format-tri-release.d.ts +16 -0
- package/dist/mcp-server/tools/format-tri-release.d.ts.map +1 -0
- package/dist/mcp-server/tools/format-tri-release.js +23 -0
- package/dist/mcp-server/tools/format-tri-release.js.map +1 -0
- package/dist/services/airnow/airnow-service.d.ts +10 -29
- package/dist/services/airnow/airnow-service.d.ts.map +1 -1
- package/dist/services/airnow/airnow-service.js +148 -95
- package/dist/services/airnow/airnow-service.js.map +1 -1
- package/dist/services/airnow/types.d.ts +62 -23
- package/dist/services/airnow/types.d.ts.map +1 -1
- package/dist/services/airnow/types.js +2 -1
- package/dist/services/airnow/types.js.map +1 -1
- package/dist/services/dmap/dmap-service.d.ts +41 -2
- package/dist/services/dmap/dmap-service.d.ts.map +1 -1
- package/dist/services/dmap/dmap-service.js +231 -116
- package/dist/services/dmap/dmap-service.js.map +1 -1
- package/dist/services/dmap/types.d.ts +17 -4
- package/dist/services/dmap/types.d.ts.map +1 -1
- package/dist/services/echo/echo-service.js +1 -1
- package/package.json +3 -3
- package/server.json +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-air-quality.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-air-quality.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"get-air-quality.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-air-quality.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-facility.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-facility.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":"get-facility.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-facility.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,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4M1B,CAAC"}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { formatLbs } from '../format-lbs.js';
|
|
8
|
+
import { formatLocationLines } from '../format-location.js';
|
|
7
9
|
import { getEchoService } from '../../../services/echo/echo-service.js';
|
|
8
10
|
export const getFacilityTool = tool('epa_get_facility', {
|
|
9
11
|
title: 'Get EPA Facility Compliance Profile',
|
|
@@ -118,16 +120,7 @@ export const getFacilityTool = tool('epa_get_facility', {
|
|
|
118
120
|
const lines = [];
|
|
119
121
|
lines.push(`## ${result.name}`);
|
|
120
122
|
lines.push(`**Registry ID:** ${result.registryId}`);
|
|
121
|
-
|
|
122
|
-
.filter(Boolean)
|
|
123
|
-
.join(', ');
|
|
124
|
-
if (location)
|
|
125
|
-
lines.push(`**Location:** ${location}`);
|
|
126
|
-
if (result.county)
|
|
127
|
-
lines.push(`**County:** ${result.county}${result.fipsCode ? ` (FIPS: ${result.fipsCode})` : ''}`);
|
|
128
|
-
if (result.latitude !== undefined && result.longitude !== undefined) {
|
|
129
|
-
lines.push(`**Coordinates:** ${result.latitude}, ${result.longitude}`);
|
|
130
|
-
}
|
|
123
|
+
lines.push(...formatLocationLines(result));
|
|
131
124
|
if (result.complianceStatus)
|
|
132
125
|
lines.push(`**Compliance Status:** ${result.complianceStatus}`);
|
|
133
126
|
const activePrograms = Object.entries(result.programs)
|
|
@@ -137,7 +130,7 @@ export const getFacilityTool = tool('epa_get_facility', {
|
|
|
137
130
|
if (activePrograms)
|
|
138
131
|
lines.push(`**Programs:** ${activePrograms}`);
|
|
139
132
|
if (result.triReleasesTransfersInLbs !== undefined) {
|
|
140
|
-
lines.push(`**TRI Releases+Transfers:** ${result.triReleasesTransfersInLbs
|
|
133
|
+
lines.push(`**TRI Releases+Transfers:** ${formatLbs(result.triReleasesTransfersInLbs)}`);
|
|
141
134
|
}
|
|
142
135
|
if (result.compliance) {
|
|
143
136
|
lines.push('\n### Compliance Summary');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-facility.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-facility.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,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE;IACtD,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EACT,2WAA2W;IAC7W,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAE9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,4EAA4E,CAAC;KAC1F,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACpE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACzE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAClF,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YACrE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACrE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YAC1E,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SACtE,CAAC;aACD,QAAQ,CAAC,4BAA4B,CAAC;QACzC,yBAAyB,EAAE,CAAC;aACzB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;QACrE,UAAU,EAAE,CAAC;aACV,MAAM,CAAC;YACN,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC/E,sBAAsB,EAAE,CAAC;iBACtB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,mBAAmB,EAAE,CAAC;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mEAAmE,CAAC;SACjF,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,oFAAoF,CACrF;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC7E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACzE,CAAC;aACD,QAAQ,CAAC,sDAAsD,CAAC,CACpE;aACA,QAAQ,CAAC,4BAA4B,CAAC;QACzC,aAAa,EAAE,CAAC;aACb,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACrE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC/E,wBAAwB,EAAE,CAAC;iBACxB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;YACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAChF,CAAC;aACD,QAAQ,CAAC,kEAAkE,CAAC,CAChF;aACA,QAAQ,CAAC,sCAAsC,CAAC;QACnD,aAAa,EAAE,CAAC;aACb,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACnE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC3E,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,0GAA0G,CAC3G;QACH,eAAe,EAAE,CAAC;aACf,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACnE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SAC5D,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,oHAAoH,CACrH;KACJ,CAAC;IAEF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,6DAA6D;YACnE,QAAQ,EAAE,+EAA+E;SAC1F;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAEpE,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAElF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,IAAI,CACZ,oBAAoB,EACpB,sCAAsC,KAAK,CAAC,WAAW,IAAI,CAC5D,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACzC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;YACvC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;SAC5C,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEpD,
|
|
1
|
+
{"version":3,"file":"get-facility.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-facility.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export declare const getTriReleasesTool: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
13
13
|
facilityId: z.ZodString;
|
|
14
14
|
chemicalName: z.ZodString;
|
|
15
15
|
reportingYear: z.ZodNumber;
|
|
16
|
+
reportedUnit: z.ZodOptional<z.ZodLiteral<"grams">>;
|
|
16
17
|
totalReleasesInLbs: z.ZodOptional<z.ZodNumber>;
|
|
17
18
|
releasesToAirInLbs: z.ZodOptional<z.ZodNumber>;
|
|
18
19
|
releasesToWaterInLbs: z.ZodOptional<z.ZodNumber>;
|
|
@@ -25,6 +26,6 @@ export declare const getTriReleasesTool: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
25
26
|
readonly reason: "no_releases_found";
|
|
26
27
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
27
28
|
readonly when: "No TRI records found for the given facility ID and filters.";
|
|
28
|
-
readonly recovery: "
|
|
29
|
+
readonly recovery: "Take the 15-character TRI facility ID from the facilityId field of epa_search_tri_releases. TRI data lags 18 months — try an earlier year.";
|
|
29
30
|
}], undefined>;
|
|
30
31
|
//# sourceMappingURL=get-tri-releases.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tri-releases.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-tri-releases.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":"get-tri-releases.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-tri-releases.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,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;cA2I7B,CAAC"}
|
|
@@ -4,16 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { formatTriReleaseLines } from '../format-tri-release.js';
|
|
7
8
|
import { getDmapService } from '../../../services/dmap/dmap-service.js';
|
|
8
9
|
export const getTriReleasesTool = tool('epa_get_tri_releases', {
|
|
9
10
|
title: 'Get TRI Chemical Releases for Facility',
|
|
10
|
-
description: 'Query Toxic Release Inventory annual chemical release data for a specific facility. Returns per-chemical release records with chemical name,
|
|
11
|
+
description: 'Query Toxic Release Inventory annual chemical release data for a specific facility. Returns per-chemical release records with chemical name, reporting year, routine on-site releases by medium (air, water, land, underground injection), and the one-time / non-routine release quantity. Quantities are in pounds; dioxin and dioxin-like compounds, which TRI has facilities report in grams, are converted and marked with reportedUnit. TRI data lags ~18 months — the most recent available year is typically 2 years prior to the current calendar year. facility_id is the 15-character TRI facility ID: take it from the facilityId field of epa_search_tri_releases, which also identifies top emitters across a region. A 12-digit EPA Registry ID is a different identifier and matches no TRI records.',
|
|
11
12
|
annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
|
|
12
13
|
input: z.object({
|
|
13
14
|
facility_id: z
|
|
14
15
|
.string()
|
|
15
16
|
.min(1)
|
|
16
|
-
.describe('TRI facility ID (
|
|
17
|
+
.describe('15-character TRI facility ID (e.g. "9867WSNRWD1981S") — the facilityId field returned by epa_search_tri_releases. A 12-digit EPA Registry ID matches no TRI records.'),
|
|
17
18
|
year: z
|
|
18
19
|
.number()
|
|
19
20
|
.int()
|
|
@@ -33,6 +34,10 @@ export const getTriReleasesTool = tool('epa_get_tri_releases', {
|
|
|
33
34
|
facilityId: z.string().describe('TRI facility identifier'),
|
|
34
35
|
chemicalName: z.string().describe('Chemical name as reported to TRI'),
|
|
35
36
|
reportingYear: z.number().describe('Year of the TRI submission'),
|
|
37
|
+
reportedUnit: z
|
|
38
|
+
.literal('grams')
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('Present as "grams" when TRI had the facility report this chemical in grams (dioxin and dioxin-like compounds); its quantities here are converted to pounds (1 lb = 453.59237 g). Absent for chemicals reported in pounds.'),
|
|
36
41
|
totalReleasesInLbs: z
|
|
37
42
|
.number()
|
|
38
43
|
.optional()
|
|
@@ -67,7 +72,7 @@ export const getTriReleasesTool = tool('epa_get_tri_releases', {
|
|
|
67
72
|
reason: 'no_releases_found',
|
|
68
73
|
code: JsonRpcErrorCode.NotFound,
|
|
69
74
|
when: 'No TRI records found for the given facility ID and filters.',
|
|
70
|
-
recovery: '
|
|
75
|
+
recovery: 'Take the 15-character TRI facility ID from the facilityId field of epa_search_tri_releases. TRI data lags 18 months — try an earlier year.',
|
|
71
76
|
},
|
|
72
77
|
],
|
|
73
78
|
async handler(input, ctx) {
|
|
@@ -85,7 +90,7 @@ export const getTriReleasesTool = tool('epa_get_tri_releases', {
|
|
|
85
90
|
return {
|
|
86
91
|
releases: [],
|
|
87
92
|
facilityId: input.facility_id,
|
|
88
|
-
message: `No TRI releases found for facility "${input.facility_id}"${yearNote}${chemNote}. TRI data lags ~18 months — try year ${new Date().getFullYear() - 2} or earlier. Verify the facility ID with
|
|
93
|
+
message: `No TRI releases found for facility "${input.facility_id}"${yearNote}${chemNote}. TRI data lags ~18 months — try year ${new Date().getFullYear() - 2} or earlier. Verify the facility ID with epa_search_tri_releases — facility_id is its 15-character facilityId, not a 12-digit EPA Registry ID.`,
|
|
89
94
|
};
|
|
90
95
|
}
|
|
91
96
|
return { releases, facilityId: input.facility_id };
|
|
@@ -99,16 +104,7 @@ export const getTriReleasesTool = tool('epa_get_tri_releases', {
|
|
|
99
104
|
for (const r of result.releases) {
|
|
100
105
|
lines.push(`\n### ${r.chemicalName} (${r.reportingYear})`);
|
|
101
106
|
lines.push(`**Facility ID:** ${r.facilityId}`);
|
|
102
|
-
|
|
103
|
-
lines.push(`**Air Releases:** ${r.releasesToAirInLbs.toLocaleString()} lbs`);
|
|
104
|
-
if (r.releasesToWaterInLbs !== undefined)
|
|
105
|
-
lines.push(`**Water Releases:** ${r.releasesToWaterInLbs.toLocaleString()} lbs`);
|
|
106
|
-
if (r.releasesToLandInLbs !== undefined)
|
|
107
|
-
lines.push(`**Land Releases:** ${r.releasesToLandInLbs.toLocaleString()} lbs`);
|
|
108
|
-
if (r.releasesToUndergroundInjectionInLbs !== undefined)
|
|
109
|
-
lines.push(`**Underground Injection:** ${r.releasesToUndergroundInjectionInLbs.toLocaleString()} lbs`);
|
|
110
|
-
if (r.totalReleasesInLbs !== undefined)
|
|
111
|
-
lines.push(`**One-Time / Non-Routine Release:** ${r.totalReleasesInLbs.toLocaleString()} lbs`);
|
|
107
|
+
lines.push(...formatTriReleaseLines(r));
|
|
112
108
|
}
|
|
113
109
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
114
110
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tri-releases.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-tri-releases.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,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE;IAC7D,KAAK,EAAE,wCAAwC;IAC/C,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"get-tri-releases.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-tri-releases.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -170,6 +170,7 @@ export declare const coreToolDefinitions: readonly [import("@cyanheads/mcp-ts-co
|
|
|
170
170
|
facilityId: import("zod").ZodString;
|
|
171
171
|
chemicalName: import("zod").ZodString;
|
|
172
172
|
reportingYear: import("zod").ZodNumber;
|
|
173
|
+
reportedUnit: import("zod").ZodOptional<import("zod").ZodLiteral<"grams">>;
|
|
173
174
|
totalReleasesInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
174
175
|
releasesToAirInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
175
176
|
releasesToWaterInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
@@ -182,20 +183,27 @@ export declare const coreToolDefinitions: readonly [import("@cyanheads/mcp-ts-co
|
|
|
182
183
|
readonly reason: "no_releases_found";
|
|
183
184
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
184
185
|
readonly when: "No TRI records found for the given facility ID and filters.";
|
|
185
|
-
readonly recovery: "
|
|
186
|
+
readonly recovery: "Take the 15-character TRI facility ID from the facilityId field of epa_search_tri_releases. TRI data lags 18 months — try an earlier year.";
|
|
186
187
|
}], undefined>, import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
187
188
|
state: import("zod").ZodString;
|
|
188
189
|
county: import("zod").ZodOptional<import("zod").ZodString>;
|
|
189
190
|
year: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
190
191
|
chemical_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
191
192
|
limit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
193
|
+
include_release_breakdown: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
192
194
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
193
195
|
releases: import("zod").ZodArray<import("zod").ZodObject<{
|
|
194
196
|
facilityId: import("zod").ZodString;
|
|
195
197
|
facilityName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
198
|
+
countyName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
196
199
|
chemicalName: import("zod").ZodString;
|
|
197
200
|
reportingYear: import("zod").ZodNumber;
|
|
201
|
+
reportedUnit: import("zod").ZodOptional<import("zod").ZodLiteral<"grams">>;
|
|
198
202
|
totalReleasesInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
203
|
+
releasesToAirInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
204
|
+
releasesToWaterInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
205
|
+
releasesToLandInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
206
|
+
releasesToUndergroundInjectionInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
199
207
|
}, import("zod/v4/core").$strip>>;
|
|
200
208
|
state: import("zod").ZodString;
|
|
201
209
|
message: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -205,9 +213,9 @@ export declare const coreToolDefinitions: readonly [import("@cyanheads/mcp-ts-co
|
|
|
205
213
|
readonly when: "No TRI records found for the given state and filters.";
|
|
206
214
|
readonly recovery: "Verify the state abbreviation is valid. TRI data lags 18 months — try removing the year filter or using an earlier year.";
|
|
207
215
|
}], {
|
|
208
|
-
readonly truncated: import("zod").ZodBoolean
|
|
209
|
-
readonly shown: import("zod").ZodNumber
|
|
210
|
-
readonly cap: import("zod").ZodNumber
|
|
216
|
+
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
217
|
+
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
218
|
+
readonly cap: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
211
219
|
}>, import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
212
220
|
state: import("zod").ZodOptional<import("zod").ZodString>;
|
|
213
221
|
city: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -279,7 +287,9 @@ export declare const coreToolDefinitions: readonly [import("@cyanheads/mcp-ts-co
|
|
|
279
287
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
280
288
|
readonly when: "Neither state nor zip_code was provided.";
|
|
281
289
|
readonly recovery: "Provide at least one of state or zip_code to search drinking water systems.";
|
|
282
|
-
}],
|
|
290
|
+
}], {
|
|
291
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
292
|
+
}>, import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
283
293
|
latitude: import("zod").ZodNumber;
|
|
284
294
|
longitude: import("zod").ZodNumber;
|
|
285
295
|
distance: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
@@ -505,6 +515,7 @@ export declare const allToolDefinitions: readonly [import("@cyanheads/mcp-ts-cor
|
|
|
505
515
|
facilityId: import("zod").ZodString;
|
|
506
516
|
chemicalName: import("zod").ZodString;
|
|
507
517
|
reportingYear: import("zod").ZodNumber;
|
|
518
|
+
reportedUnit: import("zod").ZodOptional<import("zod").ZodLiteral<"grams">>;
|
|
508
519
|
totalReleasesInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
509
520
|
releasesToAirInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
510
521
|
releasesToWaterInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
@@ -517,20 +528,27 @@ export declare const allToolDefinitions: readonly [import("@cyanheads/mcp-ts-cor
|
|
|
517
528
|
readonly reason: "no_releases_found";
|
|
518
529
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
519
530
|
readonly when: "No TRI records found for the given facility ID and filters.";
|
|
520
|
-
readonly recovery: "
|
|
531
|
+
readonly recovery: "Take the 15-character TRI facility ID from the facilityId field of epa_search_tri_releases. TRI data lags 18 months — try an earlier year.";
|
|
521
532
|
}], undefined>, import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
522
533
|
state: import("zod").ZodString;
|
|
523
534
|
county: import("zod").ZodOptional<import("zod").ZodString>;
|
|
524
535
|
year: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
525
536
|
chemical_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
526
537
|
limit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
538
|
+
include_release_breakdown: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
527
539
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
528
540
|
releases: import("zod").ZodArray<import("zod").ZodObject<{
|
|
529
541
|
facilityId: import("zod").ZodString;
|
|
530
542
|
facilityName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
543
|
+
countyName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
531
544
|
chemicalName: import("zod").ZodString;
|
|
532
545
|
reportingYear: import("zod").ZodNumber;
|
|
546
|
+
reportedUnit: import("zod").ZodOptional<import("zod").ZodLiteral<"grams">>;
|
|
533
547
|
totalReleasesInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
548
|
+
releasesToAirInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
549
|
+
releasesToWaterInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
550
|
+
releasesToLandInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
551
|
+
releasesToUndergroundInjectionInLbs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
534
552
|
}, import("zod/v4/core").$strip>>;
|
|
535
553
|
state: import("zod").ZodString;
|
|
536
554
|
message: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -540,9 +558,9 @@ export declare const allToolDefinitions: readonly [import("@cyanheads/mcp-ts-cor
|
|
|
540
558
|
readonly when: "No TRI records found for the given state and filters.";
|
|
541
559
|
readonly recovery: "Verify the state abbreviation is valid. TRI data lags 18 months — try removing the year filter or using an earlier year.";
|
|
542
560
|
}], {
|
|
543
|
-
readonly truncated: import("zod").ZodBoolean
|
|
544
|
-
readonly shown: import("zod").ZodNumber
|
|
545
|
-
readonly cap: import("zod").ZodNumber
|
|
561
|
+
readonly truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
562
|
+
readonly shown: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
563
|
+
readonly cap: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
546
564
|
}>, import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
547
565
|
state: import("zod").ZodOptional<import("zod").ZodString>;
|
|
548
566
|
city: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -614,7 +632,9 @@ export declare const allToolDefinitions: readonly [import("@cyanheads/mcp-ts-cor
|
|
|
614
632
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
615
633
|
readonly when: "Neither state nor zip_code was provided.";
|
|
616
634
|
readonly recovery: "Provide at least one of state or zip_code to search drinking water systems.";
|
|
617
|
-
}],
|
|
635
|
+
}], {
|
|
636
|
+
readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
|
|
637
|
+
}>, import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
618
638
|
latitude: import("zod").ZodNumber;
|
|
619
639
|
longitude: import("zod").ZodNumber;
|
|
620
640
|
distance: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
@@ -688,34 +708,47 @@ export declare const allToolDefinitions: readonly [import("@cyanheads/mcp-ts-cor
|
|
|
688
708
|
forecast: "forecast";
|
|
689
709
|
}>>;
|
|
690
710
|
forecast_date: import("zod").ZodOptional<import("zod").ZodString>;
|
|
691
|
-
distance_miles: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
692
711
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
693
712
|
observations: import("zod").ZodArray<import("zod").ZodObject<{
|
|
694
713
|
reportingArea: import("zod").ZodOptional<import("zod").ZodString>;
|
|
714
|
+
reportingAreaCode: import("zod").ZodOptional<import("zod").ZodString>;
|
|
695
715
|
stateCode: import("zod").ZodOptional<import("zod").ZodString>;
|
|
696
|
-
latitude: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
697
|
-
longitude: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
698
716
|
dateObserved: import("zod").ZodOptional<import("zod").ZodString>;
|
|
699
|
-
hourObserved: import("zod").ZodOptional<import("zod").
|
|
717
|
+
hourObserved: import("zod").ZodOptional<import("zod").ZodString>;
|
|
700
718
|
localTimeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
719
|
+
discussion: import("zod").ZodOptional<import("zod").ZodString>;
|
|
701
720
|
readings: import("zod").ZodArray<import("zod").ZodObject<{
|
|
702
721
|
parameterName: import("zod").ZodString;
|
|
703
|
-
aqi: import("zod").ZodNumber
|
|
722
|
+
aqi: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
704
723
|
categoryNumber: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
705
724
|
categoryName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
725
|
+
siteName: import("zod").ZodOptional<import("zod").ZodString>;
|
|
726
|
+
siteID: import("zod").ZodOptional<import("zod").ZodString>;
|
|
727
|
+
reportingAgency: import("zod").ZodOptional<import("zod").ZodString>;
|
|
728
|
+
dateIssue: import("zod").ZodOptional<import("zod").ZodString>;
|
|
729
|
+
dateValid: import("zod").ZodOptional<import("zod").ZodString>;
|
|
730
|
+
forecastAgency: import("zod").ZodOptional<import("zod").ZodString>;
|
|
731
|
+
actionDay: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
706
732
|
}, import("zod/v4/core").$strip>>;
|
|
707
733
|
}, import("zod/v4/core").$strip>>;
|
|
708
734
|
mode: import("zod").ZodString;
|
|
709
735
|
message: import("zod").ZodOptional<import("zod").ZodString>;
|
|
736
|
+
attribution: import("zod").ZodString;
|
|
710
737
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
711
738
|
readonly reason: "no_location";
|
|
712
739
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
713
740
|
readonly when: "Neither zip_code nor latitude+longitude was provided.";
|
|
714
741
|
readonly recovery: "Provide either zip_code or both latitude and longitude to identify the location.";
|
|
715
742
|
}, {
|
|
716
|
-
readonly reason: "
|
|
743
|
+
readonly reason: "forecast_date_needs_forecast_mode";
|
|
717
744
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
718
|
-
readonly when: "
|
|
719
|
-
readonly recovery: "
|
|
745
|
+
readonly when: "forecast_date was set while mode is \"current\", where it has no effect.";
|
|
746
|
+
readonly recovery: "Set mode to \"forecast\" to filter by forecast_date, or omit forecast_date.";
|
|
747
|
+
}, {
|
|
748
|
+
readonly reason: "invalid_zip_code";
|
|
749
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
750
|
+
readonly when: "AirNow rejected zip_code as invalid (HTTP 400).";
|
|
751
|
+
readonly recovery: "Check that zip_code is a valid 5-digit US ZIP code, or pass latitude and longitude instead.";
|
|
752
|
+
readonly thrownBy: "service";
|
|
720
753
|
}], undefined>];
|
|
721
754
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAYxE;;;GAGG;AACH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAYxE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAStB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAuD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-facilities.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-facilities.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":"search-facilities.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-facilities.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,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuO/B,CAAC"}
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { formatLbs } from '../format-lbs.js';
|
|
8
|
+
import { formatLocationLines } from '../format-location.js';
|
|
7
9
|
import { getEchoService } from '../../../services/echo/echo-service.js';
|
|
8
10
|
export const searchFacilitiesTool = tool('epa_search_facilities', {
|
|
9
11
|
title: 'Search EPA Facilities',
|
|
10
|
-
description: 'Search EPA-regulated facilities by location, industry program, or compliance status across all environmental programs (CAA, CWA, RCRA, TRI, SDWA). Returns facility name, EPA Registry ID, coordinates, county FIPS code, per-program registration flags, inspection counts, penalty totals, and TRI release totals. Registry IDs returned here feed epa_get_facility
|
|
12
|
+
description: 'Search EPA-regulated facilities by location, industry program, or compliance status across all environmental programs (CAA, CWA, RCRA, TRI, SDWA). Returns facility name, EPA Registry ID, coordinates, county FIPS code, per-program registration flags, inspection counts, penalty totals, and TRI release totals. Registry IDs returned here feed epa_get_facility. Supports proximity search via latitude + longitude + radius_miles. At least one geographic filter (zip_code, state, city, or a complete latitude+longitude+radius_miles triple) is required — unscoped searches time out.',
|
|
11
13
|
annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
|
|
12
14
|
input: z.object({
|
|
13
15
|
zip_code: z.string().optional().describe('5-digit ZIP code to search within'),
|
|
@@ -54,7 +56,7 @@ export const searchFacilitiesTool = tool('epa_search_facilities', {
|
|
|
54
56
|
.object({
|
|
55
57
|
registryId: z
|
|
56
58
|
.string()
|
|
57
|
-
.describe('EPA FRS Registry ID — use as input to epa_get_facility
|
|
59
|
+
.describe('EPA FRS Registry ID — use as input to epa_get_facility'),
|
|
58
60
|
name: z.string().describe('Facility name'),
|
|
59
61
|
street: z.string().optional().describe('Street address'),
|
|
60
62
|
city: z.string().optional().describe('City'),
|
|
@@ -85,7 +87,7 @@ export const searchFacilitiesTool = tool('epa_search_facilities', {
|
|
|
85
87
|
triReleasesTransfersInLbs: z
|
|
86
88
|
.number()
|
|
87
89
|
.optional()
|
|
88
|
-
.describe('Total TRI on/off-site releases and transfers in pounds (summary).
|
|
90
|
+
.describe('Total TRI on/off-site releases and transfers in pounds (summary). For the per-chemical breakdown, call epa_get_tri_releases with the TRI facility ID that epa_search_tri_releases returns as facilityId — the Registry ID is not a TRI facility ID.'),
|
|
89
91
|
inspectionCount: z.number().optional().describe('Number of EPA inspections on record'),
|
|
90
92
|
totalPenaltiesInDollars: z
|
|
91
93
|
.number()
|
|
@@ -182,14 +184,7 @@ export const searchFacilitiesTool = tool('epa_search_facilities', {
|
|
|
182
184
|
for (const f of result.facilities) {
|
|
183
185
|
lines.push(`\n### ${f.name}`);
|
|
184
186
|
lines.push(`**Registry ID:** ${f.registryId}`);
|
|
185
|
-
|
|
186
|
-
if (location)
|
|
187
|
-
lines.push(`**Location:** ${location}`);
|
|
188
|
-
if (f.county)
|
|
189
|
-
lines.push(`**County:** ${f.county}${f.fipsCode ? ` (FIPS: ${f.fipsCode})` : ''}`);
|
|
190
|
-
if (f.latitude !== undefined && f.longitude !== undefined) {
|
|
191
|
-
lines.push(`**Coordinates:** ${f.latitude}, ${f.longitude}`);
|
|
192
|
-
}
|
|
187
|
+
lines.push(...formatLocationLines(f));
|
|
193
188
|
if (f.complianceStatus)
|
|
194
189
|
lines.push(`**Compliance Status:** ${f.complianceStatus}`);
|
|
195
190
|
const activePrograms = Object.entries(f.programs)
|
|
@@ -199,7 +194,7 @@ export const searchFacilitiesTool = tool('epa_search_facilities', {
|
|
|
199
194
|
if (activePrograms)
|
|
200
195
|
lines.push(`**Programs:** ${activePrograms}`);
|
|
201
196
|
if (f.triReleasesTransfersInLbs !== undefined) {
|
|
202
|
-
lines.push(`**TRI Releases+Transfers:** ${f.triReleasesTransfersInLbs
|
|
197
|
+
lines.push(`**TRI Releases+Transfers:** ${formatLbs(f.triReleasesTransfersInLbs)}`);
|
|
203
198
|
}
|
|
204
199
|
if (f.inspectionCount !== undefined)
|
|
205
200
|
lines.push(`**Inspections:** ${f.inspectionCount}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-facilities.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-facilities.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,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE;IAChE,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"search-facilities.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-facilities.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-superfund.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-superfund.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":"search-superfund.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-superfund.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmK9B,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { formatLocationLines } from '../format-location.js';
|
|
7
8
|
import { getDmapService } from '../../../services/dmap/dmap-service.js';
|
|
8
9
|
export const searchSuperfundTool = tool('epa_search_superfund', {
|
|
9
10
|
title: 'Search Superfund Sites',
|
|
@@ -132,14 +133,7 @@ export const searchSuperfundTool = tool('epa_search_superfund', {
|
|
|
132
133
|
for (const s of result.sites) {
|
|
133
134
|
lines.push(`\n### ${s.name}`);
|
|
134
135
|
lines.push(`**Site ID:** ${s.siteId}`);
|
|
135
|
-
|
|
136
|
-
if (location)
|
|
137
|
-
lines.push(`**Location:** ${location}`);
|
|
138
|
-
if (s.county)
|
|
139
|
-
lines.push(`**County:** ${s.county}${s.fipsCode ? ` (FIPS: ${s.fipsCode})` : ''}`);
|
|
140
|
-
if (s.latitude !== undefined && s.longitude !== undefined) {
|
|
141
|
-
lines.push(`**Coordinates:** ${s.latitude}, ${s.longitude}`);
|
|
142
|
-
}
|
|
136
|
+
lines.push(...formatLocationLines(s));
|
|
143
137
|
if (s.nplStatus)
|
|
144
138
|
lines.push(`**NPL Status:** ${s.nplStatus}`);
|
|
145
139
|
if (s.cleanupStatus)
|