hostinger-api-mcp 1.51.0 → 1.52.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/.github/workflows/build-release.yaml +16 -0
- package/README.md +7 -7
- package/gemini-extension.json +2 -2
- package/package.json +4 -3
- package/server.json +3 -3
- package/skills/headless/entry/bootstrap.mjs +1 -1
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +5 -5
- package/src/core/tools/all.ts +5 -5
- package/src/core/tools/vps.js +5 -5
- package/src/core/tools/vps.ts +5 -5
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +5 -5
|
@@ -64,6 +64,22 @@ jobs:
|
|
|
64
64
|
- name: Publish package
|
|
65
65
|
run: npm publish --provenance --access public
|
|
66
66
|
|
|
67
|
+
# The package was published unscoped before moving to @hostinger. Republish
|
|
68
|
+
# each release under the old name so existing installs keep updating.
|
|
69
|
+
# Both names point their npm trusted publisher at this workflow file, which
|
|
70
|
+
# is what the config keys on — the job/step it runs in is not part of it.
|
|
71
|
+
# The name below is substituted by the generator, and is left empty for an
|
|
72
|
+
# API that never had an unscoped package.
|
|
73
|
+
- name: Publish legacy unscoped alias
|
|
74
|
+
run: |
|
|
75
|
+
LEGACY='hostinger-api-mcp'
|
|
76
|
+
if [ -z "$LEGACY" ]; then
|
|
77
|
+
echo "No legacy npm name configured — nothing to alias."
|
|
78
|
+
exit 0
|
|
79
|
+
fi
|
|
80
|
+
jq --arg n "$LEGACY" '.name = $n' package.json > pkg.tmp && mv pkg.tmp package.json
|
|
81
|
+
npm publish --provenance --access public
|
|
82
|
+
|
|
67
83
|
release-github:
|
|
68
84
|
runs-on: ubuntu-latest
|
|
69
85
|
needs: [release]
|
package/README.md
CHANGED
|
@@ -41,13 +41,13 @@ To install the MCP server, run one of the following command, depending on your p
|
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
# Install globally from npm
|
|
44
|
-
npm install -g hostinger
|
|
44
|
+
npm install -g @hostinger/mcp
|
|
45
45
|
|
|
46
46
|
# Or with yarn
|
|
47
|
-
yarn global add hostinger
|
|
47
|
+
yarn global add @hostinger/mcp
|
|
48
48
|
|
|
49
49
|
# Or with pnpm
|
|
50
|
-
pnpm add -g hostinger
|
|
50
|
+
pnpm add -g @hostinger/mcp
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
## Update
|
|
@@ -56,13 +56,13 @@ To update the MCP server to the latest version, use one of the following command
|
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
58
|
# Update globally from npm
|
|
59
|
-
npm update -g hostinger
|
|
59
|
+
npm update -g @hostinger/mcp
|
|
60
60
|
|
|
61
61
|
# Or with yarn
|
|
62
|
-
yarn global upgrade hostinger
|
|
62
|
+
yarn global upgrade @hostinger/mcp
|
|
63
63
|
|
|
64
64
|
# Or with pnpm
|
|
65
|
-
pnpm update -g hostinger
|
|
65
|
+
pnpm update -g @hostinger/mcp
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
## Binaries
|
|
@@ -3380,7 +3380,7 @@ Replaces all firewall rules within a specified firewall group with the provided
|
|
|
3380
3380
|
in a single atomic operation, instead of creating or deleting rules one by one.
|
|
3381
3381
|
|
|
3382
3382
|
Any virtual machine using this firewall group will need to be synchronized after replacing rules;
|
|
3383
|
-
pass the "sync"
|
|
3383
|
+
pass the "sync" parameter to trigger synchronization immediately.
|
|
3384
3384
|
|
|
3385
3385
|
- **Method**: `PUT`
|
|
3386
3386
|
- **Path**: `/api/vps/v1/firewall/{firewallId}/rules`
|
package/gemini-extension.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hostinger-api-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.52.0",
|
|
4
4
|
"description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
|
|
5
5
|
"mcpServers": {
|
|
6
6
|
"hostinger": {
|
|
7
7
|
"command": "npx",
|
|
8
8
|
"args": [
|
|
9
9
|
"-y",
|
|
10
|
-
"hostinger
|
|
10
|
+
"@hostinger/mcp"
|
|
11
11
|
],
|
|
12
12
|
"env": {
|
|
13
13
|
"HOSTINGER_API_TOKEN": "${HOSTINGER_API_TOKEN}"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hostinger-api-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.52.0",
|
|
4
4
|
"mcpName": "io.github.hostinger/hostinger-api-mcp",
|
|
5
5
|
"description": "MCP server for Hostinger API",
|
|
6
6
|
"repository": {
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"hostinger-mail-mcp": "./src/servers/mail.js",
|
|
30
30
|
"hostinger-reach-mcp": "./src/servers/reach.js",
|
|
31
31
|
"hostinger-vps-mcp": "./src/servers/vps.js",
|
|
32
|
-
"hostinger-wordpress-mcp": "./src/servers/wordpress.js"
|
|
32
|
+
"hostinger-wordpress-mcp": "./src/servers/wordpress.js",
|
|
33
|
+
"mcp": "./src/servers/all.js"
|
|
33
34
|
},
|
|
34
35
|
"scripts": {
|
|
35
36
|
"start": "node src/servers/all.js",
|
|
@@ -55,4 +56,4 @@
|
|
|
55
56
|
"engines": {
|
|
56
57
|
"node": ">=20.0.0"
|
|
57
58
|
}
|
|
58
|
-
}
|
|
59
|
+
}
|
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/hostinger/api-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.52.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
|
-
"identifier": "hostinger
|
|
14
|
-
"version": "1.
|
|
13
|
+
"identifier": "@hostinger/mcp",
|
|
14
|
+
"version": "1.52.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
|
@@ -21,7 +21,7 @@ const fail = (event, extra = {}) => {
|
|
|
21
21
|
const isWin = process.platform === 'win32';
|
|
22
22
|
const bin = (name) => (isWin ? `${name}.cmd` : name);
|
|
23
23
|
// Run the MCP via npx — no global install, always the latest published version.
|
|
24
|
-
const MCP = [bin('npx'), '-y', 'hostinger
|
|
24
|
+
const MCP = [bin('npx'), '-y', '@hostinger/mcp@latest'];
|
|
25
25
|
|
|
26
26
|
function capture(cmd, args) {
|
|
27
27
|
const r = spawnSync(cmd, args, { encoding: 'utf8', shell: false });
|
package/src/core/runtime.js
CHANGED
package/src/core/runtime.ts
CHANGED
package/src/core/tools/all.js
CHANGED
|
@@ -12233,7 +12233,7 @@ export default [
|
|
|
12233
12233
|
"destructiveHint": true,
|
|
12234
12234
|
"idempotentHint": true
|
|
12235
12235
|
},
|
|
12236
|
-
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\"
|
|
12236
|
+
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\" parameter to trigger synchronization immediately.",
|
|
12237
12237
|
"method": "PUT",
|
|
12238
12238
|
"path": "/api/vps/v1/firewall/{firewallId}/rules",
|
|
12239
12239
|
"inputSchema": {
|
|
@@ -12243,10 +12243,6 @@ export default [
|
|
|
12243
12243
|
"type": "integer",
|
|
12244
12244
|
"description": "Firewall ID"
|
|
12245
12245
|
},
|
|
12246
|
-
"sync": {
|
|
12247
|
-
"type": "boolean",
|
|
12248
|
-
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
12249
|
-
},
|
|
12250
12246
|
"rules": {
|
|
12251
12247
|
"type": "array",
|
|
12252
12248
|
"description": "The complete set of firewall rules that atomically replaces all existing rules in the group",
|
|
@@ -12254,6 +12250,10 @@ export default [
|
|
|
12254
12250
|
"type": "string",
|
|
12255
12251
|
"description": "rules parameter"
|
|
12256
12252
|
}
|
|
12253
|
+
},
|
|
12254
|
+
"sync": {
|
|
12255
|
+
"type": "boolean",
|
|
12256
|
+
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
12257
12257
|
}
|
|
12258
12258
|
},
|
|
12259
12259
|
"required": [
|
package/src/core/tools/all.ts
CHANGED
|
@@ -12247,7 +12247,7 @@ const tools: OpenApiTool[] = [
|
|
|
12247
12247
|
"destructiveHint": true,
|
|
12248
12248
|
"idempotentHint": true
|
|
12249
12249
|
},
|
|
12250
|
-
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\"
|
|
12250
|
+
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\" parameter to trigger synchronization immediately.",
|
|
12251
12251
|
"method": "PUT",
|
|
12252
12252
|
"path": "/api/vps/v1/firewall/{firewallId}/rules",
|
|
12253
12253
|
"inputSchema": {
|
|
@@ -12257,10 +12257,6 @@ const tools: OpenApiTool[] = [
|
|
|
12257
12257
|
"type": "integer",
|
|
12258
12258
|
"description": "Firewall ID"
|
|
12259
12259
|
},
|
|
12260
|
-
"sync": {
|
|
12261
|
-
"type": "boolean",
|
|
12262
|
-
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
12263
|
-
},
|
|
12264
12260
|
"rules": {
|
|
12265
12261
|
"type": "array",
|
|
12266
12262
|
"description": "The complete set of firewall rules that atomically replaces all existing rules in the group",
|
|
@@ -12268,6 +12264,10 @@ const tools: OpenApiTool[] = [
|
|
|
12268
12264
|
"type": "string",
|
|
12269
12265
|
"description": "rules parameter"
|
|
12270
12266
|
}
|
|
12267
|
+
},
|
|
12268
|
+
"sync": {
|
|
12269
|
+
"type": "boolean",
|
|
12270
|
+
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
12271
12271
|
}
|
|
12272
12272
|
},
|
|
12273
12273
|
"required": [
|
package/src/core/tools/vps.js
CHANGED
|
@@ -687,7 +687,7 @@ export default [
|
|
|
687
687
|
"destructiveHint": true,
|
|
688
688
|
"idempotentHint": true
|
|
689
689
|
},
|
|
690
|
-
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\"
|
|
690
|
+
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\" parameter to trigger synchronization immediately.",
|
|
691
691
|
"method": "PUT",
|
|
692
692
|
"path": "/api/vps/v1/firewall/{firewallId}/rules",
|
|
693
693
|
"inputSchema": {
|
|
@@ -697,10 +697,6 @@ export default [
|
|
|
697
697
|
"type": "integer",
|
|
698
698
|
"description": "Firewall ID"
|
|
699
699
|
},
|
|
700
|
-
"sync": {
|
|
701
|
-
"type": "boolean",
|
|
702
|
-
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
703
|
-
},
|
|
704
700
|
"rules": {
|
|
705
701
|
"type": "array",
|
|
706
702
|
"description": "The complete set of firewall rules that atomically replaces all existing rules in the group",
|
|
@@ -708,6 +704,10 @@ export default [
|
|
|
708
704
|
"type": "string",
|
|
709
705
|
"description": "rules parameter"
|
|
710
706
|
}
|
|
707
|
+
},
|
|
708
|
+
"sync": {
|
|
709
|
+
"type": "boolean",
|
|
710
|
+
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
711
711
|
}
|
|
712
712
|
},
|
|
713
713
|
"required": [
|
package/src/core/tools/vps.ts
CHANGED
|
@@ -701,7 +701,7 @@ const tools: OpenApiTool[] = [
|
|
|
701
701
|
"destructiveHint": true,
|
|
702
702
|
"idempotentHint": true
|
|
703
703
|
},
|
|
704
|
-
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\"
|
|
704
|
+
"description": "Replaces all firewall rules within a specified firewall group with the provided set of rules\nin a single atomic operation, instead of creating or deleting rules one by one.\n\nAny virtual machine using this firewall group will need to be synchronized after replacing rules;\npass the \"sync\" parameter to trigger synchronization immediately.",
|
|
705
705
|
"method": "PUT",
|
|
706
706
|
"path": "/api/vps/v1/firewall/{firewallId}/rules",
|
|
707
707
|
"inputSchema": {
|
|
@@ -711,10 +711,6 @@ const tools: OpenApiTool[] = [
|
|
|
711
711
|
"type": "integer",
|
|
712
712
|
"description": "Firewall ID"
|
|
713
713
|
},
|
|
714
|
-
"sync": {
|
|
715
|
-
"type": "boolean",
|
|
716
|
-
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
717
|
-
},
|
|
718
714
|
"rules": {
|
|
719
715
|
"type": "array",
|
|
720
716
|
"description": "The complete set of firewall rules that atomically replaces all existing rules in the group",
|
|
@@ -722,6 +718,10 @@ const tools: OpenApiTool[] = [
|
|
|
722
718
|
"type": "string",
|
|
723
719
|
"description": "rules parameter"
|
|
724
720
|
}
|
|
721
|
+
},
|
|
722
|
+
"sync": {
|
|
723
|
+
"type": "boolean",
|
|
724
|
+
"description": "Synchronize the firewall group to all its virtual machines after replacing the rules"
|
|
725
725
|
}
|
|
726
726
|
},
|
|
727
727
|
"required": [
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.
|
|
6
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.52.0', tools });
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.
|
|
6
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.52.0', tools });
|
package/src/servers/all.js
CHANGED
package/src/servers/all.ts
CHANGED
package/src/servers/billing.js
CHANGED
package/src/servers/billing.ts
CHANGED
package/src/servers/dns.js
CHANGED
package/src/servers/dns.ts
CHANGED
package/src/servers/domains.js
CHANGED
package/src/servers/domains.ts
CHANGED
package/src/servers/ecommerce.js
CHANGED
package/src/servers/ecommerce.ts
CHANGED
package/src/servers/horizons.js
CHANGED
package/src/servers/horizons.ts
CHANGED
package/src/servers/hosting.js
CHANGED
package/src/servers/hosting.ts
CHANGED
package/src/servers/mail.js
CHANGED
package/src/servers/mail.ts
CHANGED
package/src/servers/reach.js
CHANGED
package/src/servers/reach.ts
CHANGED
package/src/servers/vps.js
CHANGED
package/src/servers/vps.ts
CHANGED
package/src/servers/wordpress.js
CHANGED
package/src/servers/wordpress.ts
CHANGED
package/types.d.ts
CHANGED
|
@@ -6911,7 +6911,7 @@ Use this endpoint to remove specific firewall rules.
|
|
|
6911
6911
|
in a single atomic operation, instead of creating or deleting rules one by one.
|
|
6912
6912
|
|
|
6913
6913
|
Any virtual machine using this firewall group will need to be synchronized after replacing rules;
|
|
6914
|
-
pass the "sync"
|
|
6914
|
+
pass the "sync" parameter to trigger synchronization immediately.
|
|
6915
6915
|
*/
|
|
6916
6916
|
"VPS_replaceAllFirewallRulesInGroupV1": {
|
|
6917
6917
|
params: {
|
|
@@ -6919,14 +6919,14 @@ pass the "sync" query parameter to trigger synchronization immediately.
|
|
|
6919
6919
|
* Firewall ID
|
|
6920
6920
|
*/
|
|
6921
6921
|
firewallId: number;
|
|
6922
|
-
/**
|
|
6923
|
-
* Synchronize the firewall group to all its virtual machines after replacing the rules
|
|
6924
|
-
*/
|
|
6925
|
-
sync?: boolean;
|
|
6926
6922
|
/**
|
|
6927
6923
|
* The complete set of firewall rules that atomically replaces all existing rules in the group
|
|
6928
6924
|
*/
|
|
6929
6925
|
rules: array;
|
|
6926
|
+
/**
|
|
6927
|
+
* Synchronize the firewall group to all its virtual machines after replacing the rules
|
|
6928
|
+
*/
|
|
6929
|
+
sync?: boolean;
|
|
6930
6930
|
};
|
|
6931
6931
|
response: any; // Response structure will depend on the API
|
|
6932
6932
|
};
|