impreza-mcp 0.4.5 → 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 CHANGED
@@ -14,10 +14,14 @@ back the URL.
14
14
 
15
15
  ## Status
16
16
 
17
- **Full surface live.** All 34 tools shipped — app deployment (14) plus
18
- account + crypto balance, catalog + ordering, domains/DNS, and VPS lifecycle
19
- (20) with a setup wizard that generates ready-to-paste config snippets for 5
20
- AI tools.
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
21
+ wizard that generates ready-to-paste config snippets for 5 AI tools.
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.
21
25
 
22
26
  | Tool | Wraps |
23
27
  |------|-------|
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',
@@ -586,6 +600,384 @@ const TOOLS = [
586
600
  additionalProperties: false,
587
601
  },
588
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
+ },
589
981
  ];
590
982
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
591
983
  server.setRequestHandler(CallToolRequestSchema, async (req) => {
@@ -906,6 +1298,223 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
906
1298
  confirm: true,
907
1299
  }));
908
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
+ }
909
1518
  default:
910
1519
  return toError(`unknown tool: ${name}`);
911
1520
  }
@@ -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,7 +1,7 @@
1
1
  {
2
2
  "name": "impreza-mcp",
3
3
  "mcpName": "io.github.imprezahost/impreza-mcp",
4
- "version": "0.4.5",
4
+ "version": "0.5.0",
5
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
6
  "license": "MIT",
7
7
  "type": "module",