@hostinger/mcp 3.3.1 → 3.4.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/CHANGELOG.md +13 -0
- package/README.md +1 -1
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +15 -1
- package/src/core/runtime.ts +15 -1
- package/src/core/tools/all.js +5 -1
- package/src/core/tools/all.ts +5 -1
- package/src/core/tools/hosting.js +5 -1
- package/src/core/tools/hosting.ts +5 -1
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.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 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,19 @@ Generated at release time from the diff between the previous and current
|
|
|
4
4
|
build. Tool changes are listed individually; everything else is summarised
|
|
5
5
|
by area.
|
|
6
6
|
|
|
7
|
+
## v3.4.0 — 2026-10-20
|
|
8
|
+
|
|
9
|
+
### Operations
|
|
10
|
+
|
|
11
|
+
- Changed the description and input schema of `hosting_deploy`
|
|
12
|
+
|
|
13
|
+
### Also in this release
|
|
14
|
+
|
|
15
|
+
- Documentation: `README.md`
|
|
16
|
+
- Dependencies: `package-lock.json`
|
|
17
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
18
|
+
- Build and packaging: `types.d.ts`
|
|
19
|
+
|
|
7
20
|
## v3.3.1 — 2026-10-19
|
|
8
21
|
|
|
9
22
|
### Also in this release
|
package/README.md
CHANGED
|
@@ -1816,7 +1816,7 @@ interface in the provided website URL.
|
|
|
1816
1816
|
|
|
1817
1817
|
#### hosting_deploy
|
|
1818
1818
|
|
|
1819
|
-
Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.
|
|
1819
|
+
Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. For a plugin or theme on a headless WordPress (installed in the cms folder), pass headless: true. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.
|
|
1820
1820
|
|
|
1821
1821
|
- **Method**: `custom`
|
|
1822
1822
|
- **Path**: `custom`
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
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": "3.
|
|
9
|
+
"version": "3.4.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.
|
|
14
|
+
"version": "3.4.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
|
@@ -643,6 +643,9 @@ class MCPServer {
|
|
|
643
643
|
if (resolved === 'wordpress-site' && !databaseDump) {
|
|
644
644
|
throw new Error('databaseDump (path to a .sql file) is required to import a WordPress site');
|
|
645
645
|
}
|
|
646
|
+
if (params.headless === true && resolved !== 'wordpress-plugin' && resolved !== 'wordpress-theme') {
|
|
647
|
+
throw new Error('headless is for wordpress-plugin and wordpress-theme deploys only, not ' + resolved);
|
|
648
|
+
}
|
|
646
649
|
return resolved;
|
|
647
650
|
}
|
|
648
651
|
|
|
@@ -823,6 +826,12 @@ class MCPServer {
|
|
|
823
826
|
if (params.slug !== undefined && !(typeof params.slug === 'string' && /^[a-z0-9_-]+$/.test(params.slug))) {
|
|
824
827
|
throw new Error('slug must contain only lower-case letters, digits, "-" and "_"');
|
|
825
828
|
}
|
|
829
|
+
if (params.headless !== undefined && typeof params.headless !== 'boolean') {
|
|
830
|
+
throw new Error('headless must be a boolean');
|
|
831
|
+
}
|
|
832
|
+
if (params.headless === true && git !== undefined) {
|
|
833
|
+
throw new Error('headless is for wordpress-plugin and wordpress-theme deploys only, which need a local directory, not git');
|
|
834
|
+
}
|
|
826
835
|
if (git !== undefined && (typeof git !== 'object' || git === null || typeof git.repository !== 'string' || typeof git.branch !== 'string' || git.branch === '')) {
|
|
827
836
|
throw new Error('git must be an object with repository (owner/name) and branch');
|
|
828
837
|
}
|
|
@@ -846,6 +855,9 @@ class MCPServer {
|
|
|
846
855
|
theme: '/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/themes/deploy',
|
|
847
856
|
};
|
|
848
857
|
|
|
858
|
+
// A headless WordPress is installed in this folder of the document root, not at the root itself.
|
|
859
|
+
hosting_deploy_headlessDirectory = 'cms';
|
|
860
|
+
|
|
849
861
|
async hosting_deploy_callWordpress(kind, params) {
|
|
850
862
|
return this.executeApiCall({ name: 'wordpress_' + kind, method: 'POST', path: this.hosting_deploy_wordpressEndpoints[kind] }, params);
|
|
851
863
|
}
|
|
@@ -915,6 +927,7 @@ class MCPServer {
|
|
|
915
927
|
|
|
916
928
|
async hosting_deploy_wordpressExtension(username, domain, type, params) {
|
|
917
929
|
const isPlugin = type === 'wordpress-plugin';
|
|
930
|
+
const headless = params.headless === true;
|
|
918
931
|
const directory = path.resolve(params.path);
|
|
919
932
|
const slug = params.slug !== undefined ? params.slug : this.hosting_deploy_slug(directory);
|
|
920
933
|
const { files, skipped } = this.hosting_deploy_listFiles(directory);
|
|
@@ -924,7 +937,7 @@ class MCPServer {
|
|
|
924
937
|
|
|
925
938
|
// The files land in a fresh directory; the deploy call then installs from it.
|
|
926
939
|
const uploadDirName = slug + '-' + this.hosting_deploy_randomSuffix();
|
|
927
|
-
const remoteRoot = (isPlugin ? 'wp-content/plugins/' : 'wp-content/themes/') + uploadDirName;
|
|
940
|
+
const remoteRoot = (headless ? this.hosting_deploy_headlessDirectory + '/' : '') + (isPlugin ? 'wp-content/plugins/' : 'wp-content/themes/') + uploadDirName;
|
|
928
941
|
await this.hosting_deploy_upload(username, domain, files.map((relativePath) => ({
|
|
929
942
|
absolutePath: path.join(directory, relativePath),
|
|
930
943
|
relativePath: remoteRoot + '/' + relativePath,
|
|
@@ -944,6 +957,7 @@ class MCPServer {
|
|
|
944
957
|
slug,
|
|
945
958
|
files: files.length,
|
|
946
959
|
...(isPlugin ? {} : { activated: params.activate === true }),
|
|
960
|
+
...(headless ? { headless: true } : {}),
|
|
947
961
|
}, skipped);
|
|
948
962
|
}
|
|
949
963
|
|
package/src/core/runtime.ts
CHANGED
|
@@ -680,6 +680,9 @@ class MCPServer {
|
|
|
680
680
|
if (resolved === 'wordpress-site' && !databaseDump) {
|
|
681
681
|
throw new Error('databaseDump (path to a .sql file) is required to import a WordPress site');
|
|
682
682
|
}
|
|
683
|
+
if (params.headless === true && resolved !== 'wordpress-plugin' && resolved !== 'wordpress-theme') {
|
|
684
|
+
throw new Error('headless is for wordpress-plugin and wordpress-theme deploys only, not ' + resolved);
|
|
685
|
+
}
|
|
683
686
|
return resolved;
|
|
684
687
|
}
|
|
685
688
|
|
|
@@ -860,6 +863,12 @@ class MCPServer {
|
|
|
860
863
|
if (params.slug !== undefined && !(typeof params.slug === 'string' && /^[a-z0-9_-]+$/.test(params.slug))) {
|
|
861
864
|
throw new Error('slug must contain only lower-case letters, digits, "-" and "_"');
|
|
862
865
|
}
|
|
866
|
+
if (params.headless !== undefined && typeof params.headless !== 'boolean') {
|
|
867
|
+
throw new Error('headless must be a boolean');
|
|
868
|
+
}
|
|
869
|
+
if (params.headless === true && git !== undefined) {
|
|
870
|
+
throw new Error('headless is for wordpress-plugin and wordpress-theme deploys only, which need a local directory, not git');
|
|
871
|
+
}
|
|
863
872
|
if (git !== undefined && (typeof git !== 'object' || git === null || typeof git.repository !== 'string' || typeof git.branch !== 'string' || git.branch === '')) {
|
|
864
873
|
throw new Error('git must be an object with repository (owner/name) and branch');
|
|
865
874
|
}
|
|
@@ -883,6 +892,9 @@ class MCPServer {
|
|
|
883
892
|
theme: '/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/themes/deploy',
|
|
884
893
|
};
|
|
885
894
|
|
|
895
|
+
// A headless WordPress is installed in this folder of the document root, not at the root itself.
|
|
896
|
+
private hosting_deploy_headlessDirectory = 'cms';
|
|
897
|
+
|
|
886
898
|
private async hosting_deploy_callWordpress(kind: string, params: Record<string, any>): Promise<any> {
|
|
887
899
|
return this.executeApiCall({ name: 'wordpress_' + kind, method: 'POST', path: this.hosting_deploy_wordpressEndpoints[kind] } as any, params);
|
|
888
900
|
}
|
|
@@ -952,6 +964,7 @@ class MCPServer {
|
|
|
952
964
|
|
|
953
965
|
private async hosting_deploy_wordpressExtension(username: string, domain: string, type: string, params: Record<string, any>): Promise<any> {
|
|
954
966
|
const isPlugin = type === 'wordpress-plugin';
|
|
967
|
+
const headless = params.headless === true;
|
|
955
968
|
const directory = path.resolve(params.path);
|
|
956
969
|
const slug = params.slug !== undefined ? params.slug : this.hosting_deploy_slug(directory);
|
|
957
970
|
const { files, skipped } = this.hosting_deploy_listFiles(directory);
|
|
@@ -961,7 +974,7 @@ class MCPServer {
|
|
|
961
974
|
|
|
962
975
|
// The files land in a fresh directory; the deploy call then installs from it.
|
|
963
976
|
const uploadDirName = slug + '-' + this.hosting_deploy_randomSuffix();
|
|
964
|
-
const remoteRoot = (isPlugin ? 'wp-content/plugins/' : 'wp-content/themes/') + uploadDirName;
|
|
977
|
+
const remoteRoot = (headless ? this.hosting_deploy_headlessDirectory + '/' : '') + (isPlugin ? 'wp-content/plugins/' : 'wp-content/themes/') + uploadDirName;
|
|
965
978
|
await this.hosting_deploy_upload(username, domain, files.map((relativePath) => ({
|
|
966
979
|
absolutePath: path.join(directory, relativePath),
|
|
967
980
|
relativePath: remoteRoot + '/' + relativePath,
|
|
@@ -981,6 +994,7 @@ class MCPServer {
|
|
|
981
994
|
slug,
|
|
982
995
|
files: files.length,
|
|
983
996
|
...(isPlugin ? {} : { activated: params.activate === true }),
|
|
997
|
+
...(headless ? { headless: true } : {}),
|
|
984
998
|
}, skipped);
|
|
985
999
|
}
|
|
986
1000
|
|
package/src/core/tools/all.js
CHANGED
|
@@ -9,7 +9,7 @@ export default [
|
|
|
9
9
|
"destructiveHint": true
|
|
10
10
|
},
|
|
11
11
|
"topic": "hosting",
|
|
12
|
-
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
12
|
+
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. For a plugin or theme on a headless WordPress (installed in the cms folder), pass headless: true. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
13
13
|
"method": "",
|
|
14
14
|
"path": "",
|
|
15
15
|
"inputSchema": {
|
|
@@ -64,6 +64,10 @@ export default [
|
|
|
64
64
|
"type": "boolean",
|
|
65
65
|
"description": "Activate the theme after deployment (WordPress themes only, default: false)"
|
|
66
66
|
},
|
|
67
|
+
"headless": {
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"description": "The site runs headless WordPress, installed in the cms folder of the document root: the plugin or theme is uploaded to cms/wp-content/plugins or cms/wp-content/themes and installed there (wordpress-plugin and wordpress-theme only, default: false)"
|
|
70
|
+
},
|
|
67
71
|
"databaseDump": {
|
|
68
72
|
"type": "string",
|
|
69
73
|
"description": "Path to a .sql dump; required for a WordPress site import"
|
package/src/core/tools/all.ts
CHANGED
|
@@ -25,7 +25,7 @@ const tools: OpenApiTool[] = [
|
|
|
25
25
|
"destructiveHint": true
|
|
26
26
|
},
|
|
27
27
|
"topic": "hosting",
|
|
28
|
-
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
28
|
+
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. For a plugin or theme on a headless WordPress (installed in the cms folder), pass headless: true. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
29
29
|
"method": "",
|
|
30
30
|
"path": "",
|
|
31
31
|
"inputSchema": {
|
|
@@ -80,6 +80,10 @@ const tools: OpenApiTool[] = [
|
|
|
80
80
|
"type": "boolean",
|
|
81
81
|
"description": "Activate the theme after deployment (WordPress themes only, default: false)"
|
|
82
82
|
},
|
|
83
|
+
"headless": {
|
|
84
|
+
"type": "boolean",
|
|
85
|
+
"description": "The site runs headless WordPress, installed in the cms folder of the document root: the plugin or theme is uploaded to cms/wp-content/plugins or cms/wp-content/themes and installed there (wordpress-plugin and wordpress-theme only, default: false)"
|
|
86
|
+
},
|
|
83
87
|
"databaseDump": {
|
|
84
88
|
"type": "string",
|
|
85
89
|
"description": "Path to a .sql dump; required for a WordPress site import"
|
|
@@ -9,7 +9,7 @@ export default [
|
|
|
9
9
|
"destructiveHint": true
|
|
10
10
|
},
|
|
11
11
|
"topic": "hosting",
|
|
12
|
-
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
12
|
+
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. For a plugin or theme on a headless WordPress (installed in the cms folder), pass headless: true. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
13
13
|
"method": "",
|
|
14
14
|
"path": "",
|
|
15
15
|
"inputSchema": {
|
|
@@ -64,6 +64,10 @@ export default [
|
|
|
64
64
|
"type": "boolean",
|
|
65
65
|
"description": "Activate the theme after deployment (WordPress themes only, default: false)"
|
|
66
66
|
},
|
|
67
|
+
"headless": {
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"description": "The site runs headless WordPress, installed in the cms folder of the document root: the plugin or theme is uploaded to cms/wp-content/plugins or cms/wp-content/themes and installed there (wordpress-plugin and wordpress-theme only, default: false)"
|
|
70
|
+
},
|
|
67
71
|
"databaseDump": {
|
|
68
72
|
"type": "string",
|
|
69
73
|
"description": "Path to a .sql dump; required for a WordPress site import"
|
|
@@ -25,7 +25,7 @@ const tools: OpenApiTool[] = [
|
|
|
25
25
|
"destructiveHint": true
|
|
26
26
|
},
|
|
27
27
|
"topic": "hosting",
|
|
28
|
-
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
28
|
+
"description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. For a plugin or theme on a headless WordPress (installed in the cms folder), pass headless: true. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
|
|
29
29
|
"method": "",
|
|
30
30
|
"path": "",
|
|
31
31
|
"inputSchema": {
|
|
@@ -80,6 +80,10 @@ const tools: OpenApiTool[] = [
|
|
|
80
80
|
"type": "boolean",
|
|
81
81
|
"description": "Activate the theme after deployment (WordPress themes only, default: false)"
|
|
82
82
|
},
|
|
83
|
+
"headless": {
|
|
84
|
+
"type": "boolean",
|
|
85
|
+
"description": "The site runs headless WordPress, installed in the cms folder of the document root: the plugin or theme is uploaded to cms/wp-content/plugins or cms/wp-content/themes and installed there (wordpress-plugin and wordpress-theme only, default: false)"
|
|
86
|
+
},
|
|
83
87
|
"databaseDump": {
|
|
84
88
|
"type": "string",
|
|
85
89
|
"description": "Path to a .sql dump; required for a WordPress site import"
|
|
@@ -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.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.4.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.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.4.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.
|
|
6
|
+
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.4.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.
|
|
6
|
+
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.4.0', tools });
|
package/src/servers/all.js
CHANGED
|
@@ -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
|
+
startServer({ name: 'hostinger-api-mcp', version: '3.4.0', tools, instructions, skills });
|
package/src/servers/all.ts
CHANGED
|
@@ -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
|
+
startServer({ name: 'hostinger-api-mcp', version: '3.4.0', tools, instructions, skills });
|
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
|
@@ -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.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '3.4.0', tools, instructions });
|
package/src/servers/hosting.ts
CHANGED
|
@@ -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.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '3.4.0', tools, instructions });
|
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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
export interface APITools {
|
|
7
7
|
/**
|
|
8
|
-
* Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.
|
|
8
|
+
* Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. For a plugin or theme on a headless WordPress (installed in the cms folder), pass headless: true. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.
|
|
9
9
|
*/
|
|
10
10
|
"hosting_deploy": {
|
|
11
11
|
params: {
|
|
@@ -33,6 +33,10 @@ export interface APITools {
|
|
|
33
33
|
* Activate the theme after deployment (WordPress themes only, default: false)
|
|
34
34
|
*/
|
|
35
35
|
activate?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The site runs headless WordPress, installed in the cms folder of the document root: the plugin or theme is uploaded to cms/wp-content/plugins or cms/wp-content/themes and installed there (wordpress-plugin and wordpress-theme only, default: false)
|
|
38
|
+
*/
|
|
39
|
+
headless?: boolean;
|
|
36
40
|
/**
|
|
37
41
|
* Path to a .sql dump; required for a WordPress site import
|
|
38
42
|
*/
|