@hotscots/mcp 1.0.1 → 1.0.2
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 +45 -32
- package/dist/index.js +137 -110
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Hots&Cots MCP Server
|
|
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
5
|
**Requires an H&CPro API key** (`hc_live_...`) — generate yours at [hotscots.app/subscription/dashboard](https://hotscots.app/subscription/dashboard).
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ MCP server for the [Hots&Cots](https://hotscots.app) military quality-of-life AP
|
|
|
8
8
|
|
|
9
9
|
## Setup — Claude Desktop
|
|
10
10
|
|
|
11
|
-
Add this to your Claude Desktop config
|
|
11
|
+
No cloning or building required. Add this to your Claude Desktop config file:
|
|
12
12
|
|
|
13
13
|
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
14
14
|
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
@@ -33,34 +33,30 @@ Restart Claude Desktop. The Hots&Cots tools will appear automatically.
|
|
|
33
33
|
|
|
34
34
|
## Setup — Cursor / Other MCP Clients
|
|
35
35
|
|
|
36
|
-
Same config
|
|
36
|
+
Same config block — check your client's documentation for the config file location.
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
40
|
-
## What You Can Ask
|
|
40
|
+
## What You Can Ask
|
|
41
41
|
|
|
42
|
-
- *"
|
|
43
|
-
- *"List all installations
|
|
44
|
-
- *"
|
|
45
|
-
- *"
|
|
46
|
-
- *"
|
|
47
|
-
- *"Show medical and CDC facility reviews"*
|
|
48
|
-
- *"How many barracks reviews does Fort Stewart have?"*
|
|
42
|
+
- *"Is my Hots&Cots API key working?"*
|
|
43
|
+
- *"List all installations — which have the most reviews?"*
|
|
44
|
+
- *"Show me barracks reviews at Fort Liberty."*
|
|
45
|
+
- *"What percentage of barracks reviews at Fort Hood report mold?"*
|
|
46
|
+
- *"How do service members rate the DFACs at Camp Lejeune?"*
|
|
47
|
+
- *"Show medical and CDC facility reviews for Army bases in Texas."*
|
|
49
48
|
|
|
50
49
|
---
|
|
51
50
|
|
|
52
51
|
## Available Tools
|
|
53
52
|
|
|
54
53
|
| Tool | Description |
|
|
55
|
-
|
|
56
|
-
| `hotscots_health` | Verify your API key |
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `hotscots_get_dfac_reviews` | Paginated DFAC (
|
|
60
|
-
| `
|
|
61
|
-
| `hotscots_get_other_reviews` | Medical, CDC, gym, PX/BX, lodging, moving reviews |
|
|
62
|
-
| `hotscots_list_installations` | All installations with cots/hots/other/total counts |
|
|
63
|
-
| `hotscots_installation_snapshot` | Unified barracks + DFAC snapshot for a named installation |
|
|
54
|
+
|---|---|
|
|
55
|
+
| `hotscots_health` | Verify your API key and confirm the service is reachable |
|
|
56
|
+
| `hotscots_list_installations` | All installations with barracks, dining, and other review counts |
|
|
57
|
+
| `hotscots_get_barracks_reviews` | Paginated barracks / housing (Cots) reviews |
|
|
58
|
+
| `hotscots_get_dfac_reviews` | Paginated dining facility / DFAC (Hots) reviews |
|
|
59
|
+
| `hotscots_get_other_reviews` | Reviews for medical, CDC, gym, PX/BX, lodging, and moving services |
|
|
64
60
|
|
|
65
61
|
---
|
|
66
62
|
|
|
@@ -69,26 +65,43 @@ Same config, different file location. Check your client's MCP documentation for
|
|
|
69
65
|
```
|
|
70
66
|
Claude Desktop / Cursor / AI client
|
|
71
67
|
↓ MCP protocol (stdio)
|
|
72
|
-
@hotscots/mcp ← runs locally
|
|
68
|
+
@hotscots/mcp ← runs locally via npx
|
|
73
69
|
↓ HTTPS + Bearer token
|
|
74
70
|
api.hotscots.app/functions/v1/api
|
|
75
|
-
↓
|
|
76
|
-
Supabase (anonymized review data)
|
|
71
|
+
↓
|
|
72
|
+
Supabase (anonymized, OPSEC-scrubbed review data)
|
|
77
73
|
```
|
|
78
74
|
|
|
79
|
-
The
|
|
75
|
+
The server runs locally on your machine — your API key never leaves your device.
|
|
80
76
|
|
|
81
77
|
---
|
|
82
78
|
|
|
83
79
|
## Environment Variables
|
|
84
80
|
|
|
85
|
-
| Variable | Description |
|
|
86
|
-
|
|
87
|
-
| `HOTSCOTS_API_KEY` | Your API key (`hc_live_...`)
|
|
88
|
-
| `
|
|
89
|
-
| `TRANSPORT` | `stdio` (default) or `http` for remote/multi-user mode |
|
|
90
|
-
| `PORT` | HTTP port when `TRANSPORT=http` (default: `3000`) |
|
|
81
|
+
| Variable | Required | Description |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `HOTSCOTS_API_KEY` | ✅ | Your API key (`hc_live_...`) |
|
|
84
|
+
| `HOTSCOTS_API_URL` | ❌ | Override the API base URL |
|
|
85
|
+
| `TRANSPORT` | ❌ | `stdio` (default) or `http` for remote/multi-user mode |
|
|
86
|
+
| `PORT` | ❌ | HTTP port when `TRANSPORT=http` (default: `3000`) |
|
|
91
87
|
|
|
92
88
|
---
|
|
93
89
|
|
|
94
|
-
|
|
90
|
+
## Troubleshooting
|
|
91
|
+
|
|
92
|
+
**"HOTSCOTS_API_KEY environment variable is not set"**
|
|
93
|
+
→ Make sure the `env` block in your config includes your key and you've fully restarted the client.
|
|
94
|
+
|
|
95
|
+
**"API key not found" or "License inactive"**
|
|
96
|
+
→ Double-check your key at [hotscots.app/subscription/dashboard](https://hotscots.app/subscription/dashboard). Keys must be on an active H&CPro plan.
|
|
97
|
+
|
|
98
|
+
**"Access denied to \<endpoint\>"**
|
|
99
|
+
→ Your plan may not include that review type. Check your subscription tier.
|
|
100
|
+
|
|
101
|
+
**Tools aren't showing up**
|
|
102
|
+
→ Confirm Node.js 18+ is installed (`node --version`) and try asking Claude to run a health check.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
**Clean. Safe. Comfort.** — [hotscots.app](https://hotscots.app)
|
|
107
|
+
Questions? [support@hotscots.app](mailto:support@hotscots.app)
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,9 @@ 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
9
|
const CHARACTER_LIMIT = 25000;
|
|
10
|
+
// When filtering client-side we must over-fetch. Cap how many records we'll
|
|
11
|
+
// pull in a single request to avoid burning the user's monthly quota.
|
|
12
|
+
const FILTER_FETCH_CAP = 500;
|
|
10
13
|
var EndpointType;
|
|
11
14
|
(function (EndpointType) {
|
|
12
15
|
EndpointType["HOTS"] = "hots";
|
|
@@ -18,13 +21,20 @@ var ResponseFormat;
|
|
|
18
21
|
ResponseFormat["MARKDOWN"] = "markdown";
|
|
19
22
|
ResponseFormat["JSON"] = "json";
|
|
20
23
|
})(ResponseFormat || (ResponseFormat = {}));
|
|
21
|
-
// ─── API
|
|
22
|
-
function
|
|
24
|
+
// ─── API key validation ───────────────────────────────────────────────────────
|
|
25
|
+
function requireApiKey() {
|
|
23
26
|
const key = process.env.HOTSCOTS_API_KEY;
|
|
24
|
-
if (!key)
|
|
25
|
-
|
|
27
|
+
if (!key) {
|
|
28
|
+
console.error("\n❌ HOTSCOTS_API_KEY is not set.\n" +
|
|
29
|
+
" Add it to the env block in your MCP client config and restart.\n" +
|
|
30
|
+
" Get your key at: https://hotscots.app/subscription/dashboard\n");
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
26
33
|
return key;
|
|
27
34
|
}
|
|
35
|
+
// Validate key once at startup — fail fast before Claude even connects.
|
|
36
|
+
const API_KEY = requireApiKey();
|
|
37
|
+
// ─── API client ───────────────────────────────────────────────────────────────
|
|
28
38
|
async function apiGet(path, params) {
|
|
29
39
|
const url = new URL(`${API_BASE_URL}${path}`);
|
|
30
40
|
if (params) {
|
|
@@ -33,22 +43,28 @@ async function apiGet(path, params) {
|
|
|
33
43
|
url.searchParams.set(k, String(v));
|
|
34
44
|
}
|
|
35
45
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
let res;
|
|
47
|
+
try {
|
|
48
|
+
res = await fetch(url.toString(), {
|
|
49
|
+
headers: {
|
|
50
|
+
Authorization: `Bearer ${API_KEY}`,
|
|
51
|
+
Accept: "application/json",
|
|
52
|
+
},
|
|
53
|
+
signal: AbortSignal.timeout(30_000),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
58
|
+
throw new Error(`Network error: ${msg}. Check your connection and try again.`);
|
|
59
|
+
}
|
|
43
60
|
if (!res.ok) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
61
|
+
// Map status codes to user-friendly messages; don't leak raw API internals.
|
|
62
|
+
switch (res.status) {
|
|
63
|
+
case 401: throw new Error("Invalid or expired API key. Check your HOTSCOTS_API_KEY.");
|
|
64
|
+
case 403: throw new Error("Your plan does not have access to this data. Check your subscription tier.");
|
|
65
|
+
case 429: throw new Error("Monthly request quota exceeded. Upgrade your plan or wait for the next billing cycle.");
|
|
66
|
+
default: throw new Error(`The Hots&Cots API returned an error (${res.status}). Please try again shortly.`);
|
|
49
67
|
}
|
|
50
|
-
catch { /* ignore */ }
|
|
51
|
-
throw new Error(message);
|
|
52
68
|
}
|
|
53
69
|
return res.json();
|
|
54
70
|
}
|
|
@@ -59,7 +75,7 @@ function truncate(text) {
|
|
|
59
75
|
if (text.length <= CHARACTER_LIMIT)
|
|
60
76
|
return text;
|
|
61
77
|
return (text.slice(0, CHARACTER_LIMIT) +
|
|
62
|
-
"\n\n[Response truncated —
|
|
78
|
+
"\n\n[Response truncated — lower the limit or increase the offset to page through results.]");
|
|
63
79
|
}
|
|
64
80
|
// ─── Shared schemas ───────────────────────────────────────────────────────────
|
|
65
81
|
const PaginationSchema = {
|
|
@@ -67,15 +83,15 @@ const PaginationSchema = {
|
|
|
67
83
|
.number()
|
|
68
84
|
.int()
|
|
69
85
|
.min(1)
|
|
70
|
-
.max(
|
|
71
|
-
.default(
|
|
72
|
-
.describe("Records per page
|
|
86
|
+
.max(100)
|
|
87
|
+
.default(20)
|
|
88
|
+
.describe("Records per page, 1–100 (default 20). Keep low to stay within your monthly quota."),
|
|
73
89
|
offset: z
|
|
74
90
|
.number()
|
|
75
91
|
.int()
|
|
76
92
|
.min(0)
|
|
77
93
|
.default(0)
|
|
78
|
-
.describe("Records to skip for pagination (default 0)"),
|
|
94
|
+
.describe("Records to skip for pagination (default 0)."),
|
|
79
95
|
};
|
|
80
96
|
const ResponseFormatSchema = z
|
|
81
97
|
.nativeEnum(ResponseFormat)
|
|
@@ -86,12 +102,25 @@ function starsFor(rating) {
|
|
|
86
102
|
const r = Math.round(rating);
|
|
87
103
|
return "★".repeat(r) + "☆".repeat(Math.max(0, 5 - r));
|
|
88
104
|
}
|
|
89
|
-
|
|
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
|
+
function formatReviews(data, endpointLabel, pagination, filtered) {
|
|
90
111
|
const lines = [
|
|
91
112
|
`# Hots&Cots — ${endpointLabel} Reviews`,
|
|
92
|
-
`_Showing ${pagination.returned} records (offset ${pagination.offset}, limit ${pagination.limit})_`,
|
|
93
|
-
"",
|
|
94
113
|
];
|
|
114
|
+
if (filtered) {
|
|
115
|
+
lines.push(`_Filtered to "${filtered.installation}" — found ${data.length} match(es) in the first ${filtered.fetchedTotal} records fetched._`);
|
|
116
|
+
if (filtered.fetchedTotal >= FILTER_FETCH_CAP && data.length === pagination.limit) {
|
|
117
|
+
lines.push(`_⚠️ Results are capped at ${FILTER_FETCH_CAP} fetched records. There may be more reviews not shown._`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
lines.push(`_Showing ${pagination.returned} records (offset ${pagination.offset}, limit ${pagination.limit})_`);
|
|
122
|
+
}
|
|
123
|
+
lines.push("");
|
|
95
124
|
for (const r of data) {
|
|
96
125
|
lines.push(`## ${starsFor(r.rating)} ${r.title}`);
|
|
97
126
|
lines.push(`**Installation**: ${r.installation}`);
|
|
@@ -108,7 +137,7 @@ function formatReviews(data, endpointLabel, pagination) {
|
|
|
108
137
|
lines.push("---");
|
|
109
138
|
lines.push("");
|
|
110
139
|
}
|
|
111
|
-
if (pagination.returned === pagination.limit) {
|
|
140
|
+
if (!filtered && pagination.returned === pagination.limit) {
|
|
112
141
|
lines.push(`_More results available — use offset=${pagination.offset + pagination.limit} to continue._`);
|
|
113
142
|
}
|
|
114
143
|
return lines.join("\n");
|
|
@@ -126,6 +155,36 @@ function formatInstallations(data) {
|
|
|
126
155
|
}
|
|
127
156
|
return lines.join("\n");
|
|
128
157
|
}
|
|
158
|
+
// ─── Shared review fetcher ────────────────────────────────────────────────────
|
|
159
|
+
async function fetchReviews(endpoint, params) {
|
|
160
|
+
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
|
+
const result = await apiGet("/reviews", {
|
|
164
|
+
endpoint,
|
|
165
|
+
limit: FILTER_FETCH_CAP,
|
|
166
|
+
offset: 0,
|
|
167
|
+
});
|
|
168
|
+
const q = params.installation.toLowerCase();
|
|
169
|
+
const matched = result.data.filter((r) => r.installation.toLowerCase().includes(q));
|
|
170
|
+
const page = matched.slice(params.offset, params.offset + params.limit);
|
|
171
|
+
return {
|
|
172
|
+
data: page,
|
|
173
|
+
pagination: { limit: params.limit, offset: params.offset, returned: page.length },
|
|
174
|
+
filtered: { installation: params.installation, fetchedTotal: result.data.length },
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
// No filter — use API pagination directly.
|
|
178
|
+
const result = await apiGet("/reviews", {
|
|
179
|
+
endpoint,
|
|
180
|
+
limit: params.limit,
|
|
181
|
+
offset: params.offset,
|
|
182
|
+
});
|
|
183
|
+
return {
|
|
184
|
+
data: result.data,
|
|
185
|
+
pagination: result.pagination,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
129
188
|
// ─── MCP Server ───────────────────────────────────────────────────────────────
|
|
130
189
|
const server = new McpServer({
|
|
131
190
|
name: "Hots&Cots",
|
|
@@ -134,10 +193,10 @@ const server = new McpServer({
|
|
|
134
193
|
// ── Tool: health check ────────────────────────────────────────────────────────
|
|
135
194
|
server.registerTool("hotscots_health", {
|
|
136
195
|
title: "API Health Check",
|
|
137
|
-
description: `Verify that
|
|
196
|
+
description: `Verify that the Hots&Cots API key is valid and the service is reachable.
|
|
138
197
|
|
|
139
|
-
Returns
|
|
140
|
-
Use this to
|
|
198
|
+
Returns status and timestamp on success.
|
|
199
|
+
Use this to confirm connectivity before running other tools.`,
|
|
141
200
|
inputSchema: z.object({}),
|
|
142
201
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
143
202
|
}, async () => {
|
|
@@ -154,19 +213,19 @@ Use this to diagnose connectivity or authentication problems before running othe
|
|
|
154
213
|
// ── Tool: list installations ──────────────────────────────────────────────────
|
|
155
214
|
server.registerTool("hotscots_list_installations", {
|
|
156
215
|
title: "List Military Installations",
|
|
157
|
-
description: `List every military installation that has at least one review in the Hots&Cots database, with a breakdown
|
|
216
|
+
description: `List every military installation that has at least one review in the Hots&Cots database, with a count breakdown by review type. Costs 1 API request.
|
|
158
217
|
|
|
159
|
-
Returns:
|
|
160
|
-
- installation: name including state, e.g. "Fort Liberty, North Carolina"
|
|
161
|
-
- counts.cots:
|
|
162
|
-
- counts.hots:
|
|
163
|
-
- counts.other:
|
|
218
|
+
Returns per installation:
|
|
219
|
+
- installation: full name including state, e.g. "Fort Liberty, North Carolina"
|
|
220
|
+
- counts.cots: barracks review count
|
|
221
|
+
- counts.hots: dining (DFAC) review count
|
|
222
|
+
- counts.other: other facility review count
|
|
164
223
|
- counts.total: combined total
|
|
165
224
|
|
|
166
|
-
Use this to
|
|
225
|
+
Use this first to get exact installation names before fetching reviews.
|
|
167
226
|
|
|
168
227
|
Args:
|
|
169
|
-
- filter (string, optional): Case-insensitive substring to narrow
|
|
228
|
+
- filter (string, optional): Case-insensitive substring to narrow results (e.g. "Texas", "Fort", "Camp Lejeune")
|
|
170
229
|
- response_format: 'markdown' (default) or 'json'`,
|
|
171
230
|
inputSchema: z.object({
|
|
172
231
|
filter: z
|
|
@@ -202,22 +261,22 @@ Args:
|
|
|
202
261
|
// ── Tool: barracks (cots) reviews ─────────────────────────────────────────────
|
|
203
262
|
server.registerTool("hotscots_get_barracks_reviews", {
|
|
204
263
|
title: "Get Barracks Reviews",
|
|
205
|
-
description: `Fetch
|
|
264
|
+
description: `Fetch barracks / housing (Cots) reviews from the Hots&Cots database. Costs 1 API request.
|
|
206
265
|
|
|
207
|
-
|
|
266
|
+
⚠️ Keep limit small (default 20). Users have a monthly request quota — avoid large or repeated fetches.
|
|
267
|
+
⚠️ 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.
|
|
208
268
|
|
|
209
|
-
|
|
210
|
-
- installation (string, optional): Filter to a specific installation name (partial match, case-insensitive). Use hotscots_list_installations to find exact names.
|
|
211
|
-
- limit (integer): Records per page, 1–1000 (default 50)
|
|
212
|
-
- offset (integer): Records to skip (default 0)
|
|
213
|
-
- response_format: 'markdown' (default) or 'json'
|
|
269
|
+
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.
|
|
214
270
|
|
|
215
|
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
271
|
+
Args:
|
|
272
|
+
- installation (string, optional): Filter by installation name (partial match). Run hotscots_list_installations first to get exact names.
|
|
273
|
+
- limit (integer): Records per page, 1–100 (default 20)
|
|
274
|
+
- offset (integer): Records to skip (default 0). Only reliable without an installation filter.
|
|
275
|
+
- response_format: 'markdown' (default) or 'json'`,
|
|
218
276
|
inputSchema: z.object({
|
|
219
277
|
installation: z
|
|
220
278
|
.string()
|
|
279
|
+
.max(100)
|
|
221
280
|
.optional()
|
|
222
281
|
.describe("Filter by installation name (partial, case-insensitive)"),
|
|
223
282
|
...PaginationSchema,
|
|
@@ -226,29 +285,17 @@ Examples:
|
|
|
226
285
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
227
286
|
}, async (params) => {
|
|
228
287
|
try {
|
|
229
|
-
const
|
|
230
|
-
endpoint: EndpointType.COTS,
|
|
231
|
-
limit: params.installation ? 1000 : params.limit, // fetch more if we need to filter
|
|
232
|
-
offset: params.installation ? 0 : params.offset,
|
|
233
|
-
});
|
|
234
|
-
let data = result.data;
|
|
235
|
-
if (params.installation) {
|
|
236
|
-
const q = params.installation.toLowerCase();
|
|
237
|
-
data = data.filter((r) => r.installation.toLowerCase().includes(q));
|
|
238
|
-
// apply limit/offset after filtering
|
|
239
|
-
data = data.slice(params.offset, params.offset + params.limit);
|
|
240
|
-
}
|
|
288
|
+
const { data, pagination, filtered } = await fetchReviews(EndpointType.COTS, params);
|
|
241
289
|
if (!data.length) {
|
|
242
290
|
const where = params.installation ? ` for "${params.installation}"` : "";
|
|
243
291
|
return { content: [{ type: "text", text: `No barracks reviews found${where}.` }] };
|
|
244
292
|
}
|
|
245
|
-
const pagination = { limit: params.limit, offset: params.offset, returned: data.length };
|
|
246
293
|
const text = params.response_format === ResponseFormat.JSON
|
|
247
|
-
? JSON.stringify({ endpoint: "cots", data, pagination }, null, 2)
|
|
248
|
-
: formatReviews(data, "Barracks (Cots)", pagination);
|
|
294
|
+
? JSON.stringify({ endpoint: "cots", data: data.map(sanitizeReview), pagination }, null, 2)
|
|
295
|
+
: formatReviews(data, "Barracks (Cots)", pagination, filtered);
|
|
249
296
|
return {
|
|
250
297
|
content: [{ type: "text", text: truncate(text) }],
|
|
251
|
-
structuredContent: { endpoint: "cots", data, pagination },
|
|
298
|
+
structuredContent: { endpoint: "cots", data: data.map(sanitizeReview), pagination },
|
|
252
299
|
};
|
|
253
300
|
}
|
|
254
301
|
catch (err) {
|
|
@@ -258,22 +305,22 @@ Examples:
|
|
|
258
305
|
// ── Tool: dining / DFAC (hots) reviews ───────────────────────────────────────
|
|
259
306
|
server.registerTool("hotscots_get_dfac_reviews", {
|
|
260
307
|
title: "Get DFAC / Dining Reviews",
|
|
261
|
-
description: `Fetch
|
|
308
|
+
description: `Fetch dining facility / DFAC (Hots) reviews from the Hots&Cots database. Costs 1 API request.
|
|
262
309
|
|
|
263
|
-
|
|
310
|
+
⚠️ Keep limit small (default 20). Users have a monthly request quota — avoid large or repeated fetches.
|
|
311
|
+
⚠️ 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.
|
|
264
312
|
|
|
265
|
-
|
|
266
|
-
- installation (string, optional): Filter to a specific installation name (partial match, case-insensitive). Use hotscots_list_installations to find exact names.
|
|
267
|
-
- limit (integer): Records per page, 1–1000 (default 50)
|
|
268
|
-
- offset (integer): Records to skip (default 0)
|
|
269
|
-
- response_format: 'markdown' (default) or 'json'
|
|
313
|
+
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.
|
|
270
314
|
|
|
271
|
-
|
|
272
|
-
-
|
|
273
|
-
-
|
|
315
|
+
Args:
|
|
316
|
+
- installation (string, optional): Filter by installation name (partial match). Run hotscots_list_installations first to get exact names.
|
|
317
|
+
- limit (integer): Records per page, 1–100 (default 20)
|
|
318
|
+
- offset (integer): Records to skip (default 0). Only reliable without an installation filter.
|
|
319
|
+
- response_format: 'markdown' (default) or 'json'`,
|
|
274
320
|
inputSchema: z.object({
|
|
275
321
|
installation: z
|
|
276
322
|
.string()
|
|
323
|
+
.max(100)
|
|
277
324
|
.optional()
|
|
278
325
|
.describe("Filter by installation name (partial, case-insensitive)"),
|
|
279
326
|
...PaginationSchema,
|
|
@@ -282,28 +329,17 @@ Examples:
|
|
|
282
329
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
283
330
|
}, async (params) => {
|
|
284
331
|
try {
|
|
285
|
-
const
|
|
286
|
-
endpoint: EndpointType.HOTS,
|
|
287
|
-
limit: params.installation ? 1000 : params.limit,
|
|
288
|
-
offset: params.installation ? 0 : params.offset,
|
|
289
|
-
});
|
|
290
|
-
let data = result.data;
|
|
291
|
-
if (params.installation) {
|
|
292
|
-
const q = params.installation.toLowerCase();
|
|
293
|
-
data = data.filter((r) => r.installation.toLowerCase().includes(q));
|
|
294
|
-
data = data.slice(params.offset, params.offset + params.limit);
|
|
295
|
-
}
|
|
332
|
+
const { data, pagination, filtered } = await fetchReviews(EndpointType.HOTS, params);
|
|
296
333
|
if (!data.length) {
|
|
297
334
|
const where = params.installation ? ` for "${params.installation}"` : "";
|
|
298
335
|
return { content: [{ type: "text", text: `No dining reviews found${where}.` }] };
|
|
299
336
|
}
|
|
300
|
-
const pagination = { limit: params.limit, offset: params.offset, returned: data.length };
|
|
301
337
|
const text = params.response_format === ResponseFormat.JSON
|
|
302
|
-
? JSON.stringify({ endpoint: "hots", data, pagination }, null, 2)
|
|
303
|
-
: formatReviews(data, "Dining / DFAC (Hots)", pagination);
|
|
338
|
+
? JSON.stringify({ endpoint: "hots", data: data.map(sanitizeReview), pagination }, null, 2)
|
|
339
|
+
: formatReviews(data, "Dining / DFAC (Hots)", pagination, filtered);
|
|
304
340
|
return {
|
|
305
341
|
content: [{ type: "text", text: truncate(text) }],
|
|
306
|
-
structuredContent: { endpoint: "hots", data, pagination },
|
|
342
|
+
structuredContent: { endpoint: "hots", data: data.map(sanitizeReview), pagination },
|
|
307
343
|
};
|
|
308
344
|
}
|
|
309
345
|
catch (err) {
|
|
@@ -313,20 +349,22 @@ Examples:
|
|
|
313
349
|
// ── Tool: other facilities ────────────────────────────────────────────────────
|
|
314
350
|
server.registerTool("hotscots_get_other_reviews", {
|
|
315
351
|
title: "Get Other Facility Reviews",
|
|
316
|
-
description: `Fetch
|
|
352
|
+
description: `Fetch reviews of other on-base facilities from the Hots&Cots database. Costs 1 API request.
|
|
317
353
|
|
|
318
|
-
|
|
354
|
+
⚠️ Keep limit small (default 20). Users have a monthly request quota — avoid large or repeated fetches.
|
|
355
|
+
⚠️ If installation is set, up to ${FILTER_FETCH_CAP} records are fetched and filtered locally.
|
|
319
356
|
|
|
320
|
-
|
|
357
|
+
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.
|
|
321
358
|
|
|
322
359
|
Args:
|
|
323
|
-
- installation (string, optional): Filter by installation name (partial
|
|
324
|
-
- limit (integer): Records per page, 1–
|
|
325
|
-
- offset (integer): Records to skip (default 0)
|
|
360
|
+
- installation (string, optional): Filter by installation name (partial match)
|
|
361
|
+
- limit (integer): Records per page, 1–100 (default 20)
|
|
362
|
+
- offset (integer): Records to skip (default 0). Only reliable without an installation filter.
|
|
326
363
|
- response_format: 'markdown' (default) or 'json'`,
|
|
327
364
|
inputSchema: z.object({
|
|
328
365
|
installation: z
|
|
329
366
|
.string()
|
|
367
|
+
.max(100)
|
|
330
368
|
.optional()
|
|
331
369
|
.describe("Filter by installation name (partial, case-insensitive)"),
|
|
332
370
|
...PaginationSchema,
|
|
@@ -335,28 +373,17 @@ Args:
|
|
|
335
373
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
336
374
|
}, async (params) => {
|
|
337
375
|
try {
|
|
338
|
-
const
|
|
339
|
-
endpoint: EndpointType.OTHER,
|
|
340
|
-
limit: params.installation ? 1000 : params.limit,
|
|
341
|
-
offset: params.installation ? 0 : params.offset,
|
|
342
|
-
});
|
|
343
|
-
let data = result.data;
|
|
344
|
-
if (params.installation) {
|
|
345
|
-
const q = params.installation.toLowerCase();
|
|
346
|
-
data = data.filter((r) => r.installation.toLowerCase().includes(q));
|
|
347
|
-
data = data.slice(params.offset, params.offset + params.limit);
|
|
348
|
-
}
|
|
376
|
+
const { data, pagination, filtered } = await fetchReviews(EndpointType.OTHER, params);
|
|
349
377
|
if (!data.length) {
|
|
350
378
|
const where = params.installation ? ` for "${params.installation}"` : "";
|
|
351
379
|
return { content: [{ type: "text", text: `No other facility reviews found${where}.` }] };
|
|
352
380
|
}
|
|
353
|
-
const pagination = { limit: params.limit, offset: params.offset, returned: data.length };
|
|
354
381
|
const text = params.response_format === ResponseFormat.JSON
|
|
355
|
-
? JSON.stringify({ endpoint: "other", data, pagination }, null, 2)
|
|
356
|
-
: formatReviews(data, "Other Facilities", pagination);
|
|
382
|
+
? JSON.stringify({ endpoint: "other", data: data.map(sanitizeReview), pagination }, null, 2)
|
|
383
|
+
: formatReviews(data, "Other Facilities", pagination, filtered);
|
|
357
384
|
return {
|
|
358
385
|
content: [{ type: "text", text: truncate(text) }],
|
|
359
|
-
structuredContent: { endpoint: "other", data, pagination },
|
|
386
|
+
structuredContent: { endpoint: "other", data: data.map(sanitizeReview), pagination },
|
|
360
387
|
};
|
|
361
388
|
}
|
|
362
389
|
catch (err) {
|
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