@hotscots/mcp 1.2.0 → 1.3.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/README.md +9 -3
- package/dist/index.js +424 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Give AI assistants like Claude direct access to the [Hots&Cots](https://hotscots.app) military quality-of-life database — barracks conditions, DFAC ratings, and on-base facility reviews from service members across the DoD.
|
|
4
4
|
|
|
5
|
-
**Requires an H&CPro API key** (`
|
|
5
|
+
**Requires an H&CPro API key** (`hc_` followed by 64 hex characters) — generate yours at [hotscots.app/subscription/dashboard](https://hotscots.app/subscription/dashboard).
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ No cloning or building required. Add this to your Claude Desktop config file:
|
|
|
20
20
|
"command": "npx",
|
|
21
21
|
"args": ["-y", "@hotscots/mcp"],
|
|
22
22
|
"env": {
|
|
23
|
-
"HOTSCOTS_API_KEY": "
|
|
23
|
+
"HOTSCOTS_API_KEY": "hc_YOUR_KEY_HERE"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -45,6 +45,8 @@ Same config block — check your client's documentation for the config file loca
|
|
|
45
45
|
- *"What percentage of barracks reviews at Fort Hood report mold?"*
|
|
46
46
|
- *"How do service members rate the DFACs at Camp Lejeune?"*
|
|
47
47
|
- *"Show medical and CDC facility reviews for Army bases in Texas."*
|
|
48
|
+
- *"How do official ICE satisfaction scores compare to Hots&Cots reviews at the same base?"*
|
|
49
|
+
- *"What's on the breakfast menu at Stackhouse today, and what does it cost?"*
|
|
48
50
|
|
|
49
51
|
---
|
|
50
52
|
|
|
@@ -57,6 +59,10 @@ Same config block — check your client's documentation for the config file loca
|
|
|
57
59
|
| `hotscots_get_barracks_reviews` | Paginated barracks / housing (Cots) reviews |
|
|
58
60
|
| `hotscots_get_dfac_reviews` | Paginated dining facility / DFAC (Hots) reviews |
|
|
59
61
|
| `hotscots_get_other_reviews` | Reviews for medical, CDC, gym, PX/BX, lodging, and moving services |
|
|
62
|
+
| `hotscots_list_ice_facilities` | Installations with ICE survey data, by dining / public-works kind |
|
|
63
|
+
| `hotscots_get_ice_ratings` | Official DoD ICE satisfaction scores for DFACs and public works |
|
|
64
|
+
| `hotscots_list_menu_locations` | CSDV dining venues with menu coverage dates |
|
|
65
|
+
| `hotscots_get_menu_items` | Dining menu items with prices, nutrition, allergens, and G4G tags |
|
|
60
66
|
|
|
61
67
|
---
|
|
62
68
|
|
|
@@ -80,7 +86,7 @@ The server runs locally on your machine — your API key never leaves your devic
|
|
|
80
86
|
|
|
81
87
|
| Variable | Required | Description |
|
|
82
88
|
|---|---|---|
|
|
83
|
-
| `HOTSCOTS_API_KEY` | ✅ | Your API key (`
|
|
89
|
+
| `HOTSCOTS_API_KEY` | ✅ | Your API key (`hc_` + 64 hex characters) |
|
|
84
90
|
| `HOTSCOTS_API_URL` | ❌ | Override the API base URL |
|
|
85
91
|
| `TRANSPORT` | ❌ | `stdio` (default) or `http` for remote/multi-user mode |
|
|
86
92
|
| `PORT` | ❌ | HTTP port when `TRANSPORT=http` (default: `3000`) |
|
package/dist/index.js
CHANGED
|
@@ -6,10 +6,10 @@ import express from "express";
|
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
// ─── Config ──────────────────────────────────────────────────────────────────
|
|
8
8
|
const API_BASE_URL = process.env.HOTSCOTS_API_URL ?? "https://api.hotscots.app/functions/v1/api";
|
|
9
|
-
const CHARACTER_LIMIT =
|
|
9
|
+
const CHARACTER_LIMIT = 500000;
|
|
10
10
|
// When filtering client-side we must over-fetch. Cap how many records we'll
|
|
11
11
|
// pull in a single request to avoid burning the user's monthly quota.
|
|
12
|
-
const FILTER_FETCH_CAP =
|
|
12
|
+
const FILTER_FETCH_CAP = 2000;
|
|
13
13
|
var EndpointType;
|
|
14
14
|
(function (EndpointType) {
|
|
15
15
|
EndpointType["HOTS"] = "hots";
|
|
@@ -105,14 +105,43 @@ const SAFE_FIELDS = new Set([
|
|
|
105
105
|
"cdc_wait_times", "mover_company", "professionalism_rating", "timeliness_rating",
|
|
106
106
|
"origin_location", "destination_location",
|
|
107
107
|
]);
|
|
108
|
-
function
|
|
108
|
+
function pick(row, fields) {
|
|
109
109
|
const result = {};
|
|
110
|
-
for (const key of
|
|
111
|
-
if (key in
|
|
112
|
-
result[key] =
|
|
110
|
+
for (const key of fields) {
|
|
111
|
+
if (key in row)
|
|
112
|
+
result[key] = row[key];
|
|
113
113
|
}
|
|
114
114
|
return result;
|
|
115
115
|
}
|
|
116
|
+
function sanitizeReview(r) {
|
|
117
|
+
return pick(r, SAFE_FIELDS);
|
|
118
|
+
}
|
|
119
|
+
// Same opt-in discipline as SAFE_FIELDS: a new upstream column is dropped
|
|
120
|
+
// until it is listed here.
|
|
121
|
+
const ICE_SAFE_FIELDS = new Set([
|
|
122
|
+
"kind", "site_id", "installation_key", "service_provider_id", "sp_name",
|
|
123
|
+
"facility_name", "is_mapped_barracks_sp", "window_start", "window_end",
|
|
124
|
+
"overall_responses", "overall_satisfied_pct", "met_needs_responses",
|
|
125
|
+
"met_needs_pct", "appearance_score", "appearance_responses", "staff_score",
|
|
126
|
+
"staff_responses", "timeliness_score", "timeliness_responses", "hours_score",
|
|
127
|
+
"hours_responses", "composite_score", "extra_scale_questions",
|
|
128
|
+
"extra_yesno_questions", "scraped_at",
|
|
129
|
+
]);
|
|
130
|
+
const ICE_FACILITY_FIELDS = new Set([
|
|
131
|
+
"installation_key", "kind", "facility_count", "latest_window_end",
|
|
132
|
+
]);
|
|
133
|
+
const MENU_SAFE_FIELDS = new Set([
|
|
134
|
+
"location", "profit_center_id", "profit_center_name", "category", "item_id",
|
|
135
|
+
"item_name", "description", "price", "calories", "calories_max", "total_fat",
|
|
136
|
+
"saturated_fat", "total_carbohydrate", "total_sugars", "protein", "sodium",
|
|
137
|
+
"dietary_fiber", "ingredients", "tags", "is_vegan", "is_vegetarian",
|
|
138
|
+
"allergens", "choice_groups", "is_alcohol_restricted", "source", "daypart",
|
|
139
|
+
"scrape_date", "scrape_datetime",
|
|
140
|
+
]);
|
|
141
|
+
const MENU_LOCATION_FIELDS = new Set([
|
|
142
|
+
"location", "latest_scrape_date", "earliest_scrape_date", "date_count",
|
|
143
|
+
"total_items",
|
|
144
|
+
]);
|
|
116
145
|
// ─── Shared schemas ───────────────────────────────────────────────────────────
|
|
117
146
|
// Raw shapes (not z.object wrappers) — required by the MCP SDK's registerTool.
|
|
118
147
|
const PaginationSchema = {
|
|
@@ -120,9 +149,9 @@ const PaginationSchema = {
|
|
|
120
149
|
.number()
|
|
121
150
|
.int()
|
|
122
151
|
.min(1)
|
|
123
|
-
.max(
|
|
152
|
+
.max(1000)
|
|
124
153
|
.default(20)
|
|
125
|
-
.describe("Records per page, 1–
|
|
154
|
+
.describe("Records per page, 1–1000 (default 20)."),
|
|
126
155
|
offset: z
|
|
127
156
|
.number()
|
|
128
157
|
.int()
|
|
@@ -139,6 +168,31 @@ const InstallationFilterSchema = z
|
|
|
139
168
|
.max(100)
|
|
140
169
|
.optional()
|
|
141
170
|
.describe("Filter by installation name (partial, case-insensitive)");
|
|
171
|
+
// The API clamps limit at 500, so advertise 500 rather than the 1000 the
|
|
172
|
+
// review tools claim.
|
|
173
|
+
const DatasetPaginationSchema = {
|
|
174
|
+
limit: z
|
|
175
|
+
.number()
|
|
176
|
+
.int()
|
|
177
|
+
.min(1)
|
|
178
|
+
.max(500)
|
|
179
|
+
.default(50)
|
|
180
|
+
.describe("Records per page, 1–500 (default 50)."),
|
|
181
|
+
offset: z
|
|
182
|
+
.number()
|
|
183
|
+
.int()
|
|
184
|
+
.min(0)
|
|
185
|
+
.default(0)
|
|
186
|
+
.describe("Records to skip for pagination (default 0)."),
|
|
187
|
+
};
|
|
188
|
+
const IsoDateSchema = z
|
|
189
|
+
.string()
|
|
190
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD")
|
|
191
|
+
.optional();
|
|
192
|
+
const IceKindSchema = z
|
|
193
|
+
.enum(["dfac", "dpw"])
|
|
194
|
+
.optional()
|
|
195
|
+
.describe("Filter by survey kind: 'dfac' (dining) or 'dpw' (public works / barracks)");
|
|
142
196
|
// ─── Formatters ───────────────────────────────────────────────────────────────
|
|
143
197
|
function starsFor(rating) {
|
|
144
198
|
const r = Math.round(rating);
|
|
@@ -177,6 +231,136 @@ function formatReviews(data, endpointLabel, pagination, filtered) {
|
|
|
177
231
|
}
|
|
178
232
|
return lines.join("\n");
|
|
179
233
|
}
|
|
234
|
+
// Upstream sends "" for missing menu values, and numerics arrive as strings.
|
|
235
|
+
function present(value) {
|
|
236
|
+
return value !== null && value !== undefined && String(value).trim() !== "";
|
|
237
|
+
}
|
|
238
|
+
function pct(value) {
|
|
239
|
+
return present(value) ? `${Number(value).toFixed(1)}%` : "—";
|
|
240
|
+
}
|
|
241
|
+
function num(value, digits = 2) {
|
|
242
|
+
return present(value) ? Number(value).toFixed(digits) : "—";
|
|
243
|
+
}
|
|
244
|
+
function scoreCell(score, responses) {
|
|
245
|
+
if (!present(score))
|
|
246
|
+
return "—";
|
|
247
|
+
const n = present(responses) ? ` (n=${responses})` : "";
|
|
248
|
+
return `${Number(score).toFixed(1)}${n}`;
|
|
249
|
+
}
|
|
250
|
+
function formatIceRatings(data, pagination, filters) {
|
|
251
|
+
const lines = ["# Hots&Cots — ICE Satisfaction Snapshots"];
|
|
252
|
+
const window = filters?.window_end;
|
|
253
|
+
if (filters?.all_windows) {
|
|
254
|
+
lines.push("_All snapshot windows, newest first._");
|
|
255
|
+
}
|
|
256
|
+
else if (present(window)) {
|
|
257
|
+
lines.push(`_Snapshot window ending ${window}._`);
|
|
258
|
+
}
|
|
259
|
+
lines.push(`_Showing ${pagination.returned} records (offset ${pagination.offset}, limit ${pagination.limit})_`);
|
|
260
|
+
lines.push("");
|
|
261
|
+
lines.push("| Installation | Facility | Kind | Satisfied | Met needs | Appearance | Staff | Timeliness | Hours | Composite | Window |");
|
|
262
|
+
lines.push("|---|---|---|---:|---:|---:|---:|---:|---:|---:|---|");
|
|
263
|
+
for (const r of data) {
|
|
264
|
+
lines.push(`| ${r.installation_key} | ${r.facility_name ?? r.sp_name ?? "—"} | ${r.kind} ` +
|
|
265
|
+
`| ${pct(r.overall_satisfied_pct)} | ${pct(r.met_needs_pct)} ` +
|
|
266
|
+
`| ${scoreCell(r.appearance_score, r.appearance_responses)} ` +
|
|
267
|
+
`| ${scoreCell(r.staff_score, r.staff_responses)} ` +
|
|
268
|
+
`| ${scoreCell(r.timeliness_score, r.timeliness_responses)} ` +
|
|
269
|
+
`| ${scoreCell(r.hours_score, r.hours_responses)} ` +
|
|
270
|
+
`| ${num(r.composite_score)} | ${r.window_end} |`);
|
|
271
|
+
}
|
|
272
|
+
lines.push("");
|
|
273
|
+
lines.push("_Sub-scores are 1–5. `n` is the response count behind each score — treat small n with care._");
|
|
274
|
+
if (pagination.returned === pagination.limit) {
|
|
275
|
+
lines.push(`_More results available — use offset=${pagination.offset + pagination.limit} to continue._`);
|
|
276
|
+
}
|
|
277
|
+
return lines.join("\n");
|
|
278
|
+
}
|
|
279
|
+
function formatIceFacilities(data) {
|
|
280
|
+
const sorted = [...data].sort((a, b) => b.facility_count - a.facility_count ||
|
|
281
|
+
a.installation_key.localeCompare(b.installation_key));
|
|
282
|
+
const lines = [
|
|
283
|
+
`# Hots&Cots — ICE Facilities (${data.length} installation/kind pairs)`,
|
|
284
|
+
"",
|
|
285
|
+
"| Installation | Kind | Facilities | Latest window |",
|
|
286
|
+
"|---|---|---:|---|",
|
|
287
|
+
];
|
|
288
|
+
for (const f of sorted) {
|
|
289
|
+
lines.push(`| ${f.installation_key} | ${f.kind} | ${f.facility_count} | ${f.latest_window_end} |`);
|
|
290
|
+
}
|
|
291
|
+
lines.push("");
|
|
292
|
+
lines.push("_Use an exact `installation_key` with hotscots_get_ice_ratings._");
|
|
293
|
+
return lines.join("\n");
|
|
294
|
+
}
|
|
295
|
+
function formatMenuItems(data, pagination, resolvedDates) {
|
|
296
|
+
const lines = ["# Hots&Cots — CSDV Dining Menus"];
|
|
297
|
+
if (resolvedDates?.length) {
|
|
298
|
+
lines.push(`_Latest menu per venue: ${resolvedDates
|
|
299
|
+
.map((d) => `${d.location} ${d.scrape_date}`)
|
|
300
|
+
.join(", ")}._`);
|
|
301
|
+
}
|
|
302
|
+
lines.push(`_Showing ${pagination.returned} items (offset ${pagination.offset}, limit ${pagination.limit})_`);
|
|
303
|
+
lines.push("");
|
|
304
|
+
// Group under venue + profit centre; the upstream ordering already matches.
|
|
305
|
+
let currentGroup = "";
|
|
306
|
+
for (const item of data) {
|
|
307
|
+
const group = `${item.location} — ${item.profit_center_name}`;
|
|
308
|
+
if (group !== currentGroup) {
|
|
309
|
+
lines.push("");
|
|
310
|
+
lines.push(`## ${group}`);
|
|
311
|
+
currentGroup = group;
|
|
312
|
+
}
|
|
313
|
+
const bits = [];
|
|
314
|
+
if (present(item.price))
|
|
315
|
+
bits.push(`$${item.price}`);
|
|
316
|
+
if (present(item.calories)) {
|
|
317
|
+
bits.push(present(item.calories_max) && item.calories_max !== item.calories
|
|
318
|
+
? `${item.calories}–${item.calories_max} cal`
|
|
319
|
+
: `${item.calories} cal`);
|
|
320
|
+
}
|
|
321
|
+
if (present(item.daypart) && item.daypart !== "unknown")
|
|
322
|
+
bits.push(item.daypart);
|
|
323
|
+
const meta = bits.length ? ` — ${bits.join(" · ")}` : "";
|
|
324
|
+
lines.push(`- **${item.item_name}**${meta}`);
|
|
325
|
+
if (present(item.category))
|
|
326
|
+
lines.push(` - Category: ${item.category}`);
|
|
327
|
+
if (present(item.description))
|
|
328
|
+
lines.push(` - ${item.description}`);
|
|
329
|
+
if (present(item.tags))
|
|
330
|
+
lines.push(` - Tags: ${item.tags}`);
|
|
331
|
+
if (present(item.allergens))
|
|
332
|
+
lines.push(` - Allergens: ${item.allergens}`);
|
|
333
|
+
const macros = [
|
|
334
|
+
["Protein", item.protein],
|
|
335
|
+
["Fat", item.total_fat],
|
|
336
|
+
["Carbs", item.total_carbohydrate],
|
|
337
|
+
["Sodium", item.sodium],
|
|
338
|
+
["Fiber", item.dietary_fiber],
|
|
339
|
+
].filter(([, v]) => present(v));
|
|
340
|
+
if (macros.length) {
|
|
341
|
+
lines.push(` - ${macros.map(([k, v]) => `${k}: ${v}`).join(" · ")}`);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (pagination.returned === pagination.limit) {
|
|
345
|
+
lines.push("");
|
|
346
|
+
lines.push(`_More results available — use offset=${pagination.offset + pagination.limit} to continue._`);
|
|
347
|
+
}
|
|
348
|
+
return lines.join("\n");
|
|
349
|
+
}
|
|
350
|
+
function formatMenuLocations(data) {
|
|
351
|
+
const lines = [
|
|
352
|
+
`# Hots&Cots — CSDV Dining Venues (${data.length} total)`,
|
|
353
|
+
"",
|
|
354
|
+
"| Venue | Latest menu | Earliest menu | Days captured | Items |",
|
|
355
|
+
"|---|---|---|---:|---:|",
|
|
356
|
+
];
|
|
357
|
+
for (const loc of data) {
|
|
358
|
+
lines.push(`| ${loc.location} | ${loc.latest_scrape_date} | ${loc.earliest_scrape_date} | ${loc.date_count} | ${loc.total_items} |`);
|
|
359
|
+
}
|
|
360
|
+
lines.push("");
|
|
361
|
+
lines.push("_Venues are scraped on different schedules, so latest menu dates can differ._");
|
|
362
|
+
return lines.join("\n");
|
|
363
|
+
}
|
|
180
364
|
function formatInstallations(data) {
|
|
181
365
|
const sorted = [...data].sort((a, b) => b.counts.total - a.counts.total);
|
|
182
366
|
const lines = [
|
|
@@ -220,7 +404,7 @@ async function fetchReviews(endpoint, params) {
|
|
|
220
404
|
// ─── MCP Server ───────────────────────────────────────────────────────────────
|
|
221
405
|
const server = new McpServer({
|
|
222
406
|
name: "Hots&Cots",
|
|
223
|
-
version: "1.
|
|
407
|
+
version: "1.3.0",
|
|
224
408
|
});
|
|
225
409
|
// ── Tool: health check ────────────────────────────────────────────────────────
|
|
226
410
|
server.registerTool("hotscots_health", {
|
|
@@ -292,14 +476,14 @@ server.registerTool("hotscots_get_barracks_reviews", {
|
|
|
292
476
|
title: "Get Barracks Reviews",
|
|
293
477
|
description: `Fetch barracks / housing (Cots) reviews from Hots&Cots. Costs 1 API request.
|
|
294
478
|
|
|
295
|
-
|
|
479
|
+
Use a larger limit (up to 1000) to assemble datasets for analysis; page with offset for more.
|
|
296
480
|
⚠️ If installation is set, up to ${FILTER_FETCH_CAP} records are fetched and filtered locally. Pagination with an installation filter returns the first matching records from that pool.
|
|
297
481
|
|
|
298
482
|
Each review includes: rating (1–5), feedback, tags, branch, and barracks-specific fields such as mold_issues, pest_issues, working_air_heat, working_furniture, accessible_laundry, private_sleeping_area, lockable_doors, dpw_satisfaction_rating, is_privatized_barracks.
|
|
299
483
|
|
|
300
484
|
Args:
|
|
301
485
|
- installation (string, optional): Filter by installation name (partial match). Run hotscots_list_installations first to get exact names.
|
|
302
|
-
- limit (integer): Records per page, 1–
|
|
486
|
+
- limit (integer): Records per page, 1–1000 (default 20)
|
|
303
487
|
- offset (integer): Records to skip (default 0). Only reliable without an installation filter.
|
|
304
488
|
- response_format: 'markdown' (default) or 'json'`,
|
|
305
489
|
inputSchema: {
|
|
@@ -332,14 +516,14 @@ server.registerTool("hotscots_get_dfac_reviews", {
|
|
|
332
516
|
title: "Get DFAC / Dining Reviews",
|
|
333
517
|
description: `Fetch dining facility / DFAC (Hots) reviews from Hots&Cots. Costs 1 API request.
|
|
334
518
|
|
|
335
|
-
|
|
519
|
+
Use a larger limit (up to 1000) to assemble datasets for analysis; page with offset for more.
|
|
336
520
|
⚠️ If installation is set, up to ${FILTER_FETCH_CAP} records are fetched and filtered locally. Pagination with an installation filter returns the first matching records from that pool.
|
|
337
521
|
|
|
338
522
|
Each review includes: rating (1–5), feedback, tags, branch, dfac_name, and dining-specific fields such as breakfast_ranking, lunch_ranking, dinner_ranking, dfac_choices, dfac_healthy, dfac_filling, dfac_temp, dfac_police, has_shuttle, walking_distance, kiosk_level, inedible_food_issue.
|
|
339
523
|
|
|
340
524
|
Args:
|
|
341
525
|
- installation (string, optional): Filter by installation name (partial match). Run hotscots_list_installations first to get exact names.
|
|
342
|
-
- limit (integer): Records per page, 1–
|
|
526
|
+
- limit (integer): Records per page, 1–1000 (default 20)
|
|
343
527
|
- offset (integer): Records to skip (default 0). Only reliable without an installation filter.
|
|
344
528
|
- response_format: 'markdown' (default) or 'json'`,
|
|
345
529
|
inputSchema: {
|
|
@@ -372,14 +556,14 @@ server.registerTool("hotscots_get_other_reviews", {
|
|
|
372
556
|
title: "Get Other Facility Reviews",
|
|
373
557
|
description: `Fetch reviews of other on-base facilities from Hots&Cots. Costs 1 API request.
|
|
374
558
|
|
|
375
|
-
|
|
559
|
+
Use a larger limit (up to 1000) to assemble datasets for analysis; page with offset for more.
|
|
376
560
|
⚠️ If installation is set, up to ${FILTER_FETCH_CAP} records are fetched and filtered locally.
|
|
377
561
|
|
|
378
562
|
Covers: Medical clinics, Child Development Centers (CDC), gyms, PX/BX, legal offices, lodging, and moving/transportation services. Use the facility_type field to distinguish between them.
|
|
379
563
|
|
|
380
564
|
Args:
|
|
381
565
|
- installation (string, optional): Filter by installation name (partial match)
|
|
382
|
-
- limit (integer): Records per page, 1–
|
|
566
|
+
- limit (integer): Records per page, 1–1000 (default 20)
|
|
383
567
|
- offset (integer): Records to skip (default 0). Only reliable without an installation filter.
|
|
384
568
|
- response_format: 'markdown' (default) or 'json'`,
|
|
385
569
|
inputSchema: {
|
|
@@ -407,6 +591,231 @@ Args:
|
|
|
407
591
|
return { content: [{ type: "text", text: handleError(err) }] };
|
|
408
592
|
}
|
|
409
593
|
});
|
|
594
|
+
// ── Tool: ICE facilities (discovery) ──────────────────────────────────────────
|
|
595
|
+
server.registerTool("hotscots_list_ice_facilities", {
|
|
596
|
+
title: "List ICE Facilities",
|
|
597
|
+
description: `List every installation with ICE (Interactive Customer Evaluation) satisfaction data, broken down by survey kind. Costs 1 API request.
|
|
598
|
+
|
|
599
|
+
ICE is the DoD's official customer-satisfaction survey programme. Hots&Cots captures periodic snapshots of the published scores.
|
|
600
|
+
|
|
601
|
+
Returns per installation/kind pair:
|
|
602
|
+
- installation_key: full name including state, e.g. "Beale Air Force Base, California"
|
|
603
|
+
- kind: 'dfac' (dining facilities) or 'dpw' (public works, which covers barracks)
|
|
604
|
+
- facility_count: distinct facilities surveyed
|
|
605
|
+
- latest_window_end: most recent snapshot window available
|
|
606
|
+
|
|
607
|
+
Run this first to get exact installation_key values before calling hotscots_get_ice_ratings.
|
|
608
|
+
|
|
609
|
+
Args:
|
|
610
|
+
- kind (string, optional): 'dfac' or 'dpw'
|
|
611
|
+
- installation (string, optional): Filter by installation name (partial match)
|
|
612
|
+
- response_format: 'markdown' (default) or 'json'`,
|
|
613
|
+
inputSchema: {
|
|
614
|
+
kind: IceKindSchema,
|
|
615
|
+
installation: InstallationFilterSchema,
|
|
616
|
+
response_format: ResponseFormatSchema,
|
|
617
|
+
},
|
|
618
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
619
|
+
}, async (params) => {
|
|
620
|
+
try {
|
|
621
|
+
const result = await apiGet("/ice-facilities", {
|
|
622
|
+
kind: params.kind,
|
|
623
|
+
installation: params.installation,
|
|
624
|
+
});
|
|
625
|
+
const data = result.data.map((r) => pick(r, ICE_FACILITY_FIELDS));
|
|
626
|
+
if (!data.length) {
|
|
627
|
+
const where = params.installation ? ` for "${params.installation}"` : "";
|
|
628
|
+
return { content: [{ type: "text", text: `No ICE facilities found${where}.` }] };
|
|
629
|
+
}
|
|
630
|
+
const text = params.response_format === ResponseFormat.JSON
|
|
631
|
+
? JSON.stringify({ endpoint: "ice", count: data.length, data }, null, 2)
|
|
632
|
+
: formatIceFacilities(data);
|
|
633
|
+
return {
|
|
634
|
+
content: [{ type: "text", text: truncate(text) }],
|
|
635
|
+
structuredContent: { endpoint: "ice", count: data.length, data },
|
|
636
|
+
};
|
|
637
|
+
}
|
|
638
|
+
catch (err) {
|
|
639
|
+
return { content: [{ type: "text", text: handleError(err) }] };
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
// ── Tool: ICE ratings ─────────────────────────────────────────────────────────
|
|
643
|
+
server.registerTool("hotscots_get_ice_ratings", {
|
|
644
|
+
title: "Get ICE Satisfaction Ratings",
|
|
645
|
+
description: `Fetch ICE (Interactive Customer Evaluation) satisfaction snapshots for dining facilities and public works. Costs 1 API request.
|
|
646
|
+
|
|
647
|
+
These are official DoD survey scores, not Hots&Cots user reviews — useful for comparing what the command reports against what service members say.
|
|
648
|
+
|
|
649
|
+
Defaults to the most recent snapshot window. Pass window_end for a specific window, or all_windows=true to page through history.
|
|
650
|
+
|
|
651
|
+
Each record includes: installation_key, facility_name, kind, overall_satisfied_pct, met_needs_pct, 1–5 sub-scores for appearance / staff / timeliness / hours (each with its response count), composite_score, and the window dates.
|
|
652
|
+
|
|
653
|
+
⚠️ Response counts are often very small (n=1 is common). Do not treat a single-response score as representative.
|
|
654
|
+
|
|
655
|
+
Args:
|
|
656
|
+
- kind (string, optional): 'dfac' (dining) or 'dpw' (public works / barracks)
|
|
657
|
+
- installation (string, optional): Filter by installation name (partial match). Run hotscots_list_ice_facilities first for exact names.
|
|
658
|
+
- window_end (string, optional): Snapshot window end date, YYYY-MM-DD. Defaults to the newest available.
|
|
659
|
+
- all_windows (boolean): Set true to include every window instead of just the latest (default false)
|
|
660
|
+
- limit (integer): Records per page, 1–500 (default 50)
|
|
661
|
+
- offset (integer): Records to skip (default 0)
|
|
662
|
+
- response_format: 'markdown' (default) or 'json'`,
|
|
663
|
+
inputSchema: {
|
|
664
|
+
kind: IceKindSchema,
|
|
665
|
+
installation: InstallationFilterSchema,
|
|
666
|
+
window_end: IsoDateSchema.describe("Snapshot window end date (YYYY-MM-DD). Defaults to the newest available."),
|
|
667
|
+
all_windows: z
|
|
668
|
+
.boolean()
|
|
669
|
+
.default(false)
|
|
670
|
+
.describe("Include every snapshot window instead of only the latest"),
|
|
671
|
+
...DatasetPaginationSchema,
|
|
672
|
+
response_format: ResponseFormatSchema,
|
|
673
|
+
},
|
|
674
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
675
|
+
}, async (params) => {
|
|
676
|
+
try {
|
|
677
|
+
const result = await apiGet("/ice-ratings", {
|
|
678
|
+
kind: params.kind,
|
|
679
|
+
installation: params.installation,
|
|
680
|
+
window_end: params.window_end,
|
|
681
|
+
all_windows: params.all_windows ? "true" : undefined,
|
|
682
|
+
limit: params.limit,
|
|
683
|
+
offset: params.offset,
|
|
684
|
+
});
|
|
685
|
+
const data = result.data.map((r) => pick(r, ICE_SAFE_FIELDS));
|
|
686
|
+
if (!data.length) {
|
|
687
|
+
const where = params.installation ? ` for "${params.installation}"` : "";
|
|
688
|
+
return { content: [{ type: "text", text: `No ICE ratings found${where}.` }] };
|
|
689
|
+
}
|
|
690
|
+
const payload = {
|
|
691
|
+
endpoint: "ice",
|
|
692
|
+
data,
|
|
693
|
+
pagination: result.pagination,
|
|
694
|
+
filters: result.filters,
|
|
695
|
+
};
|
|
696
|
+
const text = params.response_format === ResponseFormat.JSON
|
|
697
|
+
? JSON.stringify(payload, null, 2)
|
|
698
|
+
: formatIceRatings(data, result.pagination, result.filters);
|
|
699
|
+
return {
|
|
700
|
+
content: [{ type: "text", text: truncate(text) }],
|
|
701
|
+
structuredContent: payload,
|
|
702
|
+
};
|
|
703
|
+
}
|
|
704
|
+
catch (err) {
|
|
705
|
+
return { content: [{ type: "text", text: handleError(err) }] };
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
// ── Tool: menu venues (discovery) ─────────────────────────────────────────────
|
|
709
|
+
server.registerTool("hotscots_list_menu_locations", {
|
|
710
|
+
title: "List Dining Venues",
|
|
711
|
+
description: `List the CSDV dining venues that have captured menus, with coverage dates. Costs 1 API request.
|
|
712
|
+
|
|
713
|
+
Returns per venue:
|
|
714
|
+
- location: venue key, e.g. "stackhouse"
|
|
715
|
+
- latest_scrape_date / earliest_scrape_date: coverage range
|
|
716
|
+
- date_count: distinct days captured
|
|
717
|
+
- total_items: menu item rows on record
|
|
718
|
+
|
|
719
|
+
Venues are scraped on different schedules, so their latest menu dates can differ. Run this first to get exact location values for hotscots_get_menu_items.
|
|
720
|
+
|
|
721
|
+
Args:
|
|
722
|
+
- response_format: 'markdown' (default) or 'json'`,
|
|
723
|
+
inputSchema: {
|
|
724
|
+
response_format: ResponseFormatSchema,
|
|
725
|
+
},
|
|
726
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
727
|
+
}, async (params) => {
|
|
728
|
+
try {
|
|
729
|
+
const result = await apiGet("/menu-locations");
|
|
730
|
+
const data = result.data.map((r) => pick(r, MENU_LOCATION_FIELDS));
|
|
731
|
+
if (!data.length) {
|
|
732
|
+
return { content: [{ type: "text", text: "No dining venues found." }] };
|
|
733
|
+
}
|
|
734
|
+
const text = params.response_format === ResponseFormat.JSON
|
|
735
|
+
? JSON.stringify({ endpoint: "menu", count: data.length, data }, null, 2)
|
|
736
|
+
: formatMenuLocations(data);
|
|
737
|
+
return {
|
|
738
|
+
content: [{ type: "text", text: truncate(text) }],
|
|
739
|
+
structuredContent: { endpoint: "menu", count: data.length, data },
|
|
740
|
+
};
|
|
741
|
+
}
|
|
742
|
+
catch (err) {
|
|
743
|
+
return { content: [{ type: "text", text: handleError(err) }] };
|
|
744
|
+
}
|
|
745
|
+
});
|
|
746
|
+
// ── Tool: menu items ──────────────────────────────────────────────────────────
|
|
747
|
+
server.registerTool("hotscots_get_menu_items", {
|
|
748
|
+
title: "Get Dining Menu Items",
|
|
749
|
+
description: `Fetch menu items — with prices and nutrition — from CSDV dining venues. Costs 1 API request.
|
|
750
|
+
|
|
751
|
+
Defaults to the latest captured menu for each venue. Because venues are scraped on different schedules, "latest" is resolved per venue, and the response reports which date was used for each.
|
|
752
|
+
|
|
753
|
+
Pass scrape_date to read a historical menu, which is how you compare prices or offerings over time.
|
|
754
|
+
|
|
755
|
+
Each item includes: item_name, category, profit_center_name (the station or outlet), description, price, calories, macros, ingredients, allergens, Go-for-Green tags, and daypart.
|
|
756
|
+
|
|
757
|
+
⚠️ Nutrition fields are frequently empty upstream — absent values mean "not published", not zero.
|
|
758
|
+
|
|
759
|
+
Args:
|
|
760
|
+
- location (string, optional): Venue key. Run hotscots_list_menu_locations for valid values.
|
|
761
|
+
- scrape_date (string, optional): Menu date, YYYY-MM-DD. Defaults to each venue's latest.
|
|
762
|
+
- daypart (string, optional): 'breakfast', 'lunch', 'dinner', 'all-day', or 'unknown'
|
|
763
|
+
- profit_center (string, optional): Filter by station / outlet name (partial match)
|
|
764
|
+
- category (string, optional): Filter by menu category (partial match)
|
|
765
|
+
- search (string, optional): Filter by item name (partial match)
|
|
766
|
+
- limit (integer): Records per page, 1–500 (default 50)
|
|
767
|
+
- offset (integer): Records to skip (default 0)
|
|
768
|
+
- response_format: 'markdown' (default) or 'json'`,
|
|
769
|
+
inputSchema: {
|
|
770
|
+
location: z.string().max(100).optional().describe("Venue key, e.g. 'stackhouse'"),
|
|
771
|
+
scrape_date: IsoDateSchema.describe("Menu date (YYYY-MM-DD). Defaults to each venue's latest."),
|
|
772
|
+
daypart: z
|
|
773
|
+
.enum(["breakfast", "lunch", "dinner", "all-day", "unknown"])
|
|
774
|
+
.optional()
|
|
775
|
+
.describe("Filter by daypart"),
|
|
776
|
+
profit_center: z.string().max(100).optional().describe("Filter by station / outlet name (partial)"),
|
|
777
|
+
category: z.string().max(100).optional().describe("Filter by menu category (partial)"),
|
|
778
|
+
search: z.string().max(100).optional().describe("Filter by item name (partial)"),
|
|
779
|
+
...DatasetPaginationSchema,
|
|
780
|
+
response_format: ResponseFormatSchema,
|
|
781
|
+
},
|
|
782
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
783
|
+
}, async (params) => {
|
|
784
|
+
try {
|
|
785
|
+
const result = await apiGet("/menu-items", {
|
|
786
|
+
location: params.location,
|
|
787
|
+
scrape_date: params.scrape_date,
|
|
788
|
+
daypart: params.daypart,
|
|
789
|
+
profit_center: params.profit_center,
|
|
790
|
+
category: params.category,
|
|
791
|
+
search: params.search,
|
|
792
|
+
limit: params.limit,
|
|
793
|
+
offset: params.offset,
|
|
794
|
+
});
|
|
795
|
+
const data = result.data.map((r) => pick(r, MENU_SAFE_FIELDS));
|
|
796
|
+
if (!data.length) {
|
|
797
|
+
const where = params.location ? ` at "${params.location}"` : "";
|
|
798
|
+
return { content: [{ type: "text", text: `No menu items found${where}.` }] };
|
|
799
|
+
}
|
|
800
|
+
const payload = {
|
|
801
|
+
endpoint: "menu",
|
|
802
|
+
data,
|
|
803
|
+
pagination: result.pagination,
|
|
804
|
+
filters: result.filters,
|
|
805
|
+
resolved_dates: result.resolved_dates ?? null,
|
|
806
|
+
};
|
|
807
|
+
const text = params.response_format === ResponseFormat.JSON
|
|
808
|
+
? JSON.stringify(payload, null, 2)
|
|
809
|
+
: formatMenuItems(data, result.pagination, result.resolved_dates);
|
|
810
|
+
return {
|
|
811
|
+
content: [{ type: "text", text: truncate(text) }],
|
|
812
|
+
structuredContent: payload,
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
catch (err) {
|
|
816
|
+
return { content: [{ type: "text", text: handleError(err) }] };
|
|
817
|
+
}
|
|
818
|
+
});
|
|
410
819
|
// ─── Transport ────────────────────────────────────────────────────────────────
|
|
411
820
|
async function runStdio() {
|
|
412
821
|
const transport = new StdioServerTransport();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED