hostinger-api-mcp 3.8.1 → 3.10.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +4 -3
  3. package/gemini-extension.json +1 -1
  4. package/package.json +1 -1
  5. package/server.json +2 -2
  6. package/skills/headless/SKILL.md +3 -0
  7. package/skills/headless/steps/01-check-state/SKILL.md +9 -1
  8. package/skills/headless/steps/09-done/SKILL.md +4 -5
  9. package/src/core/runtime.js +1 -1
  10. package/src/core/runtime.ts +1 -1
  11. package/src/core/skills.js +9 -9
  12. package/src/core/skills.ts +9 -9
  13. package/src/core/tools/all.js +88 -1
  14. package/src/core/tools/all.ts +88 -1
  15. package/src/core/tools/reach.js +88 -1
  16. package/src/core/tools/reach.ts +88 -1
  17. package/src/servers/agency-hosting.js +1 -1
  18. package/src/servers/agency-hosting.ts +1 -1
  19. package/src/servers/agent-readiness.js +1 -1
  20. package/src/servers/agent-readiness.ts +1 -1
  21. package/src/servers/all.js +1 -1
  22. package/src/servers/all.ts +1 -1
  23. package/src/servers/billing.js +1 -1
  24. package/src/servers/billing.ts +1 -1
  25. package/src/servers/dns.js +1 -1
  26. package/src/servers/dns.ts +1 -1
  27. package/src/servers/domains.js +1 -1
  28. package/src/servers/domains.ts +1 -1
  29. package/src/servers/ecommerce.js +1 -1
  30. package/src/servers/ecommerce.ts +1 -1
  31. package/src/servers/horizons.js +1 -1
  32. package/src/servers/horizons.ts +1 -1
  33. package/src/servers/hosting.js +1 -1
  34. package/src/servers/hosting.ts +1 -1
  35. package/src/servers/mail.js +1 -1
  36. package/src/servers/mail.ts +1 -1
  37. package/src/servers/reach.js +1 -1
  38. package/src/servers/reach.ts +1 -1
  39. package/src/servers/vps.js +1 -1
  40. package/src/servers/vps.ts +1 -1
  41. package/src/servers/wordpress.js +1 -1
  42. package/src/servers/wordpress.ts +1 -1
  43. package/types.d.ts +16 -3
@@ -663,6 +663,35 @@ const tools: OpenApiTool[] = [
663
663
  "type": "string",
664
664
  "description": "tag_uuids parameter"
665
665
  }
666
+ },
667
+ "fields": {
668
+ "type": "array",
669
+ "description": "Custom field values to set on the contact. When a contact with this email already exists,\nonly fields that have no value yet are filled. Unknown field UUIDs and values that do not\nmatch the field type are skipped.",
670
+ "items": {
671
+ "type": "object",
672
+ "description": "fields parameter",
673
+ "properties": {
674
+ "uuid": {
675
+ "type": "string",
676
+ "description": "uuid parameter"
677
+ },
678
+ "value": {
679
+ "type": "string",
680
+ "description": "For the scalar field types"
681
+ },
682
+ "selected_option_uuids": {
683
+ "type": "array",
684
+ "description": "For the choice field types",
685
+ "items": {
686
+ "type": "string",
687
+ "description": "selected_option_uuids parameter"
688
+ }
689
+ }
690
+ },
691
+ "required": [
692
+ "uuid"
693
+ ]
694
+ }
666
695
  }
667
696
  },
668
697
  "required": [
@@ -850,7 +879,7 @@ const tools: OpenApiTool[] = [
850
879
  "readOnlyHint": false,
851
880
  "destructiveHint": false
852
881
  },
853
- "description": "Create many contacts in a profile in a single call.\n\nThe contacts are imported in the background, so a success response means the import was\naccepted rather than finished. Contacts whose email already exists in the profile are\nleft as they are. If double opt-in is enabled, new contacts start off pending and are\nsent a confirmation email.",
882
+ "description": "Create many contacts in a profile in a single call.\n\nThe contacts are imported in the background, so a success response means the import was\naccepted rather than finished. Contacts whose email already exists in the profile keep\ntheir current values; only the ones that are still empty, custom fields included, are\nfilled in. If double opt-in is enabled, new contacts start off pending and are sent a\nconfirmation email.",
854
883
  "method": "POST",
855
884
  "path": "/api/reach/v1/profiles/{profileUuid}/contacts/bulk",
856
885
  "inputSchema": {
@@ -882,6 +911,35 @@ const tools: OpenApiTool[] = [
882
911
  "phone": {
883
912
  "type": "string",
884
913
  "description": "Phone number in E.164 format (leading \"+\" then 7-15 digits)"
914
+ },
915
+ "fields": {
916
+ "type": "array",
917
+ "description": "Custom field values to set on the contact. For a contact whose email already\nexists, only fields that have no value yet are filled. Unknown field UUIDs and\nvalues that do not match the field type are skipped.",
918
+ "items": {
919
+ "type": "object",
920
+ "description": "fields parameter",
921
+ "properties": {
922
+ "uuid": {
923
+ "type": "string",
924
+ "description": "uuid parameter"
925
+ },
926
+ "value": {
927
+ "type": "string",
928
+ "description": "For the scalar field types"
929
+ },
930
+ "selected_option_uuids": {
931
+ "type": "array",
932
+ "description": "For the choice field types",
933
+ "items": {
934
+ "type": "string",
935
+ "description": "selected_option_uuids parameter"
936
+ }
937
+ }
938
+ },
939
+ "required": [
940
+ "uuid"
941
+ ]
942
+ }
885
943
  }
886
944
  },
887
945
  "required": [
@@ -1015,6 +1073,35 @@ const tools: OpenApiTool[] = [
1015
1073
  "type": "string",
1016
1074
  "description": "tag_uuids parameter"
1017
1075
  }
1076
+ },
1077
+ "fields": {
1078
+ "type": "array",
1079
+ "description": "Custom field values to set on the contact. When a contact with this email already exists,\nonly fields that have no value yet are filled. Unknown field UUIDs and values that do not\nmatch the field type are skipped.",
1080
+ "items": {
1081
+ "type": "object",
1082
+ "description": "fields parameter",
1083
+ "properties": {
1084
+ "uuid": {
1085
+ "type": "string",
1086
+ "description": "uuid parameter"
1087
+ },
1088
+ "value": {
1089
+ "type": "string",
1090
+ "description": "For the scalar field types"
1091
+ },
1092
+ "selected_option_uuids": {
1093
+ "type": "array",
1094
+ "description": "For the choice field types",
1095
+ "items": {
1096
+ "type": "string",
1097
+ "description": "selected_option_uuids parameter"
1098
+ }
1099
+ }
1100
+ },
1101
+ "required": [
1102
+ "uuid"
1103
+ ]
1104
+ }
1018
1105
  }
1019
1106
  },
1020
1107
  "required": [
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
  import instructions from '../core/instructions.agency-hosting.js';
6
6
 
7
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.8.1', tools, instructions });
7
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.10.0', tools, instructions });
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
  import instructions from '../core/instructions.agency-hosting.js';
6
6
 
7
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.8.1', tools, instructions });
7
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.10.0', tools, instructions });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agent-readiness.js';
5
5
 
6
- startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agent-readiness.js';
5
5
 
6
- startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.10.0', tools });
@@ -5,4 +5,4 @@ import tools from '../core/tools/all.js';
5
5
  import instructions from '../core/instructions.js';
6
6
  import skills from '../core/skills.js';
7
7
 
8
- startServer({ name: 'hostinger-api-mcp', version: '3.8.1', tools, instructions, skills });
8
+ startServer({ name: 'hostinger-api-mcp', version: '3.10.0', tools, instructions, skills });
@@ -5,4 +5,4 @@ import tools from '../core/tools/all.js';
5
5
  import instructions from '../core/instructions.js';
6
6
  import skills from '../core/skills.js';
7
7
 
8
- startServer({ name: 'hostinger-api-mcp', version: '3.8.1', tools, instructions, skills });
8
+ startServer({ name: 'hostinger-api-mcp', version: '3.10.0', tools, instructions, skills });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '3.10.0', tools });
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
  import instructions from '../core/instructions.js';
6
6
 
7
- startServer({ name: 'hostinger-hosting-mcp', version: '3.8.1', tools, instructions });
7
+ startServer({ name: 'hostinger-hosting-mcp', version: '3.10.0', tools, instructions });
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
  import instructions from '../core/instructions.js';
6
6
 
7
- startServer({ name: 'hostinger-hosting-mcp', version: '3.8.1', tools, instructions });
7
+ startServer({ name: 'hostinger-hosting-mcp', version: '3.10.0', tools, instructions });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '3.10.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '3.8.1', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '3.10.0', tools });
package/types.d.ts CHANGED
@@ -7019,6 +7019,12 @@ the contact will be created with a pending status and a confirmation email will
7019
7019
  * Existing tags to attach to the created contact
7020
7020
  */
7021
7021
  tag_uuids?: array;
7022
+ /**
7023
+ * Custom field values to set on the contact. When a contact with this email already exists,
7024
+ only fields that have no value yet are filled. Unknown field UUIDs and values that do not
7025
+ match the field type are skipped.
7026
+ */
7027
+ fields?: array;
7022
7028
  };
7023
7029
  response: any; // Response structure will depend on the API
7024
7030
  };
@@ -7117,9 +7123,10 @@ values, source and note with `GET /api/reach/v1/profiles/{profileUuid}/contacts/
7117
7123
  * Create many contacts in a profile in a single call.
7118
7124
 
7119
7125
  The contacts are imported in the background, so a success response means the import was
7120
- accepted rather than finished. Contacts whose email already exists in the profile are
7121
- left as they are. If double opt-in is enabled, new contacts start off pending and are
7122
- sent a confirmation email.
7126
+ accepted rather than finished. Contacts whose email already exists in the profile keep
7127
+ their current values; only the ones that are still empty, custom fields included, are
7128
+ filled in. If double opt-in is enabled, new contacts start off pending and are sent a
7129
+ confirmation email.
7123
7130
  */
7124
7131
  "reach_contacts_create-in-bulk": {
7125
7132
  params: {
@@ -7218,6 +7225,12 @@ and a confirmation email will be sent.
7218
7225
  * Existing tags to attach to the created contact
7219
7226
  */
7220
7227
  tag_uuids?: array;
7228
+ /**
7229
+ * Custom field values to set on the contact. When a contact with this email already exists,
7230
+ only fields that have no value yet are filled. Unknown field UUIDs and values that do not
7231
+ match the field type are skipped.
7232
+ */
7233
+ fields?: array;
7221
7234
  };
7222
7235
  response: any; // Response structure will depend on the API
7223
7236
  };