@selfhost.dev/mcp-server 0.7.0 → 0.9.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 +118 -17
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/alerts.js +83 -12
- package/dist/tools/alerts.js.map +1 -1
- package/dist/tools/auth.js +13 -1
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/backups.js +197 -18
- package/dist/tools/backups.js.map +1 -1
- package/dist/tools/billing.js +5 -1
- package/dist/tools/billing.js.map +1 -1
- package/dist/tools/capacity.d.ts +2 -0
- package/dist/tools/capacity.js +253 -0
- package/dist/tools/capacity.js.map +1 -0
- package/dist/tools/database-users.js +33 -6
- package/dist/tools/database-users.js.map +1 -1
- package/dist/tools/deployments.js +14 -16
- package/dist/tools/deployments.js.map +1 -1
- package/dist/tools/env-vars.js +23 -0
- package/dist/tools/env-vars.js.map +1 -1
- package/dist/tools/github.js +65 -4
- package/dist/tools/github.js.map +1 -1
- package/dist/tools/instance-logs.d.ts +2 -0
- package/dist/tools/instance-logs.js +151 -0
- package/dist/tools/instance-logs.js.map +1 -0
- package/dist/tools/instances.js +251 -25
- package/dist/tools/instances.js.map +1 -1
- package/dist/tools/organizations.js +107 -13
- package/dist/tools/organizations.js.map +1 -1
- package/dist/tools/postgres-tls.d.ts +16 -0
- package/dist/tools/postgres-tls.js +64 -0
- package/dist/tools/postgres-tls.js.map +1 -0
- package/dist/tools/project-activities.d.ts +2 -0
- package/dist/tools/project-activities.js +52 -0
- package/dist/tools/project-activities.js.map +1 -0
- package/dist/tools/project-backups.d.ts +2 -0
- package/dist/tools/project-backups.js +159 -0
- package/dist/tools/project-backups.js.map +1 -0
- package/dist/tools/project-databases.js +26 -2
- package/dist/tools/project-databases.js.map +1 -1
- package/dist/tools/project-services.js +136 -25
- package/dist/tools/project-services.js.map +1 -1
- package/dist/tools/projects.js +151 -5
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/scaling.js +401 -36
- package/dist/tools/scaling.js.map +1 -1
- package/dist/tools/webhooks.d.ts +2 -0
- package/dist/tools/webhooks.js +195 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/types/models.d.ts +8 -1
- package/dist/types/tiers.js +5 -0
- package/dist/types/tiers.js.map +1 -1
- package/package.json +3 -2
package/dist/tools/instances.js
CHANGED
|
@@ -51,11 +51,23 @@ const ENGINE_VERSIONS = {
|
|
|
51
51
|
clickhouse: CLICKHOUSE_VERSIONS,
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
54
|
+
* Version sent when the caller passes none.
|
|
55
|
+
*
|
|
56
|
+
* This has to be explicit on every engine: the backend's fallback is
|
|
57
|
+
* `supported_versions.first`, which is the OLDEST major each adapter still accepts
|
|
58
|
+
* (postgres 14, redis 7.0, clickhouse 24.3), so omitting `db_version` silently
|
|
59
|
+
* provisions a years-old release. These mirror the console's create-wizard defaults
|
|
60
|
+
* (`CreateDatabaseOptions`) so both surfaces hand out the same database - newest for
|
|
61
|
+
* postgres/redis, and the stable release rather than the newest for mysql (8.0 over 8.4)
|
|
62
|
+
* and clickhouse (the 24.8 LTS over 25.1/26.5).
|
|
57
63
|
*/
|
|
58
|
-
const
|
|
64
|
+
const ENGINE_DEFAULT_VERSION = {
|
|
65
|
+
postgres: "18",
|
|
66
|
+
mysql: "8.0",
|
|
67
|
+
redis: "7.2",
|
|
68
|
+
clickhouse: "24.8",
|
|
69
|
+
};
|
|
70
|
+
const CLICKHOUSE_DEFAULT_VERSION = ENGINE_DEFAULT_VERSION.clickhouse;
|
|
59
71
|
/**
|
|
60
72
|
* Hard RAM floor per engine - backend `InstancesController::MIN_RAM_GB`. ClickHouse below
|
|
61
73
|
* 4 GiB fails its systemd Type=notify startup, so create is rejected outright.
|
|
@@ -121,6 +133,95 @@ const tagSchema = z.object({
|
|
|
121
133
|
key: z.string().min(1),
|
|
122
134
|
value: z.string(),
|
|
123
135
|
});
|
|
136
|
+
/**
|
|
137
|
+
* Collapse heartbeat frames into per-instance, per-metric stats. A day of heartbeats
|
|
138
|
+
* from one instance is hundreds of frames; the agent consuming this needs the shape of
|
|
139
|
+
* the series (is it climbing? how high did it get?), not every sample.
|
|
140
|
+
*
|
|
141
|
+
* Non-numeric metric values are skipped rather than coerced - a metric that reports a
|
|
142
|
+
* string would otherwise land in the summary as NaN.
|
|
143
|
+
*/
|
|
144
|
+
function summarizeMetrics(frames) {
|
|
145
|
+
const byInstance = new Map();
|
|
146
|
+
const ordered = [...frames].sort((a, b) => a.timestamp_ms - b.timestamp_ms);
|
|
147
|
+
for (const frame of ordered) {
|
|
148
|
+
const key = frame.resource?.pid ?? frame.resource?.agent_id ?? "unknown";
|
|
149
|
+
let entry = byInstance.get(key);
|
|
150
|
+
if (!entry) {
|
|
151
|
+
entry = {
|
|
152
|
+
instance_pid: frame.resource?.pid ?? null,
|
|
153
|
+
agent_id: frame.resource?.agent_id ?? null,
|
|
154
|
+
host_name: frame.resource?.host_name ?? null,
|
|
155
|
+
samples: 0,
|
|
156
|
+
first_sample: null,
|
|
157
|
+
last_sample: null,
|
|
158
|
+
metric_sets: {},
|
|
159
|
+
};
|
|
160
|
+
byInstance.set(key, entry);
|
|
161
|
+
}
|
|
162
|
+
const at = new Date(frame.timestamp_ms).toISOString();
|
|
163
|
+
entry.first_sample ??= at;
|
|
164
|
+
entry.last_sample = at;
|
|
165
|
+
entry.samples += 1;
|
|
166
|
+
for (const set of frame.metric_sets ?? []) {
|
|
167
|
+
// Storage arrives as one set PER MOUNT POINT (/, /boot, and the engine's data
|
|
168
|
+
// volume), all typed "storage". Merging them would blend a 97%-full /boot into the
|
|
169
|
+
// data volume's numbers, so each mount keeps its own bucket - the same axis alert
|
|
170
|
+
// rules use, where `mount_point` is required.
|
|
171
|
+
const mount = set.attributes?.mount_point;
|
|
172
|
+
const bucketKey = typeof mount === "string" && mount.length > 0 ? `${set.type}[${mount}]` : set.type;
|
|
173
|
+
const bucket = (entry.metric_sets[bucketKey] ??= {});
|
|
174
|
+
for (const [name, value] of Object.entries(set.metrics ?? {})) {
|
|
175
|
+
if (typeof value !== "number" || !Number.isFinite(value))
|
|
176
|
+
continue;
|
|
177
|
+
const stat = bucket[name];
|
|
178
|
+
if (!stat) {
|
|
179
|
+
bucket[name] = { latest: value, min: value, max: value, avg: value, samples: 1 };
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// avg is kept as a running mean so the whole series never has to be held.
|
|
183
|
+
stat.avg = (stat.avg * stat.samples + value) / (stat.samples + 1);
|
|
184
|
+
stat.samples += 1;
|
|
185
|
+
stat.latest = value;
|
|
186
|
+
if (value < stat.min)
|
|
187
|
+
stat.min = value;
|
|
188
|
+
if (value > stat.max)
|
|
189
|
+
stat.max = value;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const round = (n) => Math.round(n * 1000) / 1000;
|
|
195
|
+
return [...byInstance.values()].map((entry) => ({
|
|
196
|
+
...entry,
|
|
197
|
+
metric_sets: Object.fromEntries(Object.entries(entry.metric_sets).map(([type, metrics]) => [
|
|
198
|
+
type,
|
|
199
|
+
Object.fromEntries(Object.entries(metrics).map(([name, stat]) => [
|
|
200
|
+
name,
|
|
201
|
+
{ latest: round(stat.latest), min: round(stat.min), max: round(stat.max), avg: round(stat.avg), samples: stat.samples },
|
|
202
|
+
])),
|
|
203
|
+
])),
|
|
204
|
+
}));
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Present prices the way the console and the website do: all-in, with the platform
|
|
208
|
+
* margin folded into each infrastructure line instead of shown as its own row.
|
|
209
|
+
*
|
|
210
|
+
* The pricing API returns pre-margin bases plus one lump `markup_monthly`, so the lump
|
|
211
|
+
* is redistributed across the lines it was charged on (compute + storage; public IPv4
|
|
212
|
+
* is never marked up). Line sums stay exactly equal to `total_monthly`.
|
|
213
|
+
*/
|
|
214
|
+
function foldMarkup(e) {
|
|
215
|
+
const base = e.breakdown.compute_base_monthly + e.breakdown.storage_base_monthly;
|
|
216
|
+
const multiplier = base > 0 ? 1 + e.breakdown.markup_monthly / base : 1;
|
|
217
|
+
return {
|
|
218
|
+
compute: e.breakdown.compute_base_monthly * multiplier,
|
|
219
|
+
storage: e.breakdown.storage_base_monthly * multiplier,
|
|
220
|
+
instanceHourly: e.unit_prices.instance_hourly * multiplier,
|
|
221
|
+
instanceMonthly: e.unit_prices.instance_monthly * multiplier,
|
|
222
|
+
storageMonthly: e.unit_prices.storage_monthly * multiplier,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
124
225
|
export function registerInstanceTools(server) {
|
|
125
226
|
// --- Reference data tools (exempt from rate limits) ---
|
|
126
227
|
server.tool("list_regions", "List available AWS regions for instance deployment", {}, async () => {
|
|
@@ -179,12 +280,25 @@ export function registerInstanceTools(server) {
|
|
|
179
280
|
server.tool("estimate_instance_cost", `Estimate the monthly cost of a database instance BEFORE creating it using the SelfHost pricing API.
|
|
180
281
|
Call this to present accurate cost to the user for approval before calling create_instance.
|
|
181
282
|
|
|
182
|
-
Returns an itemized
|
|
283
|
+
Returns an itemized breakdown of compute, storage and add-ons. Prices are ALL-IN: the
|
|
284
|
+
platform margin is folded into each line rather than billed separately, matching the
|
|
285
|
+
console and the website - so quote these numbers to the user as-is and never add a
|
|
286
|
+
platform fee on top.
|
|
183
287
|
|
|
184
288
|
Pass type_of_dbms whenever you know the engine. ClickHouse prices differently: with
|
|
185
289
|
replica_count=1 the platform provisions a third, keeper-only node (${CLICKHOUSE_KEEPER_INSTANCE_TYPE} + ${CLICKHOUSE_KEEPER_STORAGE_GB} GB) to hold
|
|
186
290
|
the Raft quorum, and this tool only includes it when it knows the engine. Leave the engine
|
|
187
|
-
out for a ClickHouse cluster and the estimate understates the real bill
|
|
291
|
+
out for a ClickHouse cluster and the estimate understates the real bill.
|
|
292
|
+
|
|
293
|
+
CLICKHOUSE ESTIMATES RUN LOW EVEN WITH THE ENGINE PASSED, and the keeper node is not the
|
|
294
|
+
reason. The estimate endpoint applies ONE flat platform margin to every engine, while
|
|
295
|
+
billing applies the real per-engine margin - and ClickHouse's is higher than the flat one.
|
|
296
|
+
So a ClickHouse estimate lands roughly 10% below what the instance will actually bill. Present
|
|
297
|
+
it as an approximate floor for ClickHouse, not the figure the user will be charged. Every
|
|
298
|
+
other AWS engine estimates at its true margin and needs no such caveat.
|
|
299
|
+
|
|
300
|
+
THIS IS AWS ONLY. It cannot price a PaaS project server - those are Hetzner machines on a
|
|
301
|
+
different margin entirely. Use \`list_server_types\`, which returns real per-location prices.`, {
|
|
188
302
|
region: z.string().min(1, "AWS region is required (e.g. us-east-1)"),
|
|
189
303
|
instance_type: z.string().min(1, "EC2 instance type (e.g. t4g.small)"),
|
|
190
304
|
storage_type: z.enum(["gp3", "gp2", "io2", "io1", "st1", "sc1"]).describe("EBS volume type"),
|
|
@@ -244,24 +358,25 @@ out for a ClickHouse cluster and the estimate understates the real bill.`, {
|
|
|
244
358
|
keeperError = `Could not price the Keeper node (${keeperResult.statusCode}): ${keeperResult.message}`;
|
|
245
359
|
}
|
|
246
360
|
}
|
|
361
|
+
const allIn = foldMarkup(data);
|
|
247
362
|
const lines = [
|
|
248
|
-
"Estimated Monthly Cost
|
|
363
|
+
"Estimated Monthly Cost (all-in)",
|
|
249
364
|
"=================================",
|
|
250
365
|
`Region: ${data.region}`,
|
|
251
366
|
`Instance: ${data.instance_type}`,
|
|
252
|
-
` $${
|
|
253
|
-
`Storage: ${data.storage_size_gb} GiB ${data.storage_type} → $${
|
|
367
|
+
` $${allIn.instanceHourly.toFixed(4)}/hr → $${allIn.instanceMonthly.toFixed(2)}/mo`,
|
|
368
|
+
`Storage: ${data.storage_size_gb} GiB ${data.storage_type} → $${allIn.storageMonthly.toFixed(2)}/mo`,
|
|
254
369
|
`Databases: ${data.database_count}`,
|
|
255
370
|
`Replicas: ${data.replica_count}`,
|
|
256
371
|
"",
|
|
257
372
|
"Breakdown:",
|
|
258
|
-
` Compute: $${
|
|
259
|
-
` Storage: $${
|
|
260
|
-
` Markup: $${data.breakdown.markup_monthly.toFixed(2)}`,
|
|
373
|
+
` Compute: $${allIn.compute.toFixed(2)}`,
|
|
374
|
+
` Storage: $${allIn.storage.toFixed(2)}`,
|
|
261
375
|
` Public IPv4: $${data.breakdown.public_ipv4_monthly.toFixed(2)}`,
|
|
262
376
|
];
|
|
263
377
|
if (keeper) {
|
|
264
|
-
|
|
378
|
+
const keeperAllIn = foldMarkup(keeper);
|
|
379
|
+
lines.push("", `ClickHouse Keeper node (${CLICKHOUSE_KEEPER_INSTANCE_TYPE} + ${CLICKHOUSE_KEEPER_STORAGE_GB} GiB ${keeper.storage_type}):`, ` Compute: $${keeperAllIn.compute.toFixed(2)}`, ` Storage: $${keeperAllIn.storage.toFixed(2)}`, ` Subtotal: $${keeper.total_monthly.toFixed(2)}`, " (Required third quorum member because replica_count=1. Two replicas instead run the", " quorum embedded on the data nodes - no Keeper node and no third line item.)");
|
|
265
380
|
}
|
|
266
381
|
const total = data.total_monthly + (keeper?.total_monthly ?? 0);
|
|
267
382
|
lines.push("", `TOTAL: $${total.toFixed(2)}/month`);
|
|
@@ -271,7 +386,7 @@ out for a ClickHouse cluster and the estimate understates the real bill.`, {
|
|
|
271
386
|
if (keeperError) {
|
|
272
387
|
lines.push("", `⚠️ ${keeperError}`, "This total EXCLUDES the Keeper node that a 1-replica ClickHouse cluster requires - the real bill will be higher.");
|
|
273
388
|
}
|
|
274
|
-
lines.push("", `Pricing model: ${data.pricing_model}`, `Currency: ${data.currency}
|
|
389
|
+
lines.push("", `Pricing model: ${data.pricing_model}`, `Currency: ${data.currency}`, "All-in: every line already includes the platform margin. Charged hourly against wallet credit.");
|
|
275
390
|
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
276
391
|
});
|
|
277
392
|
// --- Instance lifecycle tools ---
|
|
@@ -331,7 +446,7 @@ POSTGRES EXTENSIONS (neither is a separate engine - both are postgres + a flag):
|
|
|
331
446
|
instance_type: z.string().min(1, "EC2 instance type (e.g. t3.micro, r6i.xlarge)"),
|
|
332
447
|
type_of_dbms: z.enum(ENGINES).describe("Database engine"),
|
|
333
448
|
storage: storageSchema,
|
|
334
|
-
db_version: z.string().optional().describe(`Database version. postgres: ${ENGINE_VERSIONS.postgres.join(", ")}. mysql: ${ENGINE_VERSIONS.mysql.join(", ")}. redis: ${ENGINE_VERSIONS.redis.join(", ")}. clickhouse: ${ENGINE_VERSIONS.clickhouse.join(", ")} (
|
|
449
|
+
db_version: z.string().optional().describe(`Database version. postgres: ${ENGINE_VERSIONS.postgres.join(", ")} (default ${ENGINE_DEFAULT_VERSION.postgres}). mysql: ${ENGINE_VERSIONS.mysql.join(", ")} (default ${ENGINE_DEFAULT_VERSION.mysql}, the stable release). redis: ${ENGINE_VERSIONS.redis.join(", ")} (default ${ENGINE_DEFAULT_VERSION.redis}). clickhouse: ${ENGINE_VERSIONS.clickhouse.join(", ")} (default ${ENGINE_DEFAULT_VERSION.clickhouse}, the LTS). Omitting this sends the default explicitly - the backend's own fallback is the oldest major it still supports.`),
|
|
335
450
|
username: z.string().regex(/^[a-z_][a-z0-9_-]{0,30}$/i).optional().describe("Database username (default: admin). Redis ignores this (auth is a single requirepass/password); it applies to postgres, mysql and clickhouse. On clickhouse the customer user is `admin` - the built-in `default` user is platform-internal and not usable."),
|
|
336
451
|
custom_password: z.string().min(8).max(128).optional().describe("Database password (8-128 printable ASCII chars). Auto-generated if omitted."),
|
|
337
452
|
description: z.string().optional(),
|
|
@@ -433,11 +548,11 @@ POSTGRES EXTENSIONS (neither is a separate engine - both are postgres + a flag):
|
|
|
433
548
|
},
|
|
434
549
|
public_access: true, // Always true - private access not yet supported
|
|
435
550
|
};
|
|
436
|
-
//
|
|
437
|
-
//
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
551
|
+
// Always pin the version. Left off the wire the backend falls back to the oldest
|
|
552
|
+
// major the adapter supports (postgres 14, redis 7.0, clickhouse 24.3), which is
|
|
553
|
+
// not what the console gives the same user.
|
|
554
|
+
const dbVersion = params.db_version ?? ENGINE_DEFAULT_VERSION[engine];
|
|
555
|
+
body.db_version = dbVersion;
|
|
441
556
|
if (params.username)
|
|
442
557
|
body.username = params.username;
|
|
443
558
|
if (params.custom_password)
|
|
@@ -490,6 +605,7 @@ POSTGRES EXTENSIONS (neither is a separate engine - both are postgres + a flag):
|
|
|
490
605
|
"Instance provisioning started!",
|
|
491
606
|
"",
|
|
492
607
|
`PID: ${data.pid}`,
|
|
608
|
+
`Engine: ${engine} ${dbVersion}${params.db_version ? "" : " (default)"}`,
|
|
493
609
|
`Host: ${data.host}`,
|
|
494
610
|
`Username: ${data.username}`,
|
|
495
611
|
`Password: ${data.password}`,
|
|
@@ -526,7 +642,13 @@ POSTGRES EXTENSIONS (neither is a separate engine - both are postgres + a flag):
|
|
|
526
642
|
}
|
|
527
643
|
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
528
644
|
});
|
|
529
|
-
server.tool("list_instances",
|
|
645
|
+
server.tool("list_instances", `List all database instances for an organization, grouped by \`group_id\` (master + replicas).
|
|
646
|
+
|
|
647
|
+
POLL \`ready\`, NOT \`status\`. Each instance carries a server-computed \`ready\` boolean, a \`ha_ready\` for the group, and a \`readiness_detail\` hash explaining a false. That exists precisely so a caller stops guessing across \`status\`, \`internal_status\`, \`provisioning_state\` and replica health - a \`running\` instance is NOT necessarily usable. Answer "is my database up?" from \`ready\`.
|
|
648
|
+
|
|
649
|
+
\`ha_ready\` is the one to check before telling a user their cluster is highly available: it is true only when the master is ready AND every live replica's replication link is healthy, so it goes false on a quietly degraded cluster whose master still looks fine.
|
|
650
|
+
|
|
651
|
+
\`deprecated_at\` on an instance means its machine type is being retired. It keeps working, but flag it - a user planning capacity should know before the deadline rather than after.`, {
|
|
530
652
|
organization_id: z.string().optional().describe("Organization PID (defaults to active org)"),
|
|
531
653
|
}, async ({ organization_id }) => {
|
|
532
654
|
const orgId = resolveOrgId(organization_id);
|
|
@@ -543,7 +665,15 @@ POSTGRES EXTENSIONS (neither is a separate engine - both are postgres + a flag):
|
|
|
543
665
|
}
|
|
544
666
|
return { content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }] };
|
|
545
667
|
});
|
|
546
|
-
server.tool("get_instance",
|
|
668
|
+
server.tool("get_instance", `Get detailed information about a specific database instance, including its latest metrics.
|
|
669
|
+
|
|
670
|
+
READINESS IS ONE FIELD. \`ready\` is computed server-side and is the field to trust: for a master or single node it means running, provisioning complete, no error, and the agent healthy; for a replica it means running, complete, and the replication LINK healthy (a small lag is fine - only a broken link blocks readiness). \`readiness_detail\` says which of those failed. Do not reassemble this from \`status\` and \`internal_status\`; a \`running\` instance can be unusable.
|
|
671
|
+
|
|
672
|
+
\`ha_ready\` covers the whole group: master ready and every alive HA replica link-healthy.
|
|
673
|
+
|
|
674
|
+
If an instance has been provisioning for more than about 15 minutes it is considered STUCK rather than slow - say so instead of advising the user to keep waiting.
|
|
675
|
+
|
|
676
|
+
\`deprecated_at\`, when set, marks the machine type as scheduled for retirement. Worth surfacing unprompted.`, {
|
|
547
677
|
pid: z.string().optional().describe("Instance PID (e.g. awsinst_xxx)"),
|
|
548
678
|
instance_id: z.string().optional().describe("AWS EC2 instance ID (alternative to pid)"),
|
|
549
679
|
snapshot_id: z.string().optional().describe("Snapshot ID (to get original instance context for restore)"),
|
|
@@ -568,6 +698,84 @@ POSTGRES EXTENSIONS (neither is a separate engine - both are postgres + a flag):
|
|
|
568
698
|
}
|
|
569
699
|
return { content: [{ type: "text", text: JSON.stringify(result.data, null, 2) }] };
|
|
570
700
|
});
|
|
701
|
+
server.tool("get_instance_metrics", `Read historical metrics for managed database instances - the same agent-heartbeat series the console graphs.
|
|
702
|
+
|
|
703
|
+
Use this to answer "how is my database doing?", to size a change before making it, or to sanity-check an alert rule (a rule on a metric that never appears here will never fire).
|
|
704
|
+
|
|
705
|
+
Returns a per-instance, per-metric summary (latest / min / max / avg + sample count) by default. Set raw=true only when you genuinely need every sample - a busy instance produces hundreds of frames per day and they will flood the context.
|
|
706
|
+
|
|
707
|
+
Metric sets (same names alert rules use):
|
|
708
|
+
- system: cpu_percent, memory_percent, disk_usage_percent, load_avg_1/5/15, swap_usage_percent, cpu_io_wait_percent
|
|
709
|
+
- network: recv_bytes_per_sec, sent_bytes_per_sec
|
|
710
|
+
- storage: disk_used_percent, disk_free_bytes, inodes_used_percent, read/write_io_per_second, ... reported PER MOUNT POINT and keyed \`storage[/mount]\` in the summary. Read the engine's data volume (e.g. \`storage[/selfhostdev/postgresql]\`), not \`storage[/]\` or \`storage[/boot]\` - a full /boot says nothing about database capacity.
|
|
711
|
+
- <engine>.database: postgresql.database | mysql.database | redis.database | clickhouse.database - the engine's own counters. \`create_alert_rule\` carries the complete per-engine allow-list; these are the same names.
|
|
712
|
+
- pgbouncer.stats appears once pooling is enabled. It is READABLE here but NOT alertable - the alert-rule catalog has no such metric_type, so a rule on it is rejected.
|
|
713
|
+
|
|
714
|
+
On a replicated instance \`active_replica_count\` is the one to watch for a quietly-degraded cluster: it drops without the instance's own status changing. Ratio metrics (\`cache_hit_ratio\`, \`innodb_buffer_pool_hit_ratio\`, \`mark_cache_hit_ratio\`) are already on a 0-100 scale - do not multiply them by 100.
|
|
715
|
+
|
|
716
|
+
An empty result usually means the agent has not reported in that window (a stopped instance, or one still provisioning), not that the instance is idle.`, {
|
|
717
|
+
organization_id: z.string().optional().describe("Organization PID (defaults to active org)"),
|
|
718
|
+
instance_pid: z.string().optional().describe("Limit to one instance (awsinst_...). Omit for every instance in the org."),
|
|
719
|
+
start_date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD").optional()
|
|
720
|
+
.describe("Inclusive start date, YYYY-MM-DD (default: yesterday). The window covers whole days."),
|
|
721
|
+
end_date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD").optional()
|
|
722
|
+
.describe("Inclusive end date, YYYY-MM-DD (default: today)"),
|
|
723
|
+
metric_type: z.enum(["system", "network", "storage", "postgresql.database", "mysql.database", "redis.database", "clickhouse.database"]).optional()
|
|
724
|
+
.describe("Only return this metric set. Cheaper than filtering client-side."),
|
|
725
|
+
raw: z.boolean().optional().describe("Return every heartbeat frame instead of the summary. Verbose - use a narrow window and a single instance."),
|
|
726
|
+
}, async ({ organization_id, instance_pid, start_date, end_date, metric_type, raw }) => {
|
|
727
|
+
const orgId = resolveOrgId(organization_id);
|
|
728
|
+
if (!orgId) {
|
|
729
|
+
return { content: [{ type: "text", text: noOrgMessage }] };
|
|
730
|
+
}
|
|
731
|
+
const today = new Date();
|
|
732
|
+
const yesterday = new Date(today.getTime() - 24 * 60 * 60 * 1000);
|
|
733
|
+
const asDate = (d) => d.toISOString().slice(0, 10);
|
|
734
|
+
const from = start_date ?? asDate(yesterday);
|
|
735
|
+
const to = end_date ?? asDate(today);
|
|
736
|
+
if (from > to) {
|
|
737
|
+
return { content: [{ type: "text", text: `start_date ${from} is after end_date ${to}.` }] };
|
|
738
|
+
}
|
|
739
|
+
const query = { start_date: from, end_date: to };
|
|
740
|
+
if (instance_pid)
|
|
741
|
+
query.pid = instance_pid;
|
|
742
|
+
if (metric_type)
|
|
743
|
+
query.metric_type = metric_type;
|
|
744
|
+
const result = await apiRequest(`/organizations/${orgId}/instance_metrics`, {
|
|
745
|
+
toolName: "get_instance_metrics",
|
|
746
|
+
query,
|
|
747
|
+
skipOrgInjection: true,
|
|
748
|
+
});
|
|
749
|
+
if (!result.success) {
|
|
750
|
+
return { content: [{ type: "text", text: `Failed to get instance metrics (${result.statusCode}): ${result.message}` }] };
|
|
751
|
+
}
|
|
752
|
+
const frames = Array.isArray(result.data) ? result.data : [];
|
|
753
|
+
if (frames.length === 0) {
|
|
754
|
+
return {
|
|
755
|
+
content: [{
|
|
756
|
+
type: "text",
|
|
757
|
+
text: `No metrics reported between ${from} and ${to}${instance_pid ? ` for ${instance_pid}` : ""}. The agent may not have checked in - confirm the instance is running with \`get_instance\`.`,
|
|
758
|
+
}],
|
|
759
|
+
};
|
|
760
|
+
}
|
|
761
|
+
if (raw) {
|
|
762
|
+
return {
|
|
763
|
+
content: [{ type: "text", text: JSON.stringify({ window: { start_date: from, end_date: to }, frames }, null, 2) }],
|
|
764
|
+
};
|
|
765
|
+
}
|
|
766
|
+
return {
|
|
767
|
+
content: [{
|
|
768
|
+
type: "text",
|
|
769
|
+
text: JSON.stringify({ window: { start_date: from, end_date: to }, instances: summarizeMetrics(frames) }, null, 2),
|
|
770
|
+
}],
|
|
771
|
+
};
|
|
772
|
+
});
|
|
773
|
+
// No manual failover tool on purpose. `POST /instances/:pid/trigger_failover` exists, but
|
|
774
|
+
// failover is an AUTOMATIC platform behaviour: InstanceHealthCheckJob promotes a replica on
|
|
775
|
+
// its own when the master fails (30s cooldown), and the console exposes failovers only as
|
|
776
|
+
// history - activity counts, a `failover_completed` state, achievement badges - with no
|
|
777
|
+
// button to trigger one. The endpoint is an operator escape hatch, so it stays out of an
|
|
778
|
+
// LLM's reach: it drops every connection and the old master never returns as master.
|
|
571
779
|
server.tool("update_instance", "Update an instance's configuration. Some changes are synchronous (db_port, backup, CIDR ranges), others are async (instance_type, multi_az, storage). Cannot update replicas - update the master instead. Not handled here: enabling TimescaleDB or pgvector on postgres (enable_timescaledb / enable_pgvector - both irreversible) and ClickHouse version upgrades (upgrade_clickhouse_version).", {
|
|
572
780
|
instance_id: z.string().min(1, "Instance PID is required"),
|
|
573
781
|
identifier: z.string().optional().describe("New instance name"),
|
|
@@ -649,7 +857,13 @@ snapshot first (create_snapshot) - that is the rollback path if the upgrade goes
|
|
|
649
857
|
],
|
|
650
858
|
};
|
|
651
859
|
});
|
|
652
|
-
server.tool("stop_instance",
|
|
860
|
+
server.tool("stop_instance", `DESTRUCTIVE: Stop one or more running database instances. Databases become unavailable. A replica cannot be stopped on its own - stop the master and the group goes with it.
|
|
861
|
+
|
|
862
|
+
STOPPING DOES NOT STOP THE BILL, and this is the most common wrong assumption to correct. Compute stops accruing, but everything that still physically exists keeps being charged: the EBS volumes, snapshots, and S3-backed storage including PITR WAL. A stopped instance is cheaper, not free. If the user's goal is to stop paying, the answer is \`delete_instance\` (and deleting snapshots separately) - say so rather than letting them believe a stop achieved it.
|
|
863
|
+
|
|
864
|
+
A final charge is issued at the moment of the stop, closing the window since the last billing run, so the next invoice includes usage right up to the transition.
|
|
865
|
+
|
|
866
|
+
You MUST set confirm=true to proceed.`, {
|
|
653
867
|
pids: z.array(z.string().min(1)).min(1, "At least one instance PID is required"),
|
|
654
868
|
confirm: z.boolean().describe("Must be true to proceed. Ask the user for explicit confirmation before setting this."),
|
|
655
869
|
}, async ({ pids, confirm }) => {
|
|
@@ -670,9 +884,16 @@ snapshot first (create_snapshot) - that is the rollback path if the upgrade goes
|
|
|
670
884
|
if (!result.success) {
|
|
671
885
|
return { content: [{ type: "text", text: `Failed to stop instance(s) (${result.statusCode}): ${result.message}` }] };
|
|
672
886
|
}
|
|
673
|
-
return {
|
|
887
|
+
return {
|
|
888
|
+
content: [{
|
|
889
|
+
type: "text",
|
|
890
|
+
text: `Instance(s) ${pids.join(", ")} stopping. Compute stops billing; storage that still exists (volumes, snapshots, PITR WAL) keeps accruing, so this reduces the bill rather than ending it.`,
|
|
891
|
+
}],
|
|
892
|
+
};
|
|
674
893
|
});
|
|
675
|
-
server.tool("start_instance",
|
|
894
|
+
server.tool("start_instance", `Start one or more stopped database instances. A replica cannot be started on its own.
|
|
895
|
+
|
|
896
|
+
Compute resumes billing from the moment it starts. If the wallet is empty this can fail on the balance gate - check \`get_wallet_balance\` first when a start is refused rather than retrying.`, {
|
|
676
897
|
pids: z.array(z.string().min(1)).min(1, "At least one instance PID is required"),
|
|
677
898
|
}, async ({ pids }) => {
|
|
678
899
|
const result = await apiRequest("/aws/v1/instances/start", {
|
|
@@ -711,6 +932,11 @@ snapshot first (create_snapshot) - that is the rollback path if the upgrade goes
|
|
|
711
932
|
});
|
|
712
933
|
server.tool("delete_instance", `DESTRUCTIVE: Delete one or more database instances. This action is irreversible.
|
|
713
934
|
Delete protection must be disabled first. Master deletion must include all replicas.
|
|
935
|
+
|
|
936
|
+
A final charge is issued at deletion for usage since the last billing run, so a small charge after deleting is correct, not a bug.
|
|
937
|
+
|
|
938
|
+
WHAT SURVIVES THE DELETE AND KEEPS BILLING: snapshots and other backup storage are separate resources and are NOT removed with the instance. If the user is deleting in order to stop paying, check \`list_snapshots\` and \`list_backups\` too - otherwise they will delete the database and keep the storage bill.
|
|
939
|
+
|
|
714
940
|
You MUST set confirm=true to proceed. Before calling this tool, always ask the user to confirm they want to delete these specific instances.`, {
|
|
715
941
|
pids: z.array(z.string().min(1)).min(1, "At least one instance PID is required"),
|
|
716
942
|
confirm: z.boolean().describe("Must be true to proceed. Ask the user for explicit confirmation before setting this."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/tools/instances.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/tools/instances.ts"],"names":[],"mappings":"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"}
|