impreza-mcp 0.4.4 → 0.5.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 +12 -2
- package/dist/server.js +672 -0
- package/dist/server.js.map +1 -1
- package/package.json +63 -63
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# impreza-mcp
|
|
2
2
|
|
|
3
|
+
[](https://smithery.ai/servers/imprezahost/impreza-mcp)
|
|
4
|
+
|
|
3
5
|
[Model Context Protocol](https://modelcontextprotocol.io) server for
|
|
4
6
|
[Impreza Host](https://imprezahost.com). Lets AI coding tools (Claude
|
|
5
7
|
Code, Cursor, Codex CLI, Continue, Zed, ...) deploy customer-built
|
|
@@ -12,10 +14,15 @@ back the URL.
|
|
|
12
14
|
|
|
13
15
|
## Status
|
|
14
16
|
|
|
15
|
-
**Full surface live.** All
|
|
16
|
-
account + crypto balance, domains/DNS
|
|
17
|
+
**Full surface live.** All 62 tools shipped — app deployment (14) plus
|
|
18
|
+
account + crypto balance, catalog + ordering, domains/DNS + registration,
|
|
19
|
+
invoices, VPS lifecycle with snapshots and backups, dedicated / bare-metal
|
|
20
|
+
servers, plan upgrades, and Titan / Google Workspace mailboxes — with a setup
|
|
17
21
|
wizard that generates ready-to-paste config snippets for 5 AI tools.
|
|
18
22
|
|
|
23
|
+
The local (`npx`) server and the hosted OAuth connector expose the **same 62
|
|
24
|
+
tools**, so nothing is lost by picking either path.
|
|
25
|
+
|
|
19
26
|
| Tool | Wraps |
|
|
20
27
|
|------|-------|
|
|
21
28
|
| **Apps & deployments** | |
|
|
@@ -39,6 +46,9 @@ wizard that generates ready-to-paste config snippets for 5 AI tools.
|
|
|
39
46
|
| `impreza_topup` | `POST /v1/account/topup` — top up in BTC / XMR / USDT / TRX |
|
|
40
47
|
| `impreza_topup_status` | `GET /v1/account/topup/{invoice_id}` |
|
|
41
48
|
| `impreza_topup_payment` | `GET /v1/account/topup/{invoice_id}/payment` — crypto address + amount to pay |
|
|
49
|
+
| **Catalog & ordering** | |
|
|
50
|
+
| `impreza_list_products` | `GET /v1/products` — plans + pricing (filter `type=server` for VPS/dedicated) |
|
|
51
|
+
| `impreza_order_vps` | `POST /v1/orders` — buy from balance; born deployable (`@agent`); 202 + poll `impreza_list_servers` |
|
|
42
52
|
| **Domains & DNS** | |
|
|
43
53
|
| `impreza_domain_check` | `GET /v1/domains/check` |
|
|
44
54
|
| `impreza_domain_details` | `GET /v1/domains/{domain}` |
|
package/dist/server.js
CHANGED
|
@@ -90,6 +90,20 @@ const server = new Server({ name: 'impreza-mcp', version: VERSION }, { capabilit
|
|
|
90
90
|
// Tool definitions — each one wraps an Impreza REST call. JSON Schema
|
|
91
91
|
// here is what the AI sees in its tool catalog; the description should
|
|
92
92
|
// be rich enough that the LLM picks the right tool without hand-holding.
|
|
93
|
+
// Values that end up as PATH segments need a whitelist, not just escaping —
|
|
94
|
+
// same guards the hosted server applies before building the route.
|
|
95
|
+
const SNAPSHOT_NAME = /^[A-Za-z0-9._-]{1,64}$/;
|
|
96
|
+
const SNAPSHOT_NAME_ERROR = 'name must be 1-64 chars of letters, digits, dot, dash or underscore';
|
|
97
|
+
function isIpAddress(value) {
|
|
98
|
+
const v4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(value);
|
|
99
|
+
if (v4)
|
|
100
|
+
return v4.slice(1).every((o) => Number(o) <= 255 && String(Number(o)) === o);
|
|
101
|
+
// Compact IPv6 check: hex groups plus at most one "::" run.
|
|
102
|
+
if (!/^[0-9A-Fa-f:]+$/.test(value) || (value.match(/::/g) ?? []).length > 1)
|
|
103
|
+
return false;
|
|
104
|
+
const groups = value.split(':').filter((g) => g !== '');
|
|
105
|
+
return groups.length > 0 && groups.length <= 8 && groups.every((g) => g.length <= 4);
|
|
106
|
+
}
|
|
93
107
|
const TOOLS = [
|
|
94
108
|
{
|
|
95
109
|
name: 'impreza_list_servers',
|
|
@@ -551,6 +565,419 @@ const TOOLS = [
|
|
|
551
565
|
additionalProperties: false,
|
|
552
566
|
},
|
|
553
567
|
},
|
|
568
|
+
{
|
|
569
|
+
name: 'impreza_list_products',
|
|
570
|
+
description: 'List the products the customer can order (VPS plans, dedicated servers, ...) with pricing in the account currency. ' +
|
|
571
|
+
'Filter to VPS / dedicated plans with `type: "server"`. Returns id, name, group and per-cycle price + setup fee — ' +
|
|
572
|
+
'feed the `id` and a `billing_cycle` into `impreza_order_vps`.',
|
|
573
|
+
inputSchema: {
|
|
574
|
+
type: 'object',
|
|
575
|
+
properties: {
|
|
576
|
+
type: { type: 'string', description: 'Product type filter. Use "server" for VPS / dedicated plans.' },
|
|
577
|
+
group: { type: 'string', description: 'Optional product-group name substring filter, e.g. "VPS".' },
|
|
578
|
+
},
|
|
579
|
+
additionalProperties: false,
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
name: 'impreza_order_vps',
|
|
584
|
+
description: 'Order a VPS (or other catalog product) and pay from the account credit balance — the balance must already cover ' +
|
|
585
|
+
'the plan price (top up first with `impreza_topup`). Pick `product_id` via `impreza_list_products`. The VPS is born ' +
|
|
586
|
+
'DEPLOYABLE: unless you pass `app`, the Impreza agent is auto-installed so it appears under `impreza_list_servers` ' +
|
|
587
|
+
'within a few minutes. Set the OS via `config_options` ({optionId: value}); omit for the plan default. Returns ' +
|
|
588
|
+
'immediately (202) — the order provisions in the background, so poll `impreza_list_servers` until the new agent is online.',
|
|
589
|
+
inputSchema: {
|
|
590
|
+
type: 'object',
|
|
591
|
+
properties: {
|
|
592
|
+
product_id: { type: 'number', description: 'Product id from impreza_list_products.' },
|
|
593
|
+
billing_cycle: { type: 'string', description: 'One of: monthly, quarterly, semiannually, annually, biennially, triennially.' },
|
|
594
|
+
app: { type: 'string', description: "Optional. '@agent' (default — deployable), '@agent-mcp', 'none' (bare OS), or a catalog app name from impreza_list_apps." },
|
|
595
|
+
config_options: { type: 'object', description: 'Optional configurable options as {optionId: value} (e.g. the OS template). A rejected option is dropped and the plan default is used.' },
|
|
596
|
+
hostname: { type: 'string', description: 'Optional server hostname.' },
|
|
597
|
+
domain: { type: 'string', description: 'Optional domain for the order line.' },
|
|
598
|
+
},
|
|
599
|
+
required: ['product_id', 'billing_cycle'],
|
|
600
|
+
additionalProperties: false,
|
|
601
|
+
},
|
|
602
|
+
},
|
|
603
|
+
// ── Domain registration + invoices (Tier 1 parity with the hosted server) ──
|
|
604
|
+
{
|
|
605
|
+
name: 'impreza_domain_pricing',
|
|
606
|
+
description: 'Per-TLD registration, renewal and transfer pricing in the account currency. Use it to answer "how much is a ' +
|
|
607
|
+
'.com?" and to pick a TLD before checking availability with `impreza_domain_check`. Read-only.',
|
|
608
|
+
inputSchema: {
|
|
609
|
+
type: 'object',
|
|
610
|
+
properties: {
|
|
611
|
+
tld: { type: 'string', description: 'Optional. Narrow to one TLD, e.g. "com" or ".com". Omit for the whole price list.' },
|
|
612
|
+
},
|
|
613
|
+
additionalProperties: false,
|
|
614
|
+
},
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
name: 'impreza_register_domain',
|
|
618
|
+
description: 'Register a new domain on the account. Check availability first with `impreza_domain_check`. This raises an ' +
|
|
619
|
+
'invoice — settle it with `impreza_pay_invoice` (top up first via `impreza_topup` if the balance is short). ' +
|
|
620
|
+
'Nameservers default to Impreza DNS, so records can be managed right away with `impreza_add_dns_record`; only ' +
|
|
621
|
+
'pass `nameservers` to delegate the domain elsewhere.',
|
|
622
|
+
inputSchema: {
|
|
623
|
+
type: 'object',
|
|
624
|
+
properties: {
|
|
625
|
+
domain: { type: 'string', description: 'The domain to register, e.g. example.com.' },
|
|
626
|
+
years: { type: 'number', description: 'Registration period in years (1 or more).' },
|
|
627
|
+
nameservers: {
|
|
628
|
+
type: 'array',
|
|
629
|
+
items: { type: 'string' },
|
|
630
|
+
description: 'Optional. Custom nameservers. Omit to keep Impreza DNS — passing an empty list would leave the domain unresolvable.',
|
|
631
|
+
},
|
|
632
|
+
},
|
|
633
|
+
required: ['domain', 'years'],
|
|
634
|
+
additionalProperties: false,
|
|
635
|
+
},
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
name: 'impreza_list_invoices',
|
|
639
|
+
description: 'List the account invoices with status, due date and total — the way to find what is owed before paying. ' +
|
|
640
|
+
'Filter with `status` (e.g. Unpaid) to go straight to what needs settling. Read-only.',
|
|
641
|
+
inputSchema: {
|
|
642
|
+
type: 'object',
|
|
643
|
+
properties: {
|
|
644
|
+
status: { type: 'string', description: 'Optional status filter, e.g. Unpaid, Paid, Cancelled, Refunded.' },
|
|
645
|
+
},
|
|
646
|
+
additionalProperties: false,
|
|
647
|
+
},
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
name: 'impreza_pay_invoice',
|
|
651
|
+
description: 'Pay an invoice from the account CREDIT BALANCE (not a card). Get the id from `impreza_list_invoices`. If the ' +
|
|
652
|
+
'balance does not cover it the call fails with INSUFFICIENT_BALANCE — top up with `impreza_topup`, wait for the ' +
|
|
653
|
+
'crypto payment to confirm, then call this again. This is the step that turns a domain registration or an ' +
|
|
654
|
+
'upgrade into an active service.',
|
|
655
|
+
inputSchema: {
|
|
656
|
+
type: 'object',
|
|
657
|
+
properties: {
|
|
658
|
+
invoice_id: { type: 'number', description: 'Invoice id from impreza_list_invoices.' },
|
|
659
|
+
},
|
|
660
|
+
required: ['invoice_id'],
|
|
661
|
+
additionalProperties: false,
|
|
662
|
+
},
|
|
663
|
+
},
|
|
664
|
+
// ── Dedicated / bare-metal lifecycle (Tier 2 parity) ───────────────────────
|
|
665
|
+
{
|
|
666
|
+
name: 'impreza_list_dedicated',
|
|
667
|
+
description: 'List the dedicated / bare-metal servers on the account: service_id, hostname, product, location and state. The ' +
|
|
668
|
+
'service_id it returns is what every other `impreza_dedicated_*` tool takes. Note dedicated servers are ' +
|
|
669
|
+
'provisioned by the Impreza team, not instantly like a VPS — a freshly ordered one only shows up here once it ' +
|
|
670
|
+
'has been racked and handed over. Read-only.',
|
|
671
|
+
inputSchema: { type: 'object', properties: {}, additionalProperties: false },
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
name: 'impreza_dedicated_info',
|
|
675
|
+
description: 'Full detail for one dedicated server — product and specs, location, contract dates, and which capabilities the ' +
|
|
676
|
+
'box actually supports (power control, reverse DNS, reinstall, KVM console, DDoS filtering). Check this before ' +
|
|
677
|
+
'assuming an action is available: capabilities differ per machine. Read-only.',
|
|
678
|
+
inputSchema: {
|
|
679
|
+
type: 'object',
|
|
680
|
+
properties: { service_id: { type: 'number', description: 'Service id from impreza_list_dedicated.' } },
|
|
681
|
+
required: ['service_id'],
|
|
682
|
+
additionalProperties: false,
|
|
683
|
+
},
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
name: 'impreza_dedicated_status',
|
|
687
|
+
description: 'Current power state of a dedicated server — the cheapest way to answer "is my server up?". Read it before ' +
|
|
688
|
+
'calling `impreza_dedicated_power`, and again afterwards to confirm the action took effect. Read-only.',
|
|
689
|
+
inputSchema: {
|
|
690
|
+
type: 'object',
|
|
691
|
+
properties: { service_id: { type: 'number', description: 'Service id from impreza_list_dedicated.' } },
|
|
692
|
+
required: ['service_id'],
|
|
693
|
+
additionalProperties: false,
|
|
694
|
+
},
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
name: 'impreza_dedicated_ips',
|
|
698
|
+
description: 'List the IP addresses assigned to a dedicated server together with their current reverse DNS (PTR). Feed one of ' +
|
|
699
|
+
'these ip values into `impreza_dedicated_set_rdns`. Read-only.',
|
|
700
|
+
inputSchema: {
|
|
701
|
+
type: 'object',
|
|
702
|
+
properties: { service_id: { type: 'number', description: 'Service id from impreza_list_dedicated.' } },
|
|
703
|
+
required: ['service_id'],
|
|
704
|
+
additionalProperties: false,
|
|
705
|
+
},
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
name: 'impreza_dedicated_bandwidth',
|
|
709
|
+
description: 'Bandwidth / traffic graph data for a dedicated server. Use it to answer questions about usage, saturation or ' +
|
|
710
|
+
'packet errors over a day, week or month. Read-only.',
|
|
711
|
+
inputSchema: {
|
|
712
|
+
type: 'object',
|
|
713
|
+
properties: {
|
|
714
|
+
service_id: { type: 'number', description: 'Service id from impreza_list_dedicated.' },
|
|
715
|
+
type: { type: 'string', description: 'Metric: port_bits (default, throughput), port_upkts, port_percent, port_errors, port_pktsize, port_discards.' },
|
|
716
|
+
scale: { type: 'string', description: 'Time window: day, week or month (default month).' },
|
|
717
|
+
},
|
|
718
|
+
required: ['service_id'],
|
|
719
|
+
additionalProperties: false,
|
|
720
|
+
},
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
name: 'impreza_dedicated_power',
|
|
724
|
+
description: 'Power-control a dedicated server: boot it, shut it down, or reboot it. A shutdown or reboot interrupts ' +
|
|
725
|
+
'everything running on the machine, so confirm with the customer before calling it, and check ' +
|
|
726
|
+
'`impreza_dedicated_status` first.',
|
|
727
|
+
inputSchema: {
|
|
728
|
+
type: 'object',
|
|
729
|
+
properties: {
|
|
730
|
+
service_id: { type: 'number', description: 'Service id from impreza_list_dedicated.' },
|
|
731
|
+
action: { type: 'string', description: 'One of: on (boot), off (shut down), restart (reboot).' },
|
|
732
|
+
},
|
|
733
|
+
required: ['service_id', 'action'],
|
|
734
|
+
additionalProperties: false,
|
|
735
|
+
},
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
name: 'impreza_dedicated_set_rdns',
|
|
739
|
+
description: 'Set the reverse DNS (PTR) of one IP on a dedicated server — needed for mail delivery and for TLS/SSH banners ' +
|
|
740
|
+
'that must match a hostname. Get the ip from `impreza_dedicated_ips`.',
|
|
741
|
+
inputSchema: {
|
|
742
|
+
type: 'object',
|
|
743
|
+
properties: {
|
|
744
|
+
service_id: { type: 'number', description: 'Service id from impreza_list_dedicated.' },
|
|
745
|
+
ip: { type: 'string', description: 'The IP to change, exactly as returned by impreza_dedicated_ips.' },
|
|
746
|
+
hostname: { type: 'string', description: 'The PTR hostname to publish, e.g. mail.example.com. It should have a matching forward A record.' },
|
|
747
|
+
},
|
|
748
|
+
required: ['service_id', 'ip', 'hostname'],
|
|
749
|
+
additionalProperties: false,
|
|
750
|
+
},
|
|
751
|
+
},
|
|
752
|
+
// ── Upgrade an existing service ────────────────────────────────────────────
|
|
753
|
+
{
|
|
754
|
+
name: 'impreza_upgrade_service',
|
|
755
|
+
description: 'Move an existing service (VPS, dedicated, hosting) to a different plan — the answer to "my site is slow, I ' +
|
|
756
|
+
'need more resources". Pick the target plan with `impreza_list_products` and pass its id as `new_product_id`. ' +
|
|
757
|
+
'This raises a pro-rata upgrade invoice and pays it from the account credit balance, so top up first with ' +
|
|
758
|
+
'`impreza_topup` if the balance is short: when it is, the upgrade order is cancelled instead of left ' +
|
|
759
|
+
'half-done. High-value plans are held for manual review rather than provisioned instantly.',
|
|
760
|
+
inputSchema: {
|
|
761
|
+
type: 'object',
|
|
762
|
+
properties: {
|
|
763
|
+
service_id: { type: 'number', description: 'The service to upgrade (from impreza_list_services or impreza_list_dedicated).' },
|
|
764
|
+
new_product_id: { type: 'number', description: 'Target plan id from impreza_list_products.' },
|
|
765
|
+
billing_cycle: { type: 'string', description: 'Billing cycle for the new plan, e.g. monthly, annually.' },
|
|
766
|
+
},
|
|
767
|
+
required: ['service_id', 'new_product_id', 'billing_cycle'],
|
|
768
|
+
additionalProperties: false,
|
|
769
|
+
},
|
|
770
|
+
},
|
|
771
|
+
// ── Mailboxes: Titan + Google Workspace (Tier 3 parity) ────────────────────
|
|
772
|
+
{
|
|
773
|
+
name: 'impreza_titan_details',
|
|
774
|
+
description: 'Details of the Titan Email service on a domain: plan, mailbox count and quota, status and renewal date. Titan is ' +
|
|
775
|
+
'the mailbox product to reach for right after a site goes live ("I want contact@mydomain"). Read-only.',
|
|
776
|
+
inputSchema: {
|
|
777
|
+
type: 'object',
|
|
778
|
+
properties: { domain: { type: 'string', description: 'The domain the mail service belongs to, e.g. example.com.' } },
|
|
779
|
+
required: ['domain'],
|
|
780
|
+
additionalProperties: false,
|
|
781
|
+
},
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
name: 'impreza_titan_dns',
|
|
785
|
+
description: 'The exact DNS records a domain needs for Titan Email to work — MX plus SPF/DKIM. If the domain uses Impreza DNS ' +
|
|
786
|
+
'you can publish each one with `impreza_add_dns_record`; otherwise hand the list to the customer for their own ' +
|
|
787
|
+
'DNS provider. Mail silently fails to deliver until these exist, so check here first whenever mail is not ' +
|
|
788
|
+
'arriving. Read-only.',
|
|
789
|
+
inputSchema: {
|
|
790
|
+
type: 'object',
|
|
791
|
+
properties: { domain: { type: 'string', description: 'The domain the mail service belongs to.' } },
|
|
792
|
+
required: ['domain'],
|
|
793
|
+
additionalProperties: false,
|
|
794
|
+
},
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
name: 'impreza_titan_webmail',
|
|
798
|
+
description: 'A one-time sign-in link to the Titan webmail / mail admin panel for a domain, so the customer can read mail or ' +
|
|
799
|
+
'add mailboxes without hunting for a password. Treat the returned URL as a credential: hand it to the account ' +
|
|
800
|
+
'owner, do not post it anywhere shared.',
|
|
801
|
+
inputSchema: {
|
|
802
|
+
type: 'object',
|
|
803
|
+
properties: { domain: { type: 'string', description: 'The domain the mail service belongs to.' } },
|
|
804
|
+
required: ['domain'],
|
|
805
|
+
additionalProperties: false,
|
|
806
|
+
},
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
name: 'impreza_google_details',
|
|
810
|
+
description: 'Details of the Google Workspace service on a domain: plan, seats, status and renewal date. Use ' +
|
|
811
|
+
'`impreza_titan_details` instead for Titan mailboxes — they are different products. Read-only.',
|
|
812
|
+
inputSchema: {
|
|
813
|
+
type: 'object',
|
|
814
|
+
properties: { domain: { type: 'string', description: 'The domain the Workspace service belongs to.' } },
|
|
815
|
+
required: ['domain'],
|
|
816
|
+
additionalProperties: false,
|
|
817
|
+
},
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
name: 'impreza_google_dns',
|
|
821
|
+
description: 'The DNS records required for Google Workspace mail (MX and verification). Publish them with ' +
|
|
822
|
+
'`impreza_add_dns_record` when the domain is on Impreza DNS. Takes no arguments — the records are the same for ' +
|
|
823
|
+
'every Workspace domain. Read-only.',
|
|
824
|
+
inputSchema: { type: 'object', properties: {}, additionalProperties: false },
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
name: 'impreza_google_setup_admin',
|
|
828
|
+
description: 'Create the administrator account that activates a Google Workspace order — the step that turns a paid order ' +
|
|
829
|
+
"into a usable Workspace. It submits the customer's own name and contact details to Google, so only call it with " +
|
|
830
|
+
'details the account owner gave you for this purpose, and never invent them.',
|
|
831
|
+
inputSchema: {
|
|
832
|
+
type: 'object',
|
|
833
|
+
properties: {
|
|
834
|
+
domain: { type: 'string', description: 'The domain the Workspace order belongs to.' },
|
|
835
|
+
email_address: { type: 'string', description: 'The admin mailbox to create, e.g. admin@example.com.' },
|
|
836
|
+
first_name: { type: 'string', description: 'Admin first name.' },
|
|
837
|
+
last_name: { type: 'string', description: 'Admin last name.' },
|
|
838
|
+
alternate_email: { type: 'string', description: 'A recovery address OUTSIDE this domain — Google uses it if the admin is locked out.' },
|
|
839
|
+
name: { type: 'string', description: 'Optional. Account holder name, if it differs from the admin name.' },
|
|
840
|
+
company: { type: 'string', description: 'Optional company / organisation name.' },
|
|
841
|
+
zip: { type: 'string', description: 'Optional postal code.' },
|
|
842
|
+
},
|
|
843
|
+
required: ['domain', 'email_address', 'first_name', 'last_name', 'alternate_email'],
|
|
844
|
+
additionalProperties: false,
|
|
845
|
+
},
|
|
846
|
+
},
|
|
847
|
+
// ── VPS snapshots, backup restore/delete, cloud rDNS ───────────────────────
|
|
848
|
+
{
|
|
849
|
+
name: 'impreza_vps_list_snapshots',
|
|
850
|
+
description: 'List the snapshots of a VPS with their names and dates. A snapshot is a point-in-time image of the whole disk — ' +
|
|
851
|
+
'the thing to take BEFORE a risky change so it can be undone with `impreza_vps_rollback_snapshot`. Read-only.',
|
|
852
|
+
inputSchema: {
|
|
853
|
+
type: 'object',
|
|
854
|
+
properties: { service_id: { type: 'number', description: 'VPS service id from impreza_list_services.' } },
|
|
855
|
+
required: ['service_id'],
|
|
856
|
+
additionalProperties: false,
|
|
857
|
+
},
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
name: 'impreza_vps_create_snapshot',
|
|
861
|
+
description: 'Take a snapshot of a VPS before doing something risky. Cheap and fast, and it is what makes a rollback possible ' +
|
|
862
|
+
'later — offer it whenever the customer is about to upgrade, migrate or change something they cannot easily undo.',
|
|
863
|
+
inputSchema: {
|
|
864
|
+
type: 'object',
|
|
865
|
+
properties: {
|
|
866
|
+
service_id: { type: 'number', description: 'VPS service id.' },
|
|
867
|
+
name: { type: 'string', description: 'Short snapshot name, e.g. before-php84. Letters, digits, dot, dash and underscore only.' },
|
|
868
|
+
description: { type: 'string', description: 'Optional note about why the snapshot was taken.' },
|
|
869
|
+
},
|
|
870
|
+
required: ['service_id', 'name'],
|
|
871
|
+
additionalProperties: false,
|
|
872
|
+
},
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
name: 'impreza_vps_rollback_snapshot',
|
|
876
|
+
description: 'DESTRUCTIVE: revert a VPS to a snapshot. Everything written after that snapshot — files, databases, mail, new ' +
|
|
877
|
+
'users — is LOST, and the VPS restarts. Never call it on your own initiative: name the snapshot and its date to ' +
|
|
878
|
+
'the customer, confirm they accept losing everything since then, and prefer taking a fresh snapshot first so the ' +
|
|
879
|
+
'current state is still recoverable.',
|
|
880
|
+
inputSchema: {
|
|
881
|
+
type: 'object',
|
|
882
|
+
properties: {
|
|
883
|
+
service_id: { type: 'number', description: 'VPS service id.' },
|
|
884
|
+
name: { type: 'string', description: 'Snapshot name to roll back to, exactly as listed by impreza_vps_list_snapshots.' },
|
|
885
|
+
},
|
|
886
|
+
required: ['service_id', 'name'],
|
|
887
|
+
additionalProperties: false,
|
|
888
|
+
},
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
name: 'impreza_vps_delete_snapshot',
|
|
892
|
+
description: 'Delete a snapshot to free disk space. The snapshot is gone for good, so anything it was the only copy of can no ' +
|
|
893
|
+
'longer be rolled back to — confirm with the customer first.',
|
|
894
|
+
inputSchema: {
|
|
895
|
+
type: 'object',
|
|
896
|
+
properties: {
|
|
897
|
+
service_id: { type: 'number', description: 'VPS service id.' },
|
|
898
|
+
name: { type: 'string', description: 'Snapshot name from impreza_vps_list_snapshots.' },
|
|
899
|
+
},
|
|
900
|
+
required: ['service_id', 'name'],
|
|
901
|
+
additionalProperties: false,
|
|
902
|
+
},
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
name: 'impreza_vps_restore_backup',
|
|
906
|
+
description: 'DESTRUCTIVE: restore a VPS from a backup, overwriting the current disk. Everything newer than the backup is ' +
|
|
907
|
+
'LOST. Same rule as a rollback: state which backup and its date, get explicit confirmation, and consider a ' +
|
|
908
|
+
'snapshot of the current state first. List candidates with `impreza_vps_list_backups`.',
|
|
909
|
+
inputSchema: {
|
|
910
|
+
type: 'object',
|
|
911
|
+
properties: {
|
|
912
|
+
service_id: { type: 'number', description: 'VPS service id.' },
|
|
913
|
+
backup_id: { type: 'number', description: 'Backup id from impreza_vps_list_backups.' },
|
|
914
|
+
},
|
|
915
|
+
required: ['service_id', 'backup_id'],
|
|
916
|
+
additionalProperties: false,
|
|
917
|
+
},
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
name: 'impreza_vps_delete_backup',
|
|
921
|
+
description: 'Delete a VPS backup to free storage. Irreversible — if it is the only copy of a given date, that restore point ' +
|
|
922
|
+
'is gone. Confirm with the customer first.',
|
|
923
|
+
inputSchema: {
|
|
924
|
+
type: 'object',
|
|
925
|
+
properties: {
|
|
926
|
+
service_id: { type: 'number', description: 'VPS service id.' },
|
|
927
|
+
backup_id: { type: 'number', description: 'Backup id from impreza_vps_list_backups.' },
|
|
928
|
+
},
|
|
929
|
+
required: ['service_id', 'backup_id'],
|
|
930
|
+
additionalProperties: false,
|
|
931
|
+
},
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
name: 'impreza_vps_list_backup_schedules',
|
|
935
|
+
description: 'List the automatic backup schedules on a VPS — use it to answer "am I being backed up, and how often?". An ' +
|
|
936
|
+
'empty list means nothing is scheduled and only manual backups exist. Read-only.',
|
|
937
|
+
inputSchema: {
|
|
938
|
+
type: 'object',
|
|
939
|
+
properties: { service_id: { type: 'number', description: 'VPS service id.' } },
|
|
940
|
+
required: ['service_id'],
|
|
941
|
+
additionalProperties: false,
|
|
942
|
+
},
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
name: 'impreza_cloud_rdns',
|
|
946
|
+
description: 'Read the reverse DNS (PTR) currently published for an IP on an Impreza Cloud VPS. Check it before changing ' +
|
|
947
|
+
'anything, and after, to confirm the change landed. Read-only.',
|
|
948
|
+
inputSchema: {
|
|
949
|
+
type: 'object',
|
|
950
|
+
properties: { ip: { type: 'string', description: 'The cloud VPS IP address.' } },
|
|
951
|
+
required: ['ip'],
|
|
952
|
+
additionalProperties: false,
|
|
953
|
+
},
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
name: 'impreza_cloud_set_rdns',
|
|
957
|
+
description: 'Set the reverse DNS (PTR) of an Impreza Cloud VPS IP. Needed before the box can send mail that is not rejected ' +
|
|
958
|
+
'as spam — receivers check that the PTR matches a forward record. Publish the matching A record with ' +
|
|
959
|
+
'`impreza_add_dns_record`.',
|
|
960
|
+
inputSchema: {
|
|
961
|
+
type: 'object',
|
|
962
|
+
properties: {
|
|
963
|
+
ip: { type: 'string', description: 'The cloud VPS IP address.' },
|
|
964
|
+
domain: { type: 'string', description: 'The PTR hostname to publish, e.g. mail.example.com. It should have a forward A record pointing back to this IP.' },
|
|
965
|
+
},
|
|
966
|
+
required: ['ip', 'domain'],
|
|
967
|
+
additionalProperties: false,
|
|
968
|
+
},
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
name: 'impreza_cloud_delete_rdns',
|
|
972
|
+
description: 'Remove the reverse DNS (PTR) of an Impreza Cloud VPS IP. Mail sent from the box will likely start being ' +
|
|
973
|
+
'rejected once the PTR is gone, so only do this when the customer asks for it explicitly.',
|
|
974
|
+
inputSchema: {
|
|
975
|
+
type: 'object',
|
|
976
|
+
properties: { ip: { type: 'string', description: 'The cloud VPS IP address.' } },
|
|
977
|
+
required: ['ip'],
|
|
978
|
+
additionalProperties: false,
|
|
979
|
+
},
|
|
980
|
+
},
|
|
554
981
|
];
|
|
555
982
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
556
983
|
server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
@@ -719,6 +1146,34 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
719
1146
|
query.crypto = args.crypto;
|
|
720
1147
|
return toResult(await impreza.get(`/v1/account/topup/${encodeURIComponent(invoiceId)}/payment`, query));
|
|
721
1148
|
}
|
|
1149
|
+
// ── Catalog + ordering ───────────────────────────────────────────
|
|
1150
|
+
case 'impreza_list_products': {
|
|
1151
|
+
const query = {};
|
|
1152
|
+
if (typeof args.type === 'string' && args.type)
|
|
1153
|
+
query.type = args.type;
|
|
1154
|
+
if (typeof args.group === 'string' && args.group)
|
|
1155
|
+
query.group = args.group;
|
|
1156
|
+
return toResult(await impreza.get('/v1/products', query));
|
|
1157
|
+
}
|
|
1158
|
+
case 'impreza_order_vps': {
|
|
1159
|
+
const productId = typeof args.product_id === 'number' ? args.product_id : Number(args.product_id);
|
|
1160
|
+
const billingCycle = String(args.billing_cycle ?? '');
|
|
1161
|
+
if (!Number.isFinite(productId) || productId <= 0) {
|
|
1162
|
+
return toError('product_id is required (a positive number from impreza_list_products)');
|
|
1163
|
+
}
|
|
1164
|
+
if (!billingCycle)
|
|
1165
|
+
return toError('billing_cycle is required (e.g. "monthly")');
|
|
1166
|
+
const body = { product_id: productId, billing_cycle: billingCycle };
|
|
1167
|
+
if (typeof args.app === 'string' && args.app)
|
|
1168
|
+
body.app = args.app;
|
|
1169
|
+
if (typeof args.hostname === 'string' && args.hostname)
|
|
1170
|
+
body.hostname = args.hostname;
|
|
1171
|
+
if (typeof args.domain === 'string' && args.domain)
|
|
1172
|
+
body.domain = args.domain;
|
|
1173
|
+
if (args.config_options && typeof args.config_options === 'object')
|
|
1174
|
+
body.config_options = args.config_options;
|
|
1175
|
+
return toResult(await impreza.post('/v1/orders', body));
|
|
1176
|
+
}
|
|
722
1177
|
// ── Domains + DNS ────────────────────────────────────────────────
|
|
723
1178
|
case 'impreza_domain_check': {
|
|
724
1179
|
const domain = String(args.domain ?? '');
|
|
@@ -843,6 +1298,223 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
843
1298
|
confirm: true,
|
|
844
1299
|
}));
|
|
845
1300
|
}
|
|
1301
|
+
// ── Domain registration + invoices ───────────────────────────────
|
|
1302
|
+
case 'impreza_domain_pricing': {
|
|
1303
|
+
const query = {};
|
|
1304
|
+
const tld = String(args.tld ?? '').replace(/^\./, '');
|
|
1305
|
+
if (tld)
|
|
1306
|
+
query.tld = tld;
|
|
1307
|
+
return toResult(await impreza.get('/v1/domains/pricing', query));
|
|
1308
|
+
}
|
|
1309
|
+
case 'impreza_register_domain': {
|
|
1310
|
+
const domain = String(args.domain ?? '');
|
|
1311
|
+
const years = Number(args.years ?? 0);
|
|
1312
|
+
if (!domain)
|
|
1313
|
+
return toError('domain is required');
|
|
1314
|
+
if (!Number.isInteger(years) || years < 1)
|
|
1315
|
+
return toError('years must be a whole number of 1 or more');
|
|
1316
|
+
const body = { domain, years };
|
|
1317
|
+
// Only forward nameservers when actually given: an empty array would
|
|
1318
|
+
// overwrite Impreza DNS and leave the domain unresolvable.
|
|
1319
|
+
if (Array.isArray(args.nameservers) && args.nameservers.length > 0) {
|
|
1320
|
+
body.nameservers = args.nameservers.map((ns) => String(ns));
|
|
1321
|
+
}
|
|
1322
|
+
return toResult(await impreza.post('/v1/domains/register', body));
|
|
1323
|
+
}
|
|
1324
|
+
case 'impreza_list_invoices': {
|
|
1325
|
+
const query = {};
|
|
1326
|
+
if (typeof args.status === 'string' && args.status)
|
|
1327
|
+
query.status = args.status;
|
|
1328
|
+
return toResult(await impreza.get('/v1/invoices', query));
|
|
1329
|
+
}
|
|
1330
|
+
case 'impreza_pay_invoice': {
|
|
1331
|
+
const invoiceId = Number(args.invoice_id ?? 0);
|
|
1332
|
+
if (!Number.isInteger(invoiceId) || invoiceId < 1)
|
|
1333
|
+
return toError('invoice_id is required');
|
|
1334
|
+
return toResult(await impreza.post(`/v1/invoices/${encodeURIComponent(String(invoiceId))}/pay`, {}));
|
|
1335
|
+
}
|
|
1336
|
+
// ── Dedicated / bare-metal ───────────────────────────────────────
|
|
1337
|
+
// Ownership is enforced server-side (Auth::ownsDedicated), so a
|
|
1338
|
+
// service_id from another account comes back NOT_FOUND rather than
|
|
1339
|
+
// acting on someone else's machine.
|
|
1340
|
+
case 'impreza_list_dedicated':
|
|
1341
|
+
return toResult(await impreza.get('/v1/dedicated'));
|
|
1342
|
+
case 'impreza_dedicated_info':
|
|
1343
|
+
case 'impreza_dedicated_status':
|
|
1344
|
+
case 'impreza_dedicated_ips': {
|
|
1345
|
+
const sid = Number(args.service_id ?? 0);
|
|
1346
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1347
|
+
return toError('service_id is required');
|
|
1348
|
+
const suffix = name === 'impreza_dedicated_status' ? '/status' : name === 'impreza_dedicated_ips' ? '/ips' : '';
|
|
1349
|
+
return toResult(await impreza.get(`/v1/dedicated/${sid}${suffix}`));
|
|
1350
|
+
}
|
|
1351
|
+
case 'impreza_dedicated_bandwidth': {
|
|
1352
|
+
const sid = Number(args.service_id ?? 0);
|
|
1353
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1354
|
+
return toError('service_id is required');
|
|
1355
|
+
const query = {};
|
|
1356
|
+
if (typeof args.type === 'string' && args.type)
|
|
1357
|
+
query.type = args.type;
|
|
1358
|
+
if (typeof args.scale === 'string' && args.scale)
|
|
1359
|
+
query.scale = args.scale;
|
|
1360
|
+
return toResult(await impreza.get(`/v1/dedicated/${sid}/bandwidth`, query));
|
|
1361
|
+
}
|
|
1362
|
+
case 'impreza_dedicated_power': {
|
|
1363
|
+
const sid = Number(args.service_id ?? 0);
|
|
1364
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1365
|
+
return toError('service_id is required');
|
|
1366
|
+
// Accept both the wire vocabulary (on/off/restart) and the route
|
|
1367
|
+
// vocabulary, so a model that guesses either one works.
|
|
1368
|
+
const POWER = {
|
|
1369
|
+
on: 'start', start: 'start', boot: 'start',
|
|
1370
|
+
off: 'shutdown', shutdown: 'shutdown', stop: 'shutdown',
|
|
1371
|
+
restart: 'reboot', reboot: 'reboot',
|
|
1372
|
+
};
|
|
1373
|
+
const seg = POWER[String(args.action ?? '').trim().toLowerCase()];
|
|
1374
|
+
if (!seg)
|
|
1375
|
+
return toError('action must be one of: on, off, restart');
|
|
1376
|
+
return toResult(await impreza.post(`/v1/dedicated/${sid}/${seg}`, {}));
|
|
1377
|
+
}
|
|
1378
|
+
case 'impreza_dedicated_set_rdns': {
|
|
1379
|
+
const sid = Number(args.service_id ?? 0);
|
|
1380
|
+
const ip = String(args.ip ?? '').trim();
|
|
1381
|
+
const hostname = String(args.hostname ?? '').trim();
|
|
1382
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1383
|
+
return toError('service_id is required');
|
|
1384
|
+
if (!ip)
|
|
1385
|
+
return toError('ip is required (get it from impreza_dedicated_ips)');
|
|
1386
|
+
if (!hostname)
|
|
1387
|
+
return toError('hostname is required — the PTR value to publish, e.g. mail.example.com');
|
|
1388
|
+
return toResult(await impreza.put(`/v1/dedicated/${sid}/ips/${encodeURIComponent(ip)}/rdns`, { hostname }));
|
|
1389
|
+
}
|
|
1390
|
+
// ── Upgrade an existing service ──────────────────────────────────
|
|
1391
|
+
case 'impreza_upgrade_service': {
|
|
1392
|
+
const sid = Number(args.service_id ?? 0);
|
|
1393
|
+
const newProductId = Number(args.new_product_id ?? 0);
|
|
1394
|
+
const billingCycle = String(args.billing_cycle ?? '').trim();
|
|
1395
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1396
|
+
return toError('service_id is required');
|
|
1397
|
+
if (!Number.isInteger(newProductId) || newProductId < 1) {
|
|
1398
|
+
return toError('new_product_id is required (get it from impreza_list_products)');
|
|
1399
|
+
}
|
|
1400
|
+
if (!billingCycle)
|
|
1401
|
+
return toError('billing_cycle is required (e.g. "monthly")');
|
|
1402
|
+
return toResult(await impreza.post(`/v1/orders/${sid}/upgrade`, {
|
|
1403
|
+
service_id: sid,
|
|
1404
|
+
new_product_id: newProductId,
|
|
1405
|
+
billing_cycle: billingCycle,
|
|
1406
|
+
}));
|
|
1407
|
+
}
|
|
1408
|
+
// ── Mailboxes ────────────────────────────────────────────────────
|
|
1409
|
+
// Entitlement is checked server-side per domain (FORBIDDEN when the
|
|
1410
|
+
// account has no mail service there), so a domain the caller does not
|
|
1411
|
+
// own is refused before any upstream call.
|
|
1412
|
+
case 'impreza_titan_details':
|
|
1413
|
+
case 'impreza_titan_dns':
|
|
1414
|
+
case 'impreza_titan_webmail':
|
|
1415
|
+
case 'impreza_google_details': {
|
|
1416
|
+
const domain = String(args.domain ?? '').trim().toLowerCase();
|
|
1417
|
+
if (!domain)
|
|
1418
|
+
return toError('domain is required (e.g. example.com)');
|
|
1419
|
+
const vendor = name === 'impreza_google_details' ? 'google' : 'titan';
|
|
1420
|
+
const suffix = name === 'impreza_titan_dns' ? '/dns' : name === 'impreza_titan_webmail' ? '/sso' : '';
|
|
1421
|
+
return toResult(await impreza.get(`/v1/email/${vendor}/${encodeURIComponent(domain)}${suffix}`));
|
|
1422
|
+
}
|
|
1423
|
+
case 'impreza_google_dns':
|
|
1424
|
+
// No domain segment on this route — the records are the same for
|
|
1425
|
+
// every Workspace domain.
|
|
1426
|
+
return toResult(await impreza.get('/v1/email/google/dns'));
|
|
1427
|
+
case 'impreza_google_setup_admin': {
|
|
1428
|
+
const domain = String(args.domain ?? '').trim().toLowerCase();
|
|
1429
|
+
if (!domain)
|
|
1430
|
+
return toError('domain is required (e.g. example.com)');
|
|
1431
|
+
const body = {};
|
|
1432
|
+
for (const k of ['email_address', 'first_name', 'last_name', 'alternate_email', 'name', 'company', 'zip']) {
|
|
1433
|
+
const v = String(args[k] ?? '').trim();
|
|
1434
|
+
if (v)
|
|
1435
|
+
body[k] = v;
|
|
1436
|
+
}
|
|
1437
|
+
for (const k of ['email_address', 'first_name', 'last_name', 'alternate_email']) {
|
|
1438
|
+
if (!body[k])
|
|
1439
|
+
return toError(`${k} is required to create the Workspace admin`);
|
|
1440
|
+
}
|
|
1441
|
+
return toResult(await impreza.post(`/v1/email/google/${encodeURIComponent(domain)}/admin`, body));
|
|
1442
|
+
}
|
|
1443
|
+
// ── VPS snapshots + backup restore/delete ────────────────────────
|
|
1444
|
+
case 'impreza_vps_list_snapshots':
|
|
1445
|
+
case 'impreza_vps_list_backup_schedules': {
|
|
1446
|
+
const sid = Number(args.service_id ?? 0);
|
|
1447
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1448
|
+
return toError('service_id is required');
|
|
1449
|
+
const seg = name === 'impreza_vps_list_snapshots' ? 'snapshots' : 'backup-schedules';
|
|
1450
|
+
return toResult(await impreza.get(`/v1/vps/proxmox/${sid}/${seg}`));
|
|
1451
|
+
}
|
|
1452
|
+
case 'impreza_vps_create_snapshot': {
|
|
1453
|
+
const sid = Number(args.service_id ?? 0);
|
|
1454
|
+
const snap = String(args.name ?? '').trim();
|
|
1455
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1456
|
+
return toError('service_id is required');
|
|
1457
|
+
if (!snap)
|
|
1458
|
+
return toError('name is required — a short snapshot name like before-php84');
|
|
1459
|
+
if (!SNAPSHOT_NAME.test(snap))
|
|
1460
|
+
return toError(SNAPSHOT_NAME_ERROR);
|
|
1461
|
+
const body = { name: snap };
|
|
1462
|
+
const note = String(args.description ?? '').trim();
|
|
1463
|
+
if (note)
|
|
1464
|
+
body.description = note;
|
|
1465
|
+
return toResult(await impreza.post(`/v1/vps/proxmox/${sid}/snapshots`, body));
|
|
1466
|
+
}
|
|
1467
|
+
case 'impreza_vps_rollback_snapshot':
|
|
1468
|
+
case 'impreza_vps_delete_snapshot': {
|
|
1469
|
+
const sid = Number(args.service_id ?? 0);
|
|
1470
|
+
const snap = String(args.name ?? '').trim();
|
|
1471
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1472
|
+
return toError('service_id is required');
|
|
1473
|
+
if (!snap)
|
|
1474
|
+
return toError('name is required (get it from impreza_vps_list_snapshots)');
|
|
1475
|
+
// The name goes in the PATH: keep it to a safe charset so a crafted
|
|
1476
|
+
// value cannot walk the route. encodeURIComponent alone is not the
|
|
1477
|
+
// same guarantee — mirrors the whitelist on the hosted server.
|
|
1478
|
+
if (!SNAPSHOT_NAME.test(snap))
|
|
1479
|
+
return toError(SNAPSHOT_NAME_ERROR);
|
|
1480
|
+
const path = `/v1/vps/proxmox/${sid}/snapshots/${encodeURIComponent(snap)}`;
|
|
1481
|
+
return name === 'impreza_vps_rollback_snapshot'
|
|
1482
|
+
? toResult(await impreza.post(`${path}/rollback`, {}))
|
|
1483
|
+
: toResult(await impreza.del(path));
|
|
1484
|
+
}
|
|
1485
|
+
case 'impreza_vps_restore_backup':
|
|
1486
|
+
case 'impreza_vps_delete_backup': {
|
|
1487
|
+
const sid = Number(args.service_id ?? 0);
|
|
1488
|
+
const bid = Number(args.backup_id ?? 0);
|
|
1489
|
+
if (!Number.isInteger(sid) || sid < 1)
|
|
1490
|
+
return toError('service_id is required');
|
|
1491
|
+
if (!Number.isInteger(bid) || bid < 1)
|
|
1492
|
+
return toError('backup_id is required (get it from impreza_vps_list_backups)');
|
|
1493
|
+
const path = `/v1/vps/proxmox/${sid}/backups/${bid}`;
|
|
1494
|
+
return name === 'impreza_vps_restore_backup'
|
|
1495
|
+
? toResult(await impreza.post(`${path}/restore`, {}))
|
|
1496
|
+
: toResult(await impreza.del(path));
|
|
1497
|
+
}
|
|
1498
|
+
// ── Reverse DNS on Impreza Cloud ─────────────────────────────────
|
|
1499
|
+
// Ownership of the IP is checked server-side (ownsCloudIp).
|
|
1500
|
+
case 'impreza_cloud_rdns':
|
|
1501
|
+
case 'impreza_cloud_set_rdns':
|
|
1502
|
+
case 'impreza_cloud_delete_rdns': {
|
|
1503
|
+
const ip = String(args.ip ?? '').trim();
|
|
1504
|
+
if (!ip)
|
|
1505
|
+
return toError('ip is required — the cloud VPS IP address');
|
|
1506
|
+
if (!isIpAddress(ip))
|
|
1507
|
+
return toError('ip must be a valid IP address');
|
|
1508
|
+
const path = `/v1/vps/cloud/rdns/${encodeURIComponent(ip)}`;
|
|
1509
|
+
if (name === 'impreza_cloud_rdns')
|
|
1510
|
+
return toResult(await impreza.get(path));
|
|
1511
|
+
if (name === 'impreza_cloud_delete_rdns')
|
|
1512
|
+
return toResult(await impreza.del(path));
|
|
1513
|
+
const ptr = String(args.domain ?? '').trim();
|
|
1514
|
+
if (!ptr)
|
|
1515
|
+
return toError('domain is required — the PTR hostname to publish, e.g. mail.example.com');
|
|
1516
|
+
return toResult(await impreza.put(path, { domain: ptr }));
|
|
1517
|
+
}
|
|
846
1518
|
default:
|
|
847
1519
|
return toError(`unknown tool: ${name}`);
|
|
848
1520
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "impreza-mcp",
|
|
3
|
-
"mcpName": "io.github.imprezahost/impreza-mcp",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"description": "Model Context Protocol server for Impreza Host — privacy-first, no-KYC hosting an AI agent can run end-to-end: self-onboard its own anonymous account (no e-mail), fund it in Bitcoin/Monero, then deploy customer-built apps to managed Impreza VPSes and manage domains/DNS & VPS lifecycle, all without leaving the chat.",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"type": "module",
|
|
8
|
-
"bin": {
|
|
9
|
-
"impreza-mcp": "dist/server.js"
|
|
10
|
-
},
|
|
11
|
-
"files": [
|
|
12
|
-
"dist/",
|
|
13
|
-
"README.md",
|
|
14
|
-
"LICENSE"
|
|
15
|
-
],
|
|
16
|
-
"scripts": {
|
|
17
|
-
"build": "tsc -p tsconfig.json",
|
|
18
|
-
"watch": "tsc -p tsconfig.json --watch",
|
|
19
|
-
"lint": "eslint src",
|
|
20
|
-
"typecheck": "tsc --noEmit",
|
|
21
|
-
"test": "vitest run",
|
|
22
|
-
"prepare": "npm run build"
|
|
23
|
-
},
|
|
24
|
-
"engines": {
|
|
25
|
-
"node": ">=20.0.0"
|
|
26
|
-
},
|
|
27
|
-
"homepage": "https://github.com/imprezahost/impreza-mcp",
|
|
28
|
-
"repository": {
|
|
29
|
-
"type": "git",
|
|
30
|
-
"url": "git+https://github.com/imprezahost/impreza-mcp.git"
|
|
31
|
-
},
|
|
32
|
-
"keywords": [
|
|
33
|
-
"mcp",
|
|
34
|
-
"model-context-protocol",
|
|
35
|
-
"hosting",
|
|
36
|
-
"web-hosting",
|
|
37
|
-
"vps",
|
|
38
|
-
"cloud",
|
|
39
|
-
"deploy",
|
|
40
|
-
"docker",
|
|
41
|
-
"self-hosted",
|
|
42
|
-
"no-kyc",
|
|
43
|
-
"crypto",
|
|
44
|
-
"offshore",
|
|
45
|
-
"impreza",
|
|
46
|
-
"claude",
|
|
47
|
-
"cursor"
|
|
48
|
-
],
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
51
|
-
"tar": "^7.4.3",
|
|
52
|
-
"zod": "^3.23.8"
|
|
53
|
-
},
|
|
54
|
-
"devDependencies": {
|
|
55
|
-
"@types/node": "^22.10.0",
|
|
56
|
-
"@types/tar": "^6.1.13",
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "^8.18.0",
|
|
58
|
-
"@typescript-eslint/parser": "^8.18.0",
|
|
59
|
-
"eslint": "^9.16.0",
|
|
60
|
-
"typescript": "^5.7.0",
|
|
61
|
-
"vitest": "^2.1.0"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "impreza-mcp",
|
|
3
|
+
"mcpName": "io.github.imprezahost/impreza-mcp",
|
|
4
|
+
"version": "0.5.0",
|
|
5
|
+
"description": "Model Context Protocol server for Impreza Host — privacy-first, no-KYC hosting an AI agent can run end-to-end: self-onboard its own anonymous account (no e-mail), fund it in Bitcoin/Monero, then deploy customer-built apps to managed Impreza VPSes and manage domains/DNS & VPS lifecycle, all without leaving the chat.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"bin": {
|
|
9
|
+
"impreza-mcp": "dist/server.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist/",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.json",
|
|
18
|
+
"watch": "tsc -p tsconfig.json --watch",
|
|
19
|
+
"lint": "eslint src",
|
|
20
|
+
"typecheck": "tsc --noEmit",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"prepare": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20.0.0"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/imprezahost/impreza-mcp",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/imprezahost/impreza-mcp.git"
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"mcp",
|
|
34
|
+
"model-context-protocol",
|
|
35
|
+
"hosting",
|
|
36
|
+
"web-hosting",
|
|
37
|
+
"vps",
|
|
38
|
+
"cloud",
|
|
39
|
+
"deploy",
|
|
40
|
+
"docker",
|
|
41
|
+
"self-hosted",
|
|
42
|
+
"no-kyc",
|
|
43
|
+
"crypto",
|
|
44
|
+
"offshore",
|
|
45
|
+
"impreza",
|
|
46
|
+
"claude",
|
|
47
|
+
"cursor"
|
|
48
|
+
],
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
51
|
+
"tar": "^7.4.3",
|
|
52
|
+
"zod": "^3.23.8"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/node": "^22.10.0",
|
|
56
|
+
"@types/tar": "^6.1.13",
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^8.18.0",
|
|
58
|
+
"@typescript-eslint/parser": "^8.18.0",
|
|
59
|
+
"eslint": "^9.16.0",
|
|
60
|
+
"typescript": "^5.7.0",
|
|
61
|
+
"vitest": "^2.1.0"
|
|
62
|
+
}
|
|
63
|
+
}
|