@selfhost.dev/mcp-server 0.8.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 +100 -13
- 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/backups.js +184 -16
- 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 +6 -2
- package/dist/tools/deployments.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 +51 -7
- package/dist/tools/instances.js.map +1 -1
- package/dist/tools/organizations.js +98 -8
- 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 +116 -13
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/scaling.js +135 -2
- 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/package.json +3 -2
package/README.md
CHANGED
|
@@ -138,7 +138,7 @@ Destructive operations (delete, stop, reboot) require explicit confirmation. The
|
|
|
138
138
|
|
|
139
139
|
## Features
|
|
140
140
|
|
|
141
|
-
###
|
|
141
|
+
### 189 tools across 31 modules
|
|
142
142
|
|
|
143
143
|
Every tool maps to a real API endpoint. No mock data, no shortcuts.
|
|
144
144
|
|
|
@@ -273,17 +273,28 @@ Tune MySQL server parameters on a managed instance. No preview step - read the c
|
|
|
273
273
|
| `update_mysql_config` | Apply overrides for `max_connections`, `innodb_buffer_pool_size`, `tmp_table_size`, and `wait_timeout` |
|
|
274
274
|
|
|
275
275
|
#### Backups & Snapshots
|
|
276
|
-
|
|
276
|
+
Two different things, and the tools keep them apart because a user asking to "restore a backup" means very different outcomes depending on which they have:
|
|
277
|
+
|
|
278
|
+
- **Disk snapshots** (`aws_backup_job`, DLM policies, `/snapshots`) - block-level EBS snapshots. Every engine. Restored by creating a new instance from a `snapshot_id`.
|
|
279
|
+
- **Data backups** (`clickhouse_native`) - a full `BACKUP ALL` of a ClickHouse instance's databases, streamed to a dedicated offsite S3 bucket. Restored in place with `restore_backup`, and that restore **merges** rather than rolling back.
|
|
280
|
+
|
|
281
|
+
`s3_file_backup` was a third type and is now rejected by the backend; it is no longer offered.
|
|
282
|
+
|
|
283
|
+
**Snapshot storage is metered** (`ebs_snapshot_storage`, per GB-month against wallet credit) and every create path runs through the wallet gate, so the tools flag the cost up front and a 402 means an empty wallet or no linked payment method. A DLM policy holds `retain_rule_count` snapshots per volume, so its standing cost is roughly retention x volume size; deleting a snapshot is what stops its charge.
|
|
284
|
+
|
|
285
|
+
One asymmetry worth knowing before deleting a schedule: pausing (`state: DISABLED`) always keeps existing backups, but **deleting** a ClickHouse data-backup schedule also deletes every backup that schedule took. Deleting a disk-snapshot policy does not.
|
|
277
286
|
|
|
278
287
|
| Tool | Description |
|
|
279
288
|
|------|-------------|
|
|
280
|
-
| `list_backups` | List all backups (syncs with AWS) |
|
|
281
|
-
| `create_backup` |
|
|
289
|
+
| `list_backups` | List all backups, both families (syncs with AWS); read `backup_type` to tell them apart |
|
|
290
|
+
| `create_backup` | Take a disk snapshot (`aws_backup_job`) or a ClickHouse data backup (`clickhouse_native`) now |
|
|
291
|
+
| `restore_backup` | Restore a ClickHouse data backup, into its own instance or another one (**merges**, does not roll back) |
|
|
282
292
|
| `delete_backup` | Delete backup and AWS snapshot (with confirmation) |
|
|
283
|
-
| `list_backup_policies` | List
|
|
284
|
-
| `create_backup_policy` | Create automated
|
|
285
|
-
| `
|
|
286
|
-
| `
|
|
293
|
+
| `list_backup_policies` | List backup schedules, both kinds (`details.policy_type` distinguishes them) |
|
|
294
|
+
| `create_backup_policy` | Create an automated **disk-snapshot** (DLM) schedule |
|
|
295
|
+
| `create_data_backup_schedule` | Create a recurring ClickHouse **data-backup** schedule to offsite S3 |
|
|
296
|
+
| `update_backup_policy` | Pause/resume (`state`) or change the cadence/retention of either kind |
|
|
297
|
+
| `delete_backup_policy` | Remove a schedule (with confirmation; a data-backup schedule takes its backups with it) |
|
|
287
298
|
| `list_snapshots` | List EBS snapshots in a region |
|
|
288
299
|
| `get_snapshot` | Snapshot details |
|
|
289
300
|
| `delete_snapshot` | Delete EBS snapshot (with confirmation) |
|
|
@@ -385,18 +396,43 @@ consumed per usage and gated by wallet balance. All endpoints scoped to the acti
|
|
|
385
396
|
### PaaS - Projects (app containers)
|
|
386
397
|
A **project** is a per-app container: a provisioned server + Coolify install + wildcard DNS that deployments, databases, and services attach to. Creation is async (~2-5 min) - poll `get_project` until status is `active` before deploying into it.
|
|
387
398
|
|
|
388
|
-
The project's **server size
|
|
399
|
+
The project's **server size and location are the main cost of a project**, both are chosen at create time, and neither can be changed afterwards - a Hetzner server cannot be moved, and projects have no scaling path. Nineteen sizes across three families: `cx*` Cost-Optimized (`cost_optimized`, shared CPU, sold in Europe only), `cpx*` Regular (`regular_purpose`, shared CPU, in two generations that never share a location - the `cpx*2` line sells in Europe + Singapore, the `cpx*1` line is listed everywhere but in practice only carries stock in the US), `ccx*` Dedicated CPU (`general_purpose`, sold in all six). Six locations: Falkenstein and Nuremberg (Germany), Helsinki (Finland), Ashburn and Hillsboro (USA), Singapore.
|
|
400
|
+
|
|
401
|
+
**Prices differ per location for the same size**, so call `list_server_types` for live prices and per-location availability first, and name the location alongside any price. The cheapest US or APAC option is several times the cheapest European one, because no Cost-Optimized size is sold outside Europe.
|
|
402
|
+
|
|
403
|
+
Availability is a tri-state and it flaps: `offered: false` means the size is not sold in that location at all, `offered: true, available: false` means it is sold there but out of stock right now. Re-read before acting - it is normal for most of the cheap Cost-Optimized line to be out of stock across all of Europe at once, leaving `cx23` as the only cheap size that can actually be provisioned.
|
|
389
404
|
|
|
390
405
|
| Tool | Description |
|
|
391
406
|
|------|-------------|
|
|
392
407
|
| `list_server_types` | Server sizes per location with availability and all-in hourly pricing (no auth, no rate limit) |
|
|
393
408
|
| `list_projects` | List projects in the org (pid, name, status, public_ip, domain) |
|
|
394
409
|
| `get_project` | Get one project; poll this for provisioning progress (active / failed) |
|
|
395
|
-
| `create_project` | Create a project on a chosen `server_type` and start async provisioning (returns status `pending`) |
|
|
410
|
+
| `create_project` | Create a project on a chosen `server_type` + `location`, optionally with backups, and start async provisioning (returns status `pending`) |
|
|
396
411
|
| `update_project` | Rename / re-describe a project |
|
|
397
412
|
| `delete_project` | Tear down the server and everything in the project (with confirmation; blocked while provisioning or with running deployments) |
|
|
398
413
|
| `get_project_metrics` | Time-series server + database + deployment metrics from the monitoring agent (start_date/end_date) |
|
|
399
414
|
|
|
415
|
+
`list_projects` / `get_project` carry `location`, `server_type`, `backups_enabled` and a server-computed `ready` + `readiness_detail`. **`ready` is not `status == "active"`**: a project is ready only when it is active and every service and database inside it is ready too, so an active project can legitimately still be waiting on a child.
|
|
416
|
+
|
|
417
|
+
### PaaS - Project Backups
|
|
418
|
+
Native Hetzner backups of a project's whole VM - the only backup a project has, since its databases and services all live on that server. **Free**: there is no backup SKU for projects, so the platform absorbs the provider charge and the customer is billed nothing extra.
|
|
419
|
+
|
|
420
|
+
Daily, seven kept, both fixed. Hetzner assigns the window shortly *after* backups are switched on, so a just-enabled project reporting a null window is "pending", not broken.
|
|
421
|
+
|
|
422
|
+
| Tool | Description |
|
|
423
|
+
|------|-------------|
|
|
424
|
+
| `list_project_backups` | Backups + schedule, read live from Hetzner (works on a stopped project) |
|
|
425
|
+
| `enable_project_backups` | Turn on automatic daily backups (free) |
|
|
426
|
+
| `disable_project_backups` | Turn them off **and delete every existing backup** (with confirmation) |
|
|
427
|
+
| `restore_project_backup` | Rebuild the server's disk from a backup - a true rollback; everything written since is lost (image id + exact project name + confirmation) |
|
|
428
|
+
|
|
429
|
+
### PaaS - Project Activity
|
|
430
|
+
| Tool | Description |
|
|
431
|
+
|------|-------------|
|
|
432
|
+
| `list_project_activities` | One chronological feed merging Hetzner server actions with platform events, each tagged `source`; paginated, works on a stopped project |
|
|
433
|
+
|
|
434
|
+
Reading both sources together is the point: a project that stopped answering shows the platform event and the server action side by side, which usually separates "we stopped it for billing" from "the machine was rebuilt". If Hetzner is unreachable the feed degrades to platform events and sets `meta.server_activities_available: false` - check that before concluding nothing happened.
|
|
435
|
+
|
|
400
436
|
### PaaS - Deployments (GitHub apps)
|
|
401
437
|
A **deployment** is an app built from a GitHub repo, living inside an `active` project. Build/run history is returned inline on the deployment.
|
|
402
438
|
|
|
@@ -448,14 +484,22 @@ Postgres/Redis/MySQL/MongoDB provisioned inside a project (distinct from the man
|
|
|
448
484
|
| Tool | Description |
|
|
449
485
|
|------|-------------|
|
|
450
486
|
| `list_project_databases` | List databases attached to a project |
|
|
487
|
+
| `get_project_database` | One database, status re-read **live** from Coolify (plus provisioning stages) |
|
|
451
488
|
| `create_project_database` | Provision a Postgres/Redis/MySQL/MongoDB in a project (type-specific credentials; Postgres optionally with TimescaleDB or pgvector) |
|
|
452
489
|
| `delete_project_database` | Delete a project database (exact name match + confirmation) |
|
|
453
490
|
|
|
454
|
-
### PaaS - Project Services (
|
|
491
|
+
### PaaS - Project Services (one-click apps)
|
|
492
|
+
Four templates, not one: `supabase`, `n8n`, `n8n-with-postgresql` (the same n8n backed by a Postgres sidecar instead of SQLite) and `twenty` (CRM).
|
|
493
|
+
|
|
494
|
+
**Only Supabase takes admin credentials.** n8n and Twenty have none - the first person to open the public URL claims the owner account through the app's own first-run screen. `create_project_service` refuses `dashboard_*` fields on those rather than sending values the backend drops, and says so.
|
|
495
|
+
|
|
496
|
+
Boot windows differ a lot: Supabase ~5 min, n8n up to 10, Twenty up to 15 (images plus migrations). Don't call Twenty stuck early.
|
|
497
|
+
|
|
455
498
|
| Tool | Description |
|
|
456
499
|
|------|-------------|
|
|
457
|
-
| `list_project_services` | List
|
|
458
|
-
| `
|
|
500
|
+
| `list_project_services` | List deployed templates (status, `provisioning` stages, `error_message`) - **no credentials** |
|
|
501
|
+
| `get_project_service` | One service **including its credentials** - the only endpoint that returns them |
|
|
502
|
+
| `create_project_service` | Deploy `supabase` / `n8n` / `n8n-with-postgresql` / `twenty` into a project |
|
|
459
503
|
| `delete_project_service` | Delete a project service (exact name match + confirmation) |
|
|
460
504
|
|
|
461
505
|
### PaaS - Deployment Notifications
|
|
@@ -465,6 +509,49 @@ Postgres/Redis/MySQL/MongoDB provisioned inside a project (distinct from the man
|
|
|
465
509
|
| `bind_deployment_notification_channel` | Notify an org channel (nchan_…) on deploy success/failure |
|
|
466
510
|
| `unbind_deployment_notification_channel` | Stop notifying a channel for a deployment |
|
|
467
511
|
|
|
512
|
+
### Database Logs & Query Stats
|
|
513
|
+
On-demand diagnostics for a managed database, no SSH. Postgres, MySQL and ClickHouse. **Request-then-read**: the POST creates a pending fetch, the platform agent fills it in, and you read the result with the matching list tool. Both need a positive wallet balance; a POST needs `cloud_instances:update`. Replicas are allowed deliberately.
|
|
514
|
+
|
|
515
|
+
Don't poll: a pending fetch is returned as-is instead of starting a second one, and there is a short per-source cooldown after one finishes.
|
|
516
|
+
|
|
517
|
+
| Tool | Description |
|
|
518
|
+
|------|-------------|
|
|
519
|
+
| `list_log_sources` | Log sources available on this instance (engine, replication, backup/restore, and more on ClickHouse) |
|
|
520
|
+
| `fetch_instance_logs` | Request a tail of one source (default 200 lines, max 2000, output capped at 1 MB) |
|
|
521
|
+
| `list_instance_log_fetches` | Last 20 fetches **with their output** - this is where the log text arrives |
|
|
522
|
+
| `capture_db_stats` | Sample the query workload over 5-60s (default 10) - counters are read twice and differenced |
|
|
523
|
+
| `list_db_stats` | Last 20 samples with their results |
|
|
524
|
+
|
|
525
|
+
### Cluster Capacity Tiers
|
|
526
|
+
Moving a whole instance **group** up and down a ladder of machine sizes, node by node, without downtime. Not the same as `scale_instance` or a single-instance `resize_instance` rule - a single-node switchover fired at a multi-node cluster desyncs its tier state, which is why this exists. AWS and the data plane in this version.
|
|
527
|
+
|
|
528
|
+
**Two moving parts, both required.** The capacity config is the guardrails (which ladder, min/max tier, on/off); the tier *policies* are the triggers, created through `create_scaling_policy` with `scaling_action: resize_instance` + `group_id`. The config must exist and be enabled before a policy can reference it, and up and down are separate policies with enforced hysteresis.
|
|
529
|
+
|
|
530
|
+
| Tool | Description |
|
|
531
|
+
|------|-------------|
|
|
532
|
+
| `list_capacity_ladders` | The ordered machine-size ladder per engine - every tier bound is an index into this |
|
|
533
|
+
| `get_capacity_config` | Bounds, current tier, in-flight plan, **and `last_failed_scale_plan`** |
|
|
534
|
+
| `create_capacity_config` | Set a group's tier floor and ceiling (the ceiling is a spend ceiling) |
|
|
535
|
+
| `update_capacity_config` | Change bounds/window, or pause with `enabled: false` |
|
|
536
|
+
| `delete_capacity_config` | Remove the guardrails (current size unchanged; 422 while policies reference it) |
|
|
537
|
+
| `retry_cluster_scale_plan` | Resume a failed plan from where it stopped |
|
|
538
|
+
| `delete_cluster_scale_plan` | Abandon a failed plan |
|
|
539
|
+
|
|
540
|
+
**A failed scale plan blocks all further automatic scaling for its group**, and `get_capacity_config` is the only place it surfaces. If a cluster's scaling has quietly stopped working, look at `last_failed_scale_plan` first.
|
|
541
|
+
|
|
542
|
+
### Webhook Endpoints
|
|
543
|
+
Org-wide outgoing HTTPS callbacks. Distinct from deployment notification bindings, which push one deployment's outcome to Slack or email; these POST typed events to a receiver you run. HTTPS only; the signing secret is generated server-side at create.
|
|
544
|
+
|
|
545
|
+
| Tool | Description |
|
|
546
|
+
|------|-------------|
|
|
547
|
+
| `list_webhook_endpoints` | The org's endpoints and what each subscribes to |
|
|
548
|
+
| `get_webhook_endpoint` | One endpoint's URL and event list |
|
|
549
|
+
| `create_webhook_endpoint` | Register an HTTPS receiver for one or more event types |
|
|
550
|
+
| `update_webhook_endpoint` | Change the URL or **replace** the event list |
|
|
551
|
+
| `delete_webhook_endpoint` | Remove an endpoint and its delivery history (with confirmation) |
|
|
552
|
+
|
|
553
|
+
Events: `instance.scaling_failed`, `deploy_run.succeeded` / `.failed` / `.aborted`, `preview_deployment.created` / `.destroyed`, `database_user.password_rotated`. That last one is the signal a credential consumer needs when a database user has `password_rotation_enabled` - the payload never carries the password, so the receiver refetches with `rotate_database_user_password`. Subscribing to it is what makes automatic rotation safe instead of breaking.
|
|
554
|
+
|
|
468
555
|
---
|
|
469
556
|
|
|
470
557
|
## Common Workflows
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,12 @@ import { registerProxySqlTools } from "./tools/proxysql.js";
|
|
|
29
29
|
import { registerMysqlConfigTools } from "./tools/mysql-config.js";
|
|
30
30
|
import { registerChproxyTools } from "./tools/chproxy.js";
|
|
31
31
|
import { registerPostgresExtensionTools } from "./tools/postgres-extensions.js";
|
|
32
|
+
import { registerProjectBackupTools } from "./tools/project-backups.js";
|
|
33
|
+
import { registerProjectActivityTools } from "./tools/project-activities.js";
|
|
34
|
+
import { registerPostgresTlsTools } from "./tools/postgres-tls.js";
|
|
35
|
+
import { registerInstanceLogTools } from "./tools/instance-logs.js";
|
|
36
|
+
import { registerCapacityTools } from "./tools/capacity.js";
|
|
37
|
+
import { registerWebhookTools } from "./tools/webhooks.js";
|
|
32
38
|
const server = new McpServer({
|
|
33
39
|
name: "selfhost",
|
|
34
40
|
version: "0.1.0",
|
|
@@ -72,10 +78,14 @@ registerEnvVarTools(server);
|
|
|
72
78
|
registerGithubTools(server);
|
|
73
79
|
// Module 20: Project databases - Postgres/Redis/MySQL/MongoDB inside a project
|
|
74
80
|
registerProjectDatabaseTools(server);
|
|
75
|
-
// Module 21: Project services -
|
|
81
|
+
// Module 21: Project services - one-click app templates (Supabase, n8n, n8n+Postgres, Twenty)
|
|
76
82
|
registerProjectServiceTools(server);
|
|
77
83
|
// Module 22: Deployment notifications - bind/unbind org channels to deploy outcomes
|
|
78
84
|
registerDeploymentNotificationTools(server);
|
|
85
|
+
// Module 27: Project backups - native Hetzner whole-VM backups of a project server
|
|
86
|
+
registerProjectBackupTools(server);
|
|
87
|
+
// Module 28: Project activity feed - merged Hetzner server actions + platform events
|
|
88
|
+
registerProjectActivityTools(server);
|
|
79
89
|
// ─── MySQL parity tools (AWS surface, /aws/v1/...) ───────────────────────────
|
|
80
90
|
// Module 23: ProxySQL connection pooling (MySQL) - MySQL sibling of PgBouncer (Module 9)
|
|
81
91
|
registerProxySqlTools(server);
|
|
@@ -86,6 +96,14 @@ registerMysqlConfigTools(server);
|
|
|
86
96
|
registerChproxyTools(server);
|
|
87
97
|
// Module 26: Postgres extensions - TimescaleDB + pgvector post-hoc enablement (enable-only)
|
|
88
98
|
registerPostgresExtensionTools(server);
|
|
99
|
+
// Module 29: Postgres client TLS - group-wide encryption in transit
|
|
100
|
+
registerPostgresTlsTools(server);
|
|
101
|
+
// Module 30: Instance logs + query stats - on-demand engine diagnostics, no SSH
|
|
102
|
+
registerInstanceLogTools(server);
|
|
103
|
+
// Module 31: Cluster capacity tiers - group-wide ladder scaling + scale-plan recovery
|
|
104
|
+
registerCapacityTools(server);
|
|
105
|
+
// Module 32: Webhook endpoints - org-wide outgoing HTTPS event callbacks
|
|
106
|
+
registerWebhookTools(server);
|
|
89
107
|
// Server utility tools
|
|
90
108
|
server.tool("reauthenticate", "Clear stored credentials and sign in again (use to switch accounts or fix auth issues)", {}, async () => {
|
|
91
109
|
try {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/alerts.js
CHANGED
|
@@ -5,9 +5,78 @@ function resolveOrgId(organization_id) {
|
|
|
5
5
|
return organization_id || session.getActiveOrgId();
|
|
6
6
|
}
|
|
7
7
|
const noOrgMessage = "No organization selected. Call `select_organization` first or pass an organization_id.";
|
|
8
|
+
/**
|
|
9
|
+
* The metric catalogue, mirroring the backend's `AlertRule::VALID_METRICS`
|
|
10
|
+
* (`CROSS_CUTTING_METRICS` merged with each adapter's `valid_metrics`). A rule
|
|
11
|
+
* whose metric_name is not in its metric_type's list is rejected at validation,
|
|
12
|
+
* so this is a hard allow-list, not a hint.
|
|
13
|
+
*
|
|
14
|
+
* Kept as data rather than prose because the previous hand-written version had
|
|
15
|
+
* drifted: `storage` was missing 11 of its 17 names, `clickhouse.database` was
|
|
16
|
+
* missing 14 of 22, and `active_replica_count` was absent from all three engines
|
|
17
|
+
* that report it. Rendered into the tool descriptions below so the two cannot
|
|
18
|
+
* disagree again.
|
|
19
|
+
*
|
|
20
|
+
* NOT LISTED, deliberately: `mongodb.database` is a valid metric_type backend-side
|
|
21
|
+
* but its adapter reports no metrics, so no rule on it can ever fire.
|
|
22
|
+
* `opensearch.database` has metrics but OpenSearch is not a customer-reachable
|
|
23
|
+
* engine on this surface.
|
|
24
|
+
*/
|
|
25
|
+
const METRIC_CATALOGUE = {
|
|
26
|
+
system: [
|
|
27
|
+
"cpu_percent", "cpu_io_wait_percent", "memory_percent", "swap_usage_percent",
|
|
28
|
+
"disk_usage_percent", "load_avg_1", "load_avg_5", "load_avg_15",
|
|
29
|
+
],
|
|
30
|
+
network: ["recv_bytes_per_sec", "sent_bytes_per_sec"],
|
|
31
|
+
storage: [
|
|
32
|
+
"disk_free_bytes", "disk_free_percent", "disk_total_bytes", "disk_used_bytes",
|
|
33
|
+
"disk_used_percent", "inodes_free", "inodes_total", "inodes_used", "inodes_used_percent",
|
|
34
|
+
"read_bytes_per_second", "read_io_per_second", "read_utilization_percent",
|
|
35
|
+
"read_write_bytes_per_second", "total_utilization_percent", "write_bytes_per_second",
|
|
36
|
+
"write_io_per_second", "write_utilization_percent",
|
|
37
|
+
],
|
|
38
|
+
"postgresql.database": [
|
|
39
|
+
"blocks_read_per_second", "cache_hit_ratio", "committed_tx_per_second",
|
|
40
|
+
"connections_total", "max_connections", "replication_lag_seconds",
|
|
41
|
+
"active_replica_count", "transactions_per_second",
|
|
42
|
+
"timescaledb_hypertable_count", "timescaledb_chunk_count",
|
|
43
|
+
"timescaledb_compressed_chunk_count", "timescaledb_compression_ratio",
|
|
44
|
+
"timescaledb_total_size_bytes",
|
|
45
|
+
],
|
|
46
|
+
"mysql.database": [
|
|
47
|
+
"connections_total", "max_connections", "connections_aborted", "threads_running",
|
|
48
|
+
"queries_per_second", "slow_queries_per_second", "replication_lag_seconds",
|
|
49
|
+
"active_replica_count", "innodb_buffer_pool_hit_ratio",
|
|
50
|
+
"innodb_row_lock_waits_per_second", "tmp_disk_tables_per_second",
|
|
51
|
+
"select_full_scans_per_second",
|
|
52
|
+
],
|
|
53
|
+
"redis.database": [
|
|
54
|
+
"used_memory", "connected_clients", "evicted_keys", "expired_keys",
|
|
55
|
+
"keyspace_hits", "keyspace_misses", "instantaneous_ops_per_sec",
|
|
56
|
+
"rdb_changes_since_last_save", "rdb_last_save_time", "replication_lag_seconds",
|
|
57
|
+
"connected_slaves", "blocked_clients",
|
|
58
|
+
],
|
|
59
|
+
"clickhouse.database": [
|
|
60
|
+
"query_count", "queries_per_second", "select_queries_per_second",
|
|
61
|
+
"insert_queries_per_second", "failed_queries_per_second",
|
|
62
|
+
"inserted_rows_per_second", "selected_rows_per_second",
|
|
63
|
+
"memory_usage", "background_merges_count",
|
|
64
|
+
"replication_delay", "replication_lag_seconds", "active_replica_count",
|
|
65
|
+
"disk_used_bytes", "connections_count", "connections_total",
|
|
66
|
+
"broken_parts_count", "mark_cache_hit_ratio", "parts_active",
|
|
67
|
+
"keeper_connected", "total_replicas", "active_replicas", "queue_size",
|
|
68
|
+
"future_parts", "is_session_expired", "lost_replicas",
|
|
69
|
+
"noquorum_detached_parts",
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
const METRIC_TYPES = Object.keys(METRIC_CATALOGUE);
|
|
73
|
+
/** Rendered into create/list descriptions so the allow-list is visible, not guessed at. */
|
|
74
|
+
const METRIC_CATALOGUE_TEXT = METRIC_TYPES
|
|
75
|
+
.map((t) => `- ${t}: ${METRIC_CATALOGUE[t].join(", ")}`)
|
|
76
|
+
.join("\n");
|
|
8
77
|
const alertRuleSchema = {
|
|
9
78
|
name: z.string().min(1, "Rule name is required"),
|
|
10
|
-
metric_type: z.enum(
|
|
79
|
+
metric_type: z.enum(METRIC_TYPES).describe("Metric category. Must match the instance's engine - see the catalogue in the tool description."),
|
|
11
80
|
metric_name: z.string().min(1, "Metric name is required (e.g. cpu_percent, memory_percent, disk_used_percent)"),
|
|
12
81
|
operator: z.enum([">", "<", ">=", "<=", "=="]).describe("Comparison operator"),
|
|
13
82
|
threshold: z.number().describe("Threshold value to trigger alert"),
|
|
@@ -43,17 +112,19 @@ export function registerAlertTools(server) {
|
|
|
43
112
|
});
|
|
44
113
|
server.tool("create_alert_rule", `Create an alert rule for monitoring. Set cloud_instance_pid to target a specific instance, or omit for an org-wide rule.
|
|
45
114
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
115
|
+
THE METRIC ALLOW-LIST. \`metric_name\` must appear under the \`metric_type\` you pass or the rule is rejected:
|
|
116
|
+
|
|
117
|
+
${METRIC_CATALOGUE_TEXT}
|
|
118
|
+
|
|
119
|
+
Match metric_type to the instance's ENGINE. A rule using postgresql.database metrics never fires on a ClickHouse instance - it is accepted and then silently never evaluates, which is worse than an error, so check the engine with \`get_instance\` first if you are unsure.
|
|
120
|
+
|
|
121
|
+
Metrics that exist but never arrive are the other silent failure. The five \`timescaledb_*\` names are absent from heartbeats until TimescaleDB is actually installed, and \`active_replica_count\` only means something on a replicated instance. A rule on a metric the instance does not report does not error - it just never fires. \`get_instance_metrics\` shows what an instance is really sending; if a name is missing there, a rule on it is dead.
|
|
122
|
+
|
|
123
|
+
Two engine-specific traps worth knowing:
|
|
124
|
+
- ClickHouse reports replication health as \`replication_delay\` (seconds behind the quorum). \`replication_lag_seconds\` also exists but \`replication_delay\` is the one the platform's own sync logic reads.
|
|
125
|
+
- Ratio metrics are already percentages on the 0-100 scale - \`cache_hit_ratio\`, \`innodb_buffer_pool_hit_ratio\` and \`mark_cache_hit_ratio\` alike. Set a threshold like 95, not 0.95. (\`timescaledb_compression_ratio\` is the exception: it is a multiplier, so 3.5 means 3.5x.) Redis has no ready-made ratio - compute it from \`keyspace_hits\` and \`keyspace_misses\`.
|
|
55
126
|
|
|
56
|
-
|
|
127
|
+
\`storage\` rules REQUIRE \`mount_point\`, and it must name a real mount on the instance (\`/\`, \`/boot\`, or the engine's data volume - they are reported separately and a rule on the wrong one watches the wrong disk).`, {
|
|
57
128
|
organization_id: z.string().optional().describe("Organization PID (defaults to active org)"),
|
|
58
129
|
...alertRuleSchema,
|
|
59
130
|
}, async ({ organization_id, ...ruleParams }) => {
|
|
@@ -101,7 +172,7 @@ Match metric_type to the instance's engine - a rule using postgresql.database me
|
|
|
101
172
|
organization_id: z.string().optional().describe("Organization PID (defaults to active org)"),
|
|
102
173
|
rule_id: z.string().min(1, "Alert rule PID is required"),
|
|
103
174
|
name: z.string().optional(),
|
|
104
|
-
metric_type: z.enum(
|
|
175
|
+
metric_type: z.enum(METRIC_TYPES).optional(),
|
|
105
176
|
metric_name: z.string().optional(),
|
|
106
177
|
operator: z.enum([">", "<", ">=", "<=", "=="]).optional(),
|
|
107
178
|
threshold: z.number().optional(),
|
package/dist/tools/alerts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../src/tools/alerts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../src/tools/alerts.ts"],"names":[],"mappings":"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"}
|