@cyanheads/earthquake-mcp-server 0.1.16 → 0.2.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/CLAUDE.md +31 -23
- package/Dockerfile +13 -7
- package/README.md +9 -4
- package/dist/mcp-server/resources/definitions/earthquake-feed.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/earthquake-feed.resource.js +4 -1
- package/dist/mcp-server/resources/definitions/earthquake-feed.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/earthquake-count.tool.d.ts +20 -1
- package/dist/mcp-server/tools/definitions/earthquake-count.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/earthquake-count.tool.js +74 -0
- package/dist/mcp-server/tools/definitions/earthquake-count.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/earthquake-get-feed.tool.d.ts +5 -0
- package/dist/mcp-server/tools/definitions/earthquake-get-feed.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/earthquake-get-feed.tool.js +80 -11
- package/dist/mcp-server/tools/definitions/earthquake-get-feed.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/earthquake-search.tool.d.ts +3 -5
- package/dist/mcp-server/tools/definitions/earthquake-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/earthquake-search.tool.js +51 -26
- package/dist/mcp-server/tools/definitions/earthquake-search.tool.js.map +1 -1
- package/dist/services/emsc/emsc-service.d.ts +4 -2
- package/dist/services/emsc/emsc-service.d.ts.map +1 -1
- package/dist/services/emsc/emsc-service.js +21 -10
- package/dist/services/emsc/emsc-service.js.map +1 -1
- package/dist/services/usgs/types.d.ts +2 -0
- package/dist/services/usgs/types.d.ts.map +1 -1
- package/dist/services/usgs/usgs-service.d.ts +4 -2
- package/dist/services/usgs/usgs-service.d.ts.map +1 -1
- package/dist/services/usgs/usgs-service.js +17 -30
- package/dist/services/usgs/usgs-service.js.map +1 -1
- package/package.json +10 -9
- package/server.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"earthquake-get-feed.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/earthquake-get-feed.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"earthquake-get-feed.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/earthquake-get-feed.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ export declare const earthquakeSearch: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
27
27
|
emsc: "emsc";
|
|
28
28
|
}>>;
|
|
29
29
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
30
31
|
order_by: z.ZodDefault<z.ZodEnum<{
|
|
31
32
|
magnitude: "magnitude";
|
|
32
33
|
time: "time";
|
|
@@ -70,11 +71,6 @@ export declare const earthquakeSearch: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
70
71
|
detail_url: z.ZodOptional<z.ZodString>;
|
|
71
72
|
}, z.core.$strip>>;
|
|
72
73
|
}, z.core.$strip>, readonly [{
|
|
73
|
-
readonly reason: "query_too_broad";
|
|
74
|
-
readonly code: JsonRpcErrorCode.ValidationError;
|
|
75
|
-
readonly when: "Query matches more than 20,000 events — exceeds USGS search limit.";
|
|
76
|
-
readonly recovery: string;
|
|
77
|
-
}, {
|
|
78
74
|
readonly reason: "invalid_radius";
|
|
79
75
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
80
76
|
readonly when: "latitude or longitude provided without radius_km, or vice versa.";
|
|
@@ -87,6 +83,7 @@ export declare const earthquakeSearch: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
87
83
|
}], {
|
|
88
84
|
readonly totalCount: z.ZodOptional<z.ZodNumber>;
|
|
89
85
|
readonly truncated: z.ZodOptional<z.ZodBoolean>;
|
|
86
|
+
readonly nextOffset: z.ZodOptional<z.ZodNumber>;
|
|
90
87
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
91
88
|
readonly queryEcho: z.ZodOptional<z.ZodObject<{
|
|
92
89
|
start_time: z.ZodOptional<z.ZodString>;
|
|
@@ -106,6 +103,7 @@ export declare const earthquakeSearch: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
106
103
|
emsc: "emsc";
|
|
107
104
|
}>;
|
|
108
105
|
limit: z.ZodNumber;
|
|
106
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
109
107
|
order_by: z.ZodString;
|
|
110
108
|
}, z.core.$strip>>;
|
|
111
109
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"earthquake-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/earthquake-search.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAQ3E,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"earthquake-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/earthquake-search.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAQ3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+X3B,CAAC"}
|
|
@@ -16,7 +16,9 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
16
16
|
'For location-based queries, provide latitude, longitude, and radius_km together. ' +
|
|
17
17
|
'USGS-specific filters (alert_level, min_felt, min_significance) are ignored when source=emsc. ' +
|
|
18
18
|
'Use earthquake_count first to gauge result size before requesting large result sets. ' +
|
|
19
|
-
'
|
|
19
|
+
'A single call returns at most 20,000 events; larger result sets are retrieved by paging with ' +
|
|
20
|
+
'offset, which is passed straight through to the upstream FDSN API. When a result is capped, ' +
|
|
21
|
+
'nextOffset carries the offset for the following page and totalCount the full match count.',
|
|
20
22
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
21
23
|
input: z.object({
|
|
22
24
|
start_time: z
|
|
@@ -95,8 +97,18 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
95
97
|
.min(1)
|
|
96
98
|
.max(20000)
|
|
97
99
|
.optional()
|
|
98
|
-
.describe('Maximum events to return. Default 100. ' +
|
|
99
|
-
'Large limits (>1000) may result in slow responses. Max 20000.'
|
|
100
|
+
.describe('Maximum events to return per call. Default 100. ' +
|
|
101
|
+
'Large limits (>1000) may result in slow responses. Max 20000. ' +
|
|
102
|
+
'Combine with offset to retrieve match sets larger than one call can return.'),
|
|
103
|
+
offset: z
|
|
104
|
+
.number()
|
|
105
|
+
.int()
|
|
106
|
+
.min(1)
|
|
107
|
+
.optional()
|
|
108
|
+
.describe('Index of the first event to return, counting from 1 — offset=1 is the first match ' +
|
|
109
|
+
'(both upstream APIs reject 0). Omit for the first page, then pass the nextOffset ' +
|
|
110
|
+
'value from a capped result to fetch the next one. Ordering is set by order_by, so ' +
|
|
111
|
+
'keep order_by, limit, and every filter identical across pages.'),
|
|
100
112
|
order_by: z
|
|
101
113
|
.enum(['time', 'time-asc', 'magnitude', 'magnitude-asc'])
|
|
102
114
|
.default('time')
|
|
@@ -121,8 +133,14 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
121
133
|
truncated: z
|
|
122
134
|
.boolean()
|
|
123
135
|
.optional()
|
|
124
|
-
.describe('True when results were capped by the limit parameter and more events
|
|
125
|
-
'totalCount carries the full match count when available
|
|
136
|
+
.describe('True when results were capped by the limit parameter and more events remain. ' +
|
|
137
|
+
'totalCount carries the full match count when available, and nextOffset the input ' +
|
|
138
|
+
'for the following page.'),
|
|
139
|
+
nextOffset: z
|
|
140
|
+
.number()
|
|
141
|
+
.optional()
|
|
142
|
+
.describe('Value to pass as the offset input to retrieve the next page, with every other input ' +
|
|
143
|
+
'unchanged. Present only when more events remain; absent means this was the last page.'),
|
|
126
144
|
notice: z
|
|
127
145
|
.string()
|
|
128
146
|
.optional()
|
|
@@ -162,6 +180,10 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
162
180
|
.describe('Significance filter sent upstream. Absent for EMSC — not supported there.'),
|
|
163
181
|
source: z.enum(['usgs', 'emsc']).describe('Data source queried.'),
|
|
164
182
|
limit: z.number().describe('Effective result limit sent upstream.'),
|
|
183
|
+
offset: z
|
|
184
|
+
.number()
|
|
185
|
+
.optional()
|
|
186
|
+
.describe('1-based paging offset sent upstream. Absent when the first page was fetched.'),
|
|
165
187
|
order_by: z.string().describe('Sort order sent upstream.'),
|
|
166
188
|
})
|
|
167
189
|
.optional()
|
|
@@ -176,13 +198,6 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
176
198
|
},
|
|
177
199
|
},
|
|
178
200
|
errors: [
|
|
179
|
-
{
|
|
180
|
-
reason: 'query_too_broad',
|
|
181
|
-
code: JsonRpcErrorCode.ValidationError,
|
|
182
|
-
when: 'Query matches more than 20,000 events — exceeds USGS search limit.',
|
|
183
|
-
recovery: 'Narrow the time range, raise min_magnitude, or add a location radius filter. ' +
|
|
184
|
-
'Use earthquake_count first to gauge result size.',
|
|
185
|
-
},
|
|
186
201
|
{
|
|
187
202
|
reason: 'invalid_radius',
|
|
188
203
|
code: JsonRpcErrorCode.ValidationError,
|
|
@@ -210,6 +225,7 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
210
225
|
ctx.log.info('Searching earthquakes', {
|
|
211
226
|
source: input.source,
|
|
212
227
|
limit,
|
|
228
|
+
offset: input.offset,
|
|
213
229
|
start_time: input.start_time,
|
|
214
230
|
min_magnitude: input.min_magnitude,
|
|
215
231
|
});
|
|
@@ -217,6 +233,7 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
217
233
|
const params = {
|
|
218
234
|
...buildQueryParams(input),
|
|
219
235
|
limit,
|
|
236
|
+
...(input.offset != null ? { offset: input.offset } : {}),
|
|
220
237
|
orderBy: input.order_by,
|
|
221
238
|
};
|
|
222
239
|
let result;
|
|
@@ -232,12 +249,6 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
232
249
|
...ctx.recoveryFor('source_unavailable'),
|
|
233
250
|
});
|
|
234
251
|
}
|
|
235
|
-
// Plain Error from UsgsService.searchEvents query_too_broad path (data.reason set by service)
|
|
236
|
-
if (err.data?.reason === 'query_too_broad') {
|
|
237
|
-
throw ctx.fail('query_too_broad', err.message, {
|
|
238
|
-
...ctx.recoveryFor('query_too_broad'),
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
252
|
throw err;
|
|
242
253
|
}
|
|
243
254
|
ctx.log.info('Search completed', { source: input.source, count: result.count });
|
|
@@ -262,24 +273,38 @@ export const earthquakeSearch = tool('earthquake_search', {
|
|
|
262
273
|
: {}),
|
|
263
274
|
source: input.source,
|
|
264
275
|
limit,
|
|
276
|
+
...(input.offset != null ? { offset: input.offset } : {}),
|
|
265
277
|
order_by: input.order_by,
|
|
266
278
|
},
|
|
267
279
|
});
|
|
268
|
-
|
|
269
|
-
//
|
|
270
|
-
//
|
|
280
|
+
// Offsets are 1-based upstream, so the events consumed through this page are
|
|
281
|
+
// (offset - 1) + count and the next page starts at offset + count. A full page
|
|
282
|
+
// that exactly exhausts a known total is the last page, not a truncated one.
|
|
283
|
+
const offset = input.offset ?? 1;
|
|
284
|
+
const nextOffset = offset + result.count;
|
|
285
|
+
const filledPage = result.count === limit && result.count > 0;
|
|
286
|
+
const truncated = filledPage && (result.totalCount == null || offset - 1 + result.count < result.totalCount);
|
|
287
|
+
// Populate enrichment — totalCount, the truncation flag, and the next page's
|
|
288
|
+
// offset are meta about the result set, not domain payload; they reach both
|
|
289
|
+
// structuredContent and content[] via enrichment.
|
|
271
290
|
if (result.totalCount != null)
|
|
272
291
|
ctx.enrich({ totalCount: result.totalCount });
|
|
273
292
|
if (truncated)
|
|
274
|
-
ctx.enrich({ truncated: true });
|
|
293
|
+
ctx.enrich({ truncated: true, nextOffset });
|
|
275
294
|
if (result.count === 0) {
|
|
276
|
-
ctx.enrich.notice(
|
|
277
|
-
|
|
295
|
+
ctx.enrich.notice(offset > 1
|
|
296
|
+
? `No events at offset ${offset} — the previous page was the last one. ` +
|
|
297
|
+
'Lower offset to re-read earlier pages, or broaden the filters for a larger match set.'
|
|
298
|
+
: 'No events matched the query. ' +
|
|
299
|
+
'Try broadening the time range, lowering min_magnitude, or expanding the radius.');
|
|
278
300
|
}
|
|
279
301
|
else if (truncated) {
|
|
280
302
|
ctx.enrich.notice(result.totalCount != null
|
|
281
|
-
? `
|
|
282
|
-
|
|
303
|
+
? `Showing events ${offset}–${offset + result.count - 1} of ${result.totalCount} matches. ` +
|
|
304
|
+
`Call again with offset=${nextOffset} and the same filters for the next page, or narrow the filters.`
|
|
305
|
+
: `Results capped at the limit (${limit}). ` +
|
|
306
|
+
`Call again with offset=${nextOffset} and the same filters for the next page, ` +
|
|
307
|
+
'or use earthquake_count to get the total match count first.');
|
|
283
308
|
}
|
|
284
309
|
return {
|
|
285
310
|
count: result.count,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"earthquake-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/earthquake-search.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"earthquake-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/earthquake-search.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,10 @@ export declare class EmscService {
|
|
|
11
11
|
private readonly timeoutMs;
|
|
12
12
|
constructor(_config: AppConfig, _storage: StorageService, emscBaseUrl: string, timeoutMs: number);
|
|
13
13
|
/**
|
|
14
|
-
* Query EMSC FDSN event API.
|
|
15
|
-
*
|
|
14
|
+
* Query EMSC FDSN event API. `params.offset` pages through the match set
|
|
15
|
+
* (1-based, forwarded to the upstream `offset` parameter). When results are
|
|
16
|
+
* truncated at the requested limit, a follow-up count query populates
|
|
17
|
+
* totalCount with the real match total for the whole filter set.
|
|
16
18
|
*/
|
|
17
19
|
searchEvents(params: EarthquakeQueryParams, ctx: Context): Promise<{
|
|
18
20
|
events: EarthquakeEvent[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emsc-service.d.ts","sourceRoot":"","sources":["../../../src/services/emsc/emsc-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"emsc-service.d.ts","sourceRoot":"","sources":["../../../src/services/emsc/emsc-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAItB,MAAM,kBAAkB,CAAC;AAwD1B,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGjC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM;IAMnB;;;;;OAKG;IACG,YAAY,CAChB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QACT,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IA+DF,qCAAqC;IACrC,WAAW,CACT,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IAoCF,qFAAqF;IACrF,OAAO,CAAC,cAAc;CAwBvB;AAMD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,IAAI,CAEN;AAED,wBAAgB,cAAc,IAAI,WAAW,CAK5C"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module services/emsc/emsc-service
|
|
4
4
|
*/
|
|
5
5
|
import { serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
|
|
6
|
-
import { fetchWithTimeout,
|
|
6
|
+
import { fetchWithTimeout, requestContextService, withRetry } from '@cyanheads/mcp-ts-core/utils';
|
|
7
7
|
/** 1 degree of latitude ≈ 111.2 km. */
|
|
8
8
|
const KM_PER_DEGREE = 111.2;
|
|
9
9
|
/** Build a request context from a handler context for use with withRetry/fetchWithTimeout. */
|
|
@@ -60,8 +60,10 @@ export class EmscService {
|
|
|
60
60
|
this.timeoutMs = timeoutMs;
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
|
-
* Query EMSC FDSN event API.
|
|
64
|
-
*
|
|
63
|
+
* Query EMSC FDSN event API. `params.offset` pages through the match set
|
|
64
|
+
* (1-based, forwarded to the upstream `offset` parameter). When results are
|
|
65
|
+
* truncated at the requested limit, a follow-up count query populates
|
|
66
|
+
* totalCount with the real match total for the whole filter set.
|
|
65
67
|
*/
|
|
66
68
|
async searchEvents(params, ctx) {
|
|
67
69
|
const query = this.buildFdsnQuery(params);
|
|
@@ -72,13 +74,18 @@ export class EmscService {
|
|
|
72
74
|
signal: ctx.signal,
|
|
73
75
|
headers: { Accept: 'application/json' },
|
|
74
76
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
77
|
+
// fetchWithTimeout throws a status-mapped McpError on any non-2xx before
|
|
78
|
+
// returning, so a Response here is always 2xx.
|
|
78
79
|
const text = await response.text();
|
|
79
80
|
if (/^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(text)) {
|
|
80
81
|
throw serviceUnavailable('EMSC returned HTML instead of JSON.', { url });
|
|
81
82
|
}
|
|
83
|
+
// EMSC answers a zero-match query — including an offset past the last
|
|
84
|
+
// match — with 204 No Content and an empty body, which is a match set of
|
|
85
|
+
// size zero, not a parse failure.
|
|
86
|
+
if (text.trim() === '') {
|
|
87
|
+
return { events: [], count: 0 };
|
|
88
|
+
}
|
|
82
89
|
const data = JSON.parse(text);
|
|
83
90
|
const events = data.features.map(normalizeEmscFeature);
|
|
84
91
|
return {
|
|
@@ -97,7 +104,9 @@ export class EmscService {
|
|
|
97
104
|
// failing the search.
|
|
98
105
|
const requestedLimit = params.limit ?? 100;
|
|
99
106
|
if (result.count > 0 && result.count === requestedLimit) {
|
|
100
|
-
|
|
107
|
+
// The total is a property of the filter set, not of the page — offset,
|
|
108
|
+
// limit, and orderBy are stripped so every page reports the same total.
|
|
109
|
+
const { limit: _limit, offset: _offset, orderBy: _orderBy, ...countParams } = params;
|
|
101
110
|
try {
|
|
102
111
|
const { count: totalCount } = await this.countEvents(countParams, ctx);
|
|
103
112
|
return { ...result, totalCount };
|
|
@@ -120,9 +129,8 @@ export class EmscService {
|
|
|
120
129
|
signal: ctx.signal,
|
|
121
130
|
headers: { Accept: 'application/json' },
|
|
122
131
|
});
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
132
|
+
// fetchWithTimeout throws a status-mapped McpError on any non-2xx before
|
|
133
|
+
// returning, so a Response here is always 2xx.
|
|
126
134
|
const text = await response.text();
|
|
127
135
|
if (/^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(text)) {
|
|
128
136
|
throw serviceUnavailable('EMSC returned HTML instead of JSON.', { url });
|
|
@@ -168,6 +176,9 @@ export class EmscService {
|
|
|
168
176
|
// EMSC does not support alertlevel, minfelt, minsig — silently omit
|
|
169
177
|
if (params.limit != null)
|
|
170
178
|
q.set('limit', String(params.limit));
|
|
179
|
+
// FDSN offset is 1-based — offset=1 is the first match, and 0 is rejected.
|
|
180
|
+
if (params.offset != null)
|
|
181
|
+
q.set('offset', String(params.offset));
|
|
171
182
|
if (params.orderBy)
|
|
172
183
|
q.set('orderby', params.orderBy);
|
|
173
184
|
return q.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emsc-service.js","sourceRoot":"","sources":["../../../src/services/emsc/emsc-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,
|
|
1
|
+
{"version":3,"file":"emsc-service.js","sourceRoot":"","sources":["../../../src/services/emsc/emsc-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,6 +129,8 @@ export interface EarthquakeQueryParams {
|
|
|
129
129
|
minFelt?: number;
|
|
130
130
|
minMagnitude?: number;
|
|
131
131
|
minSignificance?: number;
|
|
132
|
+
/** 1-based index of the first event to return. Both FDSN upstreams reject 0. */
|
|
133
|
+
offset?: number;
|
|
132
134
|
orderBy?: string;
|
|
133
135
|
radiusKm?: number;
|
|
134
136
|
startTime?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/usgs/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/usgs/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,10 @@ export declare class UsgsService {
|
|
|
18
18
|
feedUrl: string;
|
|
19
19
|
}>;
|
|
20
20
|
/**
|
|
21
|
-
* Query USGS FDSN event API.
|
|
22
|
-
*
|
|
21
|
+
* Query USGS FDSN event API. `params.offset` pages through the match set
|
|
22
|
+
* (1-based, forwarded to the upstream `offset` parameter). When results are
|
|
23
|
+
* truncated at the requested limit, a follow-up count query populates
|
|
24
|
+
* totalCount with the real match total for the whole filter set.
|
|
23
25
|
*/
|
|
24
26
|
searchEvents(params: EarthquakeQueryParams, ctx: Context): Promise<{
|
|
25
27
|
events: EarthquakeEvent[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usgs-service.d.ts","sourceRoot":"","sources":["../../../src/services/usgs/usgs-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"usgs-service.d.ts","sourceRoot":"","sources":["../../../src/services/usgs/usgs-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAItB,MAAM,YAAY,CAAC;AA2DpB,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGjC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM;IAMnB,gDAAgD;IAChD,OAAO,CACL,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,EAC5D,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,EAC7C,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAwC9F;;;;;OAKG;IACG,YAAY,CAChB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QACT,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAwDF,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCjE,qCAAqC;IACrC,WAAW,CACT,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IAoCF,2CAA2C;IAC3C,OAAO,CAAC,cAAc;CAsBvB;AAMD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,IAAI,CAEN;AAED,wBAAgB,cAAc,IAAI,WAAW,CAK5C"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module services/usgs/usgs-service
|
|
4
4
|
*/
|
|
5
5
|
import { notFound, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
|
|
6
|
-
import { fetchWithTimeout,
|
|
6
|
+
import { fetchWithTimeout, requestContextService, withRetry } from '@cyanheads/mcp-ts-core/utils';
|
|
7
7
|
/** Convert a USGS epoch-millisecond timestamp to an ISO 8601 string. */
|
|
8
8
|
function epochMsToIso(ms) {
|
|
9
9
|
if (ms == null)
|
|
@@ -70,12 +70,8 @@ export class UsgsService {
|
|
|
70
70
|
signal: ctx.signal,
|
|
71
71
|
headers: { Accept: 'application/json' },
|
|
72
72
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
service: 'USGS Feed',
|
|
76
|
-
data: { feedUrl },
|
|
77
|
-
});
|
|
78
|
-
}
|
|
73
|
+
// fetchWithTimeout throws a status-mapped McpError on any non-2xx before
|
|
74
|
+
// returning, so a Response here is always 2xx.
|
|
79
75
|
const text = await response.text();
|
|
80
76
|
if (/^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(text)) {
|
|
81
77
|
throw serviceUnavailable('USGS returned HTML instead of GeoJSON — likely rate-limited or a CDN error.', { feedUrl });
|
|
@@ -96,8 +92,10 @@ export class UsgsService {
|
|
|
96
92
|
});
|
|
97
93
|
}
|
|
98
94
|
/**
|
|
99
|
-
* Query USGS FDSN event API.
|
|
100
|
-
*
|
|
95
|
+
* Query USGS FDSN event API. `params.offset` pages through the match set
|
|
96
|
+
* (1-based, forwarded to the upstream `offset` parameter). When results are
|
|
97
|
+
* truncated at the requested limit, a follow-up count query populates
|
|
98
|
+
* totalCount with the real match total for the whole filter set.
|
|
101
99
|
*/
|
|
102
100
|
async searchEvents(params, ctx) {
|
|
103
101
|
const query = this.buildFdsnQuery(params);
|
|
@@ -108,20 +106,8 @@ export class UsgsService {
|
|
|
108
106
|
signal: ctx.signal,
|
|
109
107
|
headers: { Accept: 'application/json' },
|
|
110
108
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const body = await response.text();
|
|
114
|
-
const broadMatch = /(\d+) matching events exceeds search limit/.exec(body);
|
|
115
|
-
if (broadMatch?.[1]) {
|
|
116
|
-
const totalCount = parseInt(broadMatch[1], 10);
|
|
117
|
-
throw Object.assign(new Error(`Query matches ${totalCount} events, exceeding the 20,000-event limit. ` +
|
|
118
|
-
'Narrow time range, raise min_magnitude, or add location filters.'), { code: -32007, data: { reason: 'query_too_broad', totalCount } });
|
|
119
|
-
}
|
|
120
|
-
throw await httpErrorFromResponse(response, { service: 'USGS FDSN' });
|
|
121
|
-
}
|
|
122
|
-
if (!response.ok) {
|
|
123
|
-
throw await httpErrorFromResponse(response, { service: 'USGS FDSN', data: { url } });
|
|
124
|
-
}
|
|
109
|
+
// fetchWithTimeout throws a status-mapped McpError on any non-2xx before
|
|
110
|
+
// returning, so a Response here is always 2xx.
|
|
125
111
|
const text = await response.text();
|
|
126
112
|
if (/^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(text)) {
|
|
127
113
|
throw serviceUnavailable('USGS returned HTML instead of GeoJSON.', { url });
|
|
@@ -144,7 +130,9 @@ export class UsgsService {
|
|
|
144
130
|
// to an absent totalCount rather than failing the search.
|
|
145
131
|
const requestedLimit = params.limit ?? 100;
|
|
146
132
|
if (result.count > 0 && result.count === requestedLimit) {
|
|
147
|
-
|
|
133
|
+
// The total is a property of the filter set, not of the page — offset,
|
|
134
|
+
// limit, and orderBy are stripped so every page reports the same total.
|
|
135
|
+
const { limit: _limit, offset: _offset, orderBy: _orderBy, ...countParams } = params;
|
|
148
136
|
try {
|
|
149
137
|
const { count: totalCount } = await this.countEvents(countParams, ctx);
|
|
150
138
|
return { ...result, totalCount };
|
|
@@ -196,12 +184,8 @@ export class UsgsService {
|
|
|
196
184
|
signal: ctx.signal,
|
|
197
185
|
headers: { Accept: 'application/json' },
|
|
198
186
|
});
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
service: 'USGS Count',
|
|
202
|
-
data: { url },
|
|
203
|
-
});
|
|
204
|
-
}
|
|
187
|
+
// fetchWithTimeout throws a status-mapped McpError on any non-2xx before
|
|
188
|
+
// returning, so a Response here is always 2xx.
|
|
205
189
|
const text = await response.text();
|
|
206
190
|
if (/^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(text)) {
|
|
207
191
|
throw serviceUnavailable('USGS returned HTML instead of JSON.', { url });
|
|
@@ -249,6 +233,9 @@ export class UsgsService {
|
|
|
249
233
|
q.set('minsig', String(params.minSignificance));
|
|
250
234
|
if (params.limit != null)
|
|
251
235
|
q.set('limit', String(params.limit));
|
|
236
|
+
// FDSN offset is 1-based — offset=1 is the first match, and 0 is rejected.
|
|
237
|
+
if (params.offset != null)
|
|
238
|
+
q.set('offset', String(params.offset));
|
|
252
239
|
if (params.orderBy)
|
|
253
240
|
q.set('orderby', params.orderBy);
|
|
254
241
|
return q.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usgs-service.js","sourceRoot":"","sources":["../../../src/services/usgs/usgs-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,
|
|
1
|
+
{"version":3,"file":"usgs-service.js","sourceRoot":"","sources":["../../../src/services/usgs/usgs-service.ts"],"names":[],"mappings":"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"}
|