impreza-mcp 0.49.0 → 0.51.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 +41 -2
- package/dist/output-schemas.js +36 -0
- package/dist/output-schemas.js.map +1 -1
- package/dist/playbooks.js +27 -0
- package/dist/playbooks.js.map +1 -1
- package/dist/server.js +143 -119
- package/dist/server.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -20,6 +20,39 @@ Set `IMPREZA_BASE_URL` before pairing for a different API endpoint. HTTPS is req
|
|
|
20
20
|
|
|
21
21
|
An existing credential file is never overwritten. Revoke an old paired key in clientarea before removing its file and pairing again. If an exchange or disk write fails, the code may already have been consumed: check and revoke the new key in clientarea before generating another code. Restart the AI client after pairing.
|
|
22
22
|
|
|
23
|
+
## Exact top-up amounts and checked IDs in API paths (0.51.0)
|
|
24
|
+
|
|
25
|
+
- **Exact top-up amounts.** `impreza_topup` accepts the amount as an exact decimal string (for example `"25.50"`)
|
|
26
|
+
and sends it to the API unchanged, without converting it to a binary floating-point number. A JSON number is still
|
|
27
|
+
accepted. Strings with an exponent, a sign, spaces or more than two decimal places are refused.
|
|
28
|
+
- **Every ID placed in an API path is checked.** The 0.50.0 guard for `deployment_id` now covers every identifier the
|
|
29
|
+
package places in an API URL path: task, backup, VPS, image, invoice, command, read and run IDs, agent IDs, onion
|
|
30
|
+
client names, the domain in tools that route by domain, and the dedicated IP for reverse DNS. A value that would add
|
|
31
|
+
or change path segments (`.`, `..`, `/`, `\`, `%`, whitespace or control characters) is refused before any request
|
|
32
|
+
leaves the process. Valid IDs are sent exactly as before.
|
|
33
|
+
|
|
34
|
+
## Protect an app, safer deployment IDs and bare VPS orders (0.50.0)
|
|
35
|
+
|
|
36
|
+
- **Protect an app, as a guided prompt.** `prompts/list` adds `impreza_protect_app`. Starting from one of your
|
|
37
|
+
running apps, it walks the assistant through a cold standby on a server you own in another country: choose the
|
|
38
|
+
target with the human, create the standby (`impreza_deploy_catalog_app` with `standby: true`), pair it and run the
|
|
39
|
+
first restore drill, each step behind its own explicit human confirmation. After a verified drill it reports the
|
|
40
|
+
measured copy age and drill duration; these are measurements, not a guaranteed RPO or RTO. It never buys a server,
|
|
41
|
+
promotes the standby, switches traffic or changes DNS, and it covers the reviewed failover apps (Memos 0.31.0 and
|
|
42
|
+
Uptime Kuma 2.5.5). Like every prompt, it grants no authority.
|
|
43
|
+
- **Server locations:** `impreza_list_servers` returns each server's `failover_location` in its structured output:
|
|
44
|
+
`country_code`, `country_basis` (`verified`, `operator_verified` or `declared`; a country you declared for an
|
|
45
|
+
external server is not verified by Impreza) and `country_notice`.
|
|
46
|
+
- **Deployment IDs cannot add path segments.** A `deployment_id` that would add or change path segments in an API
|
|
47
|
+
URL (`.`, `..`, `/`, `\`, `%`, whitespace or control characters) is refused before any request leaves the process.
|
|
48
|
+
Valid IDs are sent exactly as before.
|
|
49
|
+
- **A VPS ordered through the API is bare by default.** `impreza_order_vps` and `impreza_vps_offer` now describe what
|
|
50
|
+
the API does: without `app`, the VPS is born with `app: "none"` (bare OS, no agent). Pass `app: "@agent"` explicitly
|
|
51
|
+
when the customer wants it deployable, or offer `impreza_install_agent` later with the customer's confirmation.
|
|
52
|
+
After ordering, poll `impreza_list_services`; `impreza_list_servers` lists only servers with an installed agent.
|
|
53
|
+
- **Exact direct dependencies.** The package pins its direct runtime dependencies to the exact versions it was tested
|
|
54
|
+
with (see [Dependency versions](#dependency-versions)).
|
|
55
|
+
|
|
23
56
|
## Install the agent, enter secrets outside the chat, and protect custom apps (0.49.0)
|
|
24
57
|
|
|
25
58
|
- **`impreza_install_agent`** offers the Impreza agent on a managed VPS that does not have it yet, only with the
|
|
@@ -293,7 +326,7 @@ Static npm sites: choose build_strategy=node_npm_static with a Git/context sourc
|
|
|
293
326
|
|
|
294
327
|
## Status
|
|
295
328
|
|
|
296
|
-
**Package version: 0.
|
|
329
|
+
**Package version: 0.51.0.** The tool catalog covers app deployment plus account +
|
|
297
330
|
crypto balance, catalog + ordering, domains/DNS + registration, invoices, VPS
|
|
298
331
|
lifecycle with snapshots and backups, dedicated / bare-metal servers, plan
|
|
299
332
|
upgrades, and Titan / Google Workspace mailboxes — with a setup wizard that
|
|
@@ -480,7 +513,7 @@ and `impreza_api_search` finds anything not named here.
|
|
|
480
513
|
| **Catalog & ordering** | |
|
|
481
514
|
| `impreza_list_products` | `GET /v1/products` — products + pricing; the VPS is listed at its smallest size (`configurable: true`) |
|
|
482
515
|
| `impreza_vps_offer` | `GET /v1/products/vps` — VPS locations, operating systems, CPU / memory / disk ranges and prices; with a whole configuration, `GET /v1/products/vps/quote` — its exact price |
|
|
483
|
-
| `impreza_order_vps` | `POST /v1/orders` — a VPS by location, OS and size (or a fixed plan by `product_id`); paid from balance;
|
|
516
|
+
| `impreza_order_vps` | `POST /v1/orders` — a VPS by location, OS and size (or a fixed plan by `product_id`); paid from balance; bare OS by default (`app: "none"`); explicitly request `app: "@agent"` for deployment, or use `impreza_install_agent` later with customer confirmation; 202 + poll `impreza_list_services` |
|
|
484
517
|
| **Domains & DNS** | |
|
|
485
518
|
| `impreza_domain_check` | `GET /v1/domains/check` |
|
|
486
519
|
| `impreza_domain_details` | `GET /v1/domains/{domain}` |
|
|
@@ -924,3 +957,9 @@ uninstalled application does not delete key material.
|
|
|
924
957
|
See the [onion guide](https://docs.imprezahost.com/onion-services.html)
|
|
925
958
|
for permissions, customer update steps and supported limitations.
|
|
926
959
|
|
|
960
|
+
## Dependency versions
|
|
961
|
+
|
|
962
|
+
The package manifest pins each direct runtime dependency to an exact version: `@modelcontextprotocol/sdk` 1.29.0,
|
|
963
|
+
`tar` 7.5.22 and `zod` 3.25.76. Source builds use `package-lock.json` for the tested dependency tree. Transitive
|
|
964
|
+
dependencies may still change during a fresh consumer installation; dependency updates require a rebuilt package, a
|
|
965
|
+
clean installation test and a review of the installed tree before release.
|
package/dist/output-schemas.js
CHANGED
|
@@ -11914,6 +11914,42 @@ export const OUTPUT_SCHEMAS = {
|
|
|
11914
11914
|
"object",
|
|
11915
11915
|
"null"
|
|
11916
11916
|
]
|
|
11917
|
+
},
|
|
11918
|
+
"failover_location": {
|
|
11919
|
+
"oneOf": [
|
|
11920
|
+
{
|
|
11921
|
+
"type": "null"
|
|
11922
|
+
},
|
|
11923
|
+
{
|
|
11924
|
+
"type": "object",
|
|
11925
|
+
"additionalProperties": false,
|
|
11926
|
+
"required": [
|
|
11927
|
+
"country_code",
|
|
11928
|
+
"country_basis",
|
|
11929
|
+
"country_notice"
|
|
11930
|
+
],
|
|
11931
|
+
"properties": {
|
|
11932
|
+
"country_code": {
|
|
11933
|
+
"type": "string",
|
|
11934
|
+
"pattern": "^[A-Z]{2}$"
|
|
11935
|
+
},
|
|
11936
|
+
"country_basis": {
|
|
11937
|
+
"type": "string",
|
|
11938
|
+
"enum": [
|
|
11939
|
+
"verified",
|
|
11940
|
+
"operator_verified",
|
|
11941
|
+
"declared"
|
|
11942
|
+
]
|
|
11943
|
+
},
|
|
11944
|
+
"country_notice": {
|
|
11945
|
+
"type": [
|
|
11946
|
+
"string",
|
|
11947
|
+
"null"
|
|
11948
|
+
]
|
|
11949
|
+
}
|
|
11950
|
+
}
|
|
11951
|
+
}
|
|
11952
|
+
]
|
|
11917
11953
|
}
|
|
11918
11954
|
}
|
|
11919
11955
|
}
|