@hotscots/mcp 1.0.2 → 1.1.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/dist/index.js CHANGED
@@ -58,7 +58,6 @@ async function apiGet(path, params) {
58
58
  throw new Error(`Network error: ${msg}. Check your connection and try again.`);
59
59
  }
60
60
  if (!res.ok) {
61
- // Map status codes to user-friendly messages; don't leak raw API internals.
62
61
  switch (res.status) {
63
62
  case 401: throw new Error("Invalid or expired API key. Check your HOTSCOTS_API_KEY.");
64
63
  case 403: throw new Error("Your plan does not have access to this data. Check your subscription tier.");
@@ -77,7 +76,43 @@ function truncate(text) {
77
76
  return (text.slice(0, CHARACTER_LIMIT) +
78
77
  "\n\n[Response truncated — lower the limit or increase the offset to page through results.]");
79
78
  }
79
+ // ─── Sanitizer (allowlist) ────────────────────────────────────────────────────
80
+ // Only fields explicitly listed in SafeReview are passed to Claude.
81
+ // review_id and any future upstream fields are dropped automatically.
82
+ const SAFE_FIELDS = new Set([
83
+ "created_at", "title", "installation", "rating", "feedback", "tags",
84
+ "branch", "resolved", "image_name", "photo_album", "bldg_number",
85
+ "leadership_comment", "leadership_comment_created_at", "leadership_comment_approved_at",
86
+ "is_housing", "room_amenities", "mold_issues", "pest_issues", "working_air_heat",
87
+ "working_furniture", "accessible_laundry", "private_sleeping_area", "lockable_doors",
88
+ "working_fire_detection", "exterior_lighting", "interior_lighting", "safety_features",
89
+ "dpw_satisfaction_rating", "is_privatized_barracks",
90
+ "dfac_name", "breakfast_ranking", "lunch_ranking", "dinner_ranking", "meal_type",
91
+ "dfac_choices", "dfac_healthy", "dfac_filling", "dfac_visual", "dfac_temp",
92
+ "dfac_police", "dfac_special", "has_shuttle", "walking_distance", "kiosk_level",
93
+ "inedible_food_issue",
94
+ "facility_type", "recommend_facility", "first_visit", "visit_again", "helpful_count",
95
+ "doctor_wait_times", "uniform_line", "prescription_available", "care_type",
96
+ "customer_service_rating", "ease_of_access_rating", "timeliness_of_service_rating",
97
+ "pharmacy_wait_times", "is_acute_meds", "power_source", "in_room_fridge",
98
+ "running_water", "lockable_door", "cleanliness", "decor", "table", "seating",
99
+ "internet_connectivity", "availability_rating", "affordability_rating",
100
+ "in_out_environment", "curriculum_effect", "extended_hours",
101
+ "meets_student_teacher_ratio", "safety_mgmt", "learning_activities",
102
+ "parent_communication_involvement", "handle_develop_concerns", "staff_qualifications",
103
+ "cdc_wait_times", "mover_company", "professionalism_rating", "timeliness_rating",
104
+ "origin_location", "destination_location",
105
+ ]);
106
+ function sanitizeReview(r) {
107
+ const result = {};
108
+ for (const key of SAFE_FIELDS) {
109
+ if (key in r)
110
+ result[key] = r[key];
111
+ }
112
+ return result;
113
+ }
80
114
  // ─── Shared schemas ───────────────────────────────────────────────────────────
115
+ // Raw shapes (not z.object wrappers) — required by the MCP SDK's registerTool.
81
116
  const PaginationSchema = {
82
117
  limit: z
83
118
  .number()
@@ -97,20 +132,18 @@ const ResponseFormatSchema = z
97
132
  .nativeEnum(ResponseFormat)
98
133
  .default(ResponseFormat.MARKDOWN)
99
134
  .describe("Output format: 'markdown' for human-readable, 'json' for machine-readable");
135
+ const InstallationFilterSchema = z
136
+ .string()
137
+ .max(100)
138
+ .optional()
139
+ .describe("Filter by installation name (partial, case-insensitive)");
100
140
  // ─── Formatters ───────────────────────────────────────────────────────────────
101
141
  function starsFor(rating) {
102
142
  const r = Math.round(rating);
103
143
  return "★".repeat(r) + "☆".repeat(Math.max(0, 5 - r));
104
144
  }
105
- // Strip internal fields that should never appear in user-facing output.
106
- function sanitizeReview(r) {
107
- const { review_id: _omit, ...rest } = r;
108
- return rest;
109
- }
110
145
  function formatReviews(data, endpointLabel, pagination, filtered) {
111
- const lines = [
112
- `# Hots&Cots — ${endpointLabel} Reviews`,
113
- ];
146
+ const lines = [`# Hots&Cots — ${endpointLabel} Reviews`];
114
147
  if (filtered) {
115
148
  lines.push(`_Filtered to "${filtered.installation}" — found ${data.length} match(es) in the first ${filtered.fetchedTotal} records fetched._`);
116
149
  if (filtered.fetchedTotal >= FILTER_FETCH_CAP && data.length === pagination.limit) {
@@ -158,8 +191,6 @@ function formatInstallations(data) {
158
191
  // ─── Shared review fetcher ────────────────────────────────────────────────────
159
192
  async function fetchReviews(endpoint, params) {
160
193
  if (params.installation) {
161
- // No server-side installation filter exists — we must fetch and filter locally.
162
- // Cap how many records we pull to protect the user's monthly quota.
163
194
  const result = await apiGet("/reviews", {
164
195
  endpoint,
165
196
  limit: FILTER_FETCH_CAP,
@@ -169,19 +200,18 @@ async function fetchReviews(endpoint, params) {
169
200
  const matched = result.data.filter((r) => r.installation.toLowerCase().includes(q));
170
201
  const page = matched.slice(params.offset, params.offset + params.limit);
171
202
  return {
172
- data: page,
203
+ data: page.map(sanitizeReview),
173
204
  pagination: { limit: params.limit, offset: params.offset, returned: page.length },
174
205
  filtered: { installation: params.installation, fetchedTotal: result.data.length },
175
206
  };
176
207
  }
177
- // No filter — use API pagination directly.
178
208
  const result = await apiGet("/reviews", {
179
209
  endpoint,
180
210
  limit: params.limit,
181
211
  offset: params.offset,
182
212
  });
183
213
  return {
184
- data: result.data,
214
+ data: result.data.map(sanitizeReview),
185
215
  pagination: result.pagination,
186
216
  };
187
217
  }
@@ -197,7 +227,7 @@ server.registerTool("hotscots_health", {
197
227
 
198
228
  Returns status and timestamp on success.
199
229
  Use this to confirm connectivity before running other tools.`,
200
- inputSchema: z.object({}),
230
+ inputSchema: {},
201
231
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
202
232
  }, async () => {
203
233
  try {
@@ -227,13 +257,10 @@ Use this first to get exact installation names before fetching reviews.
227
257
  Args:
228
258
  - filter (string, optional): Case-insensitive substring to narrow results (e.g. "Texas", "Fort", "Camp Lejeune")
229
259
  - response_format: 'markdown' (default) or 'json'`,
230
- inputSchema: z.object({
231
- filter: z
232
- .string()
233
- .optional()
234
- .describe("Optional substring filter on installation name (case-insensitive)"),
260
+ inputSchema: {
261
+ filter: z.string().max(100).optional().describe("Optional substring filter on installation name (case-insensitive)"),
235
262
  response_format: ResponseFormatSchema,
236
- }),
263
+ },
237
264
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
238
265
  }, async (params) => {
239
266
  try {
@@ -273,15 +300,11 @@ Args:
273
300
  - limit (integer): Records per page, 1–100 (default 20)
274
301
  - offset (integer): Records to skip (default 0). Only reliable without an installation filter.
275
302
  - response_format: 'markdown' (default) or 'json'`,
276
- inputSchema: z.object({
277
- installation: z
278
- .string()
279
- .max(100)
280
- .optional()
281
- .describe("Filter by installation name (partial, case-insensitive)"),
303
+ inputSchema: {
304
+ installation: InstallationFilterSchema,
282
305
  ...PaginationSchema,
283
306
  response_format: ResponseFormatSchema,
284
- }),
307
+ },
285
308
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
286
309
  }, async (params) => {
287
310
  try {
@@ -291,11 +314,11 @@ Args:
291
314
  return { content: [{ type: "text", text: `No barracks reviews found${where}.` }] };
292
315
  }
293
316
  const text = params.response_format === ResponseFormat.JSON
294
- ? JSON.stringify({ endpoint: "cots", data: data.map(sanitizeReview), pagination }, null, 2)
317
+ ? JSON.stringify({ endpoint: "cots", data, pagination }, null, 2)
295
318
  : formatReviews(data, "Barracks (Cots)", pagination, filtered);
296
319
  return {
297
320
  content: [{ type: "text", text: truncate(text) }],
298
- structuredContent: { endpoint: "cots", data: data.map(sanitizeReview), pagination },
321
+ structuredContent: { endpoint: "cots", data, pagination },
299
322
  };
300
323
  }
301
324
  catch (err) {
@@ -317,15 +340,11 @@ Args:
317
340
  - limit (integer): Records per page, 1–100 (default 20)
318
341
  - offset (integer): Records to skip (default 0). Only reliable without an installation filter.
319
342
  - response_format: 'markdown' (default) or 'json'`,
320
- inputSchema: z.object({
321
- installation: z
322
- .string()
323
- .max(100)
324
- .optional()
325
- .describe("Filter by installation name (partial, case-insensitive)"),
343
+ inputSchema: {
344
+ installation: InstallationFilterSchema,
326
345
  ...PaginationSchema,
327
346
  response_format: ResponseFormatSchema,
328
- }),
347
+ },
329
348
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
330
349
  }, async (params) => {
331
350
  try {
@@ -335,11 +354,11 @@ Args:
335
354
  return { content: [{ type: "text", text: `No dining reviews found${where}.` }] };
336
355
  }
337
356
  const text = params.response_format === ResponseFormat.JSON
338
- ? JSON.stringify({ endpoint: "hots", data: data.map(sanitizeReview), pagination }, null, 2)
357
+ ? JSON.stringify({ endpoint: "hots", data, pagination }, null, 2)
339
358
  : formatReviews(data, "Dining / DFAC (Hots)", pagination, filtered);
340
359
  return {
341
360
  content: [{ type: "text", text: truncate(text) }],
342
- structuredContent: { endpoint: "hots", data: data.map(sanitizeReview), pagination },
361
+ structuredContent: { endpoint: "hots", data, pagination },
343
362
  };
344
363
  }
345
364
  catch (err) {
@@ -361,15 +380,11 @@ Args:
361
380
  - limit (integer): Records per page, 1–100 (default 20)
362
381
  - offset (integer): Records to skip (default 0). Only reliable without an installation filter.
363
382
  - response_format: 'markdown' (default) or 'json'`,
364
- inputSchema: z.object({
365
- installation: z
366
- .string()
367
- .max(100)
368
- .optional()
369
- .describe("Filter by installation name (partial, case-insensitive)"),
383
+ inputSchema: {
384
+ installation: InstallationFilterSchema,
370
385
  ...PaginationSchema,
371
386
  response_format: ResponseFormatSchema,
372
- }),
387
+ },
373
388
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
374
389
  }, async (params) => {
375
390
  try {
@@ -379,11 +394,11 @@ Args:
379
394
  return { content: [{ type: "text", text: `No other facility reviews found${where}.` }] };
380
395
  }
381
396
  const text = params.response_format === ResponseFormat.JSON
382
- ? JSON.stringify({ endpoint: "other", data: data.map(sanitizeReview), pagination }, null, 2)
397
+ ? JSON.stringify({ endpoint: "other", data, pagination }, null, 2)
383
398
  : formatReviews(data, "Other Facilities", pagination, filtered);
384
399
  return {
385
400
  content: [{ type: "text", text: truncate(text) }],
386
- structuredContent: { endpoint: "other", data: data.map(sanitizeReview), pagination },
401
+ structuredContent: { endpoint: "other", data, pagination },
387
402
  };
388
403
  }
389
404
  catch (err) {
@@ -398,8 +413,18 @@ async function runStdio() {
398
413
  }
399
414
  async function runHTTP() {
400
415
  const app = express();
401
- app.use(express.json());
416
+ app.disable("x-powered-by");
417
+ app.use(express.json({ limit: "64kb" }));
418
+ // Restrict to loopback — prevents DNS rebinding attacks.
419
+ const ALLOWED_ORIGINS = new Set(["http://localhost", "http://127.0.0.1"]);
402
420
  app.post("/mcp", async (req, res) => {
421
+ // Origin check — reject cross-origin requests.
422
+ const origin = req.headers.origin ?? "";
423
+ const originBase = origin.replace(/:\d+$/, ""); // strip port
424
+ if (origin && !ALLOWED_ORIGINS.has(originBase)) {
425
+ res.status(403).json({ error: "Forbidden" });
426
+ return;
427
+ }
403
428
  const transport = new StreamableHTTPServerTransport({
404
429
  sessionIdGenerator: undefined,
405
430
  enableJsonResponse: true,
@@ -409,8 +434,9 @@ async function runHTTP() {
409
434
  await transport.handleRequest(req, res, req.body);
410
435
  });
411
436
  const port = parseInt(process.env.PORT ?? "3000", 10);
412
- app.listen(port, () => {
413
- console.error(`Hots&Cots MCP server running on http://localhost:${port}/mcp`);
437
+ // Bind to loopback only — not accessible from the network.
438
+ app.listen(port, "127.0.0.1", () => {
439
+ console.error(`Hots&Cots MCP server running on http://127.0.0.1:${port}/mcp`);
414
440
  });
415
441
  }
416
442
  const transportMode = process.env.TRANSPORT ?? "stdio";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAEhF,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,2CAA2C,CAAC;AAC9E,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,4EAA4E;AAC5E,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,IAAK,YAIJ;AAJD,WAAK,YAAY;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAJI,YAAY,KAAZ,YAAY,QAIhB;AAED,IAAK,cAGJ;AAHD,WAAK,cAAc;IACjB,uCAAqB,CAAA;IACrB,+BAAa,CAAA;AACf,CAAC,EAHI,cAAc,KAAd,cAAc,QAGlB;AAED,iFAAiF;AAEjF,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACzC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CACX,oCAAoC;YACpC,qEAAqE;YACrE,mEAAmE,CACpE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,iFAAiF;AAEjF,KAAK,UAAU,MAAM,CACnB,IAAY,EACZ,MAAoD;IAEpD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YAChC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;aAC3B;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,wCAAwC,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,4EAA4E;QAC5E,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACtF,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;YACxG,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;YACnH,OAAO,CAAC,CAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,CAAC,MAAM,8BAA8B,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,eAAe;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;QAC9B,4FAA4F,CAC7F,CAAC;AACJ,CAAC;AAwCD,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,mFAAmF,CAAC;IAChG,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC;KAC3B,UAAU,CAAC,cAAc,CAAC;KAC1B,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;KAChC,QAAQ,CAAC,2EAA2E,CAAC,CAAC;AAEzF,iFAAiF;AAEjF,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,wEAAwE;AACxE,SAAS,cAAc,CAAC,CAAe;IACrC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CACpB,IAAoB,EACpB,aAAqB,EACrB,UAA+D,EAC/D,QAAyD;IAEzD,MAAM,KAAK,GAAG;QACZ,iBAAiB,aAAa,UAAU;KACzC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,YAAY,aAAa,IAAI,CAAC,MAAM,2BAA2B,QAAQ,CAAC,YAAY,oBAAoB,CAAC,CAAC;QAC/I,IAAI,QAAQ,CAAC,YAAY,IAAI,gBAAgB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,yDAAyD,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,QAAQ,oBAAoB,UAAU,CAAC,MAAM,WAAW,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACnI,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,wCAAwC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,gBAAgB,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA0B;IACrD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG;QACZ,yCAAyC,IAAI,CAAC,MAAM,SAAS;QAC7D,EAAE;QACF,sDAAsD;QACtD,2BAA2B;KAC5B,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CACzH,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,YAAY,CACzB,QAAsB,EACtB,MAAgE;IAEhE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,gFAAgF;QAChF,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAkB,UAAU,EAAE;YACvD,QAAQ;YACR,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAExE,OAAO;YACL,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;YACjF,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;SAClF,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAkB,UAAU,EAAE;QACvD,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,iFAAiF;AAEjF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;IACE,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE;;;6DAG4C;IACzD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACvG,EACD,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAiB,SAAS,CAAC,CAAC;QACvD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;SAC/G,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,iFAAiF;AAEjF,MAAM,CAAC,YAAY,CACjB,6BAA6B,EAC7B;IACE,KAAK,EAAE,6BAA6B;IACpC,WAAW,EAAE;;;;;;;;;;;;;oDAamC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mEAAmE,CAAC;QAChF,eAAe,EAAE,oBAAoB;KACtC,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACvG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAwB,gBAAgB,CAAC,CAAC;QAErE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC;QAED,MAAM,IAAI,GACR,MAAM,CAAC,eAAe,KAAK,cAAc,CAAC,IAAI;YAC5C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAwC;SACtF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,iFAAiF;AAEjF,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;IACE,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE;;;mCAGkB,gBAAgB;;;;;;;;oDAQC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,GAAG,gBAAgB;QACnB,eAAe,EAAE,oBAAoB;KACtC,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACvG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAErF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;QACrF,CAAC;QAED,MAAM,IAAI,GACR,MAAM,CAAC,eAAe,KAAK,cAAc,CAAC,IAAI;YAC5C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEnE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAwC;SAC1H,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,gFAAgF;AAEhF,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;IACE,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE;;;mCAGkB,gBAAgB;;;;;;;;oDAQC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,GAAG,gBAAgB;QACnB,eAAe,EAAE,oBAAoB;KACtC,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACvG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAErF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QAED,MAAM,IAAI,GACR,MAAM,CAAC,eAAe,KAAK,cAAc,CAAC,IAAI;YAC5C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAExE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAwC;SAC1H,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,iFAAiF;AAEjF,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;IACE,KAAK,EAAE,4BAA4B;IACnC,WAAW,EAAE;;;mCAGkB,gBAAgB;;;;;;;;oDAQC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,GAAG,gBAAgB;QACnB,eAAe,EAAE,oBAAoB;KACtC,CAAC;IACF,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CACvG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QAED,MAAM,IAAI,GACR,MAAM,CAAC,eAAe,KAAK,cAAc,CAAC,IAAI;YAC5C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAwC;SAC3H,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC;AAEF,iFAAiF;AAEjF,KAAK,UAAU,QAAQ;IACrB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,kBAAkB,EAAE,SAAS;YAC7B,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACtD,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,oDAAoD,IAAI,MAAM,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC;AACvD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;KAAM,CAAC;IACN,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hotscots/mcp",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Official Hots&Cots MCP server — barracks, DFAC, and facility reviews for U.S. military installations",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",