hostinger-api-mcp 1.61.2 → 1.63.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 +24 -0
- package/README.md +60 -2
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/headless/SKILL.md +2 -1
- package/skills/headless/references/DATABASE.md +49 -0
- package/skills/headless/references/SETUP.md +1 -1
- package/src/core/instructions.js +2 -0
- package/src/core/instructions.ts +3 -0
- package/src/core/runtime.js +6 -4
- package/src/core/runtime.ts +7 -4
- package/src/core/tools/agency-hosting.js +141 -0
- package/src/core/tools/agency-hosting.ts +141 -0
- package/src/core/tools/all.js +141 -0
- package/src/core/tools/all.ts +141 -0
- package/src/servers/agency-hosting.js +2 -1
- package/src/servers/agency-hosting.ts +2 -1
- package/src/servers/all.js +2 -1
- package/src/servers/all.ts +2 -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 +2 -1
- package/src/servers/hosting.ts +2 -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 +98 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,30 @@ 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
|
+
## v1.63.0 — 2026-09-21
|
|
8
|
+
|
|
9
|
+
### Tools
|
|
10
|
+
|
|
11
|
+
- Added `agency-hosting_reinstallWebsiteSSLV1` — Reinstall website SSL
|
|
12
|
+
- Added `agency-hosting_installWebsiteSSLV1` — Install website SSL
|
|
13
|
+
- Added `agency-hosting_getWebsiteSSLStatusV1` — Get website SSL status
|
|
14
|
+
- Added `agency-hosting_uninstallWebsiteSSLV1` — Uninstall website SSL
|
|
15
|
+
|
|
16
|
+
### Also in this release
|
|
17
|
+
|
|
18
|
+
- Documentation: `README.md`
|
|
19
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
20
|
+
- Build and packaging: `types.d.ts`
|
|
21
|
+
|
|
22
|
+
## v1.62.0 — 2026-09-21
|
|
23
|
+
|
|
24
|
+
### Also in this release
|
|
25
|
+
|
|
26
|
+
- Bundled agent skills: `skills/headless/SKILL.md`, `skills/headless/references/SETUP.md`, `skills/headless/references/DATABASE.md`
|
|
27
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
28
|
+
- Server entry points: 6 files
|
|
29
|
+
- Server instructions: `src/core/instructions.js`, `src/core/instructions.ts`
|
|
30
|
+
|
|
7
31
|
## v1.61.2 — 2026-09-21
|
|
8
32
|
|
|
9
33
|
### Also in this release
|
package/README.md
CHANGED
|
@@ -69,8 +69,8 @@ pnpm update -g @hostinger/mcp
|
|
|
69
69
|
|
|
70
70
|
This package installs the following MCP server commands:
|
|
71
71
|
|
|
72
|
-
- `hostinger-api-mcp` — unified server with every tool (
|
|
73
|
-
- `hostinger-agency-hosting-mcp` —
|
|
72
|
+
- `hostinger-api-mcp` — unified server with every tool (400 total)
|
|
73
|
+
- `hostinger-agency-hosting-mcp` — 42 tools for agency-hosting
|
|
74
74
|
- `hostinger-billing-mcp` — 9 tools for billing
|
|
75
75
|
- `hostinger-dns-mcp` — 8 tools for dns
|
|
76
76
|
- `hostinger-domains-mcp` — 41 tools for domains
|
|
@@ -455,6 +455,64 @@ Poll this endpoint using the `setup_uuid` returned from the provisioning request
|
|
|
455
455
|
- **Method**: `GET`
|
|
456
456
|
- **Path**: `/api/agency-hosting/v1/orders/{order_id}/websites/setups/{setup_uuid}`
|
|
457
457
|
|
|
458
|
+
#### agency-hosting_reinstallWebsiteSSLV1
|
|
459
|
+
|
|
460
|
+
Replaces the Let's Encrypt certificate of the domain: the current platform certificate, when
|
|
461
|
+
one is recorded, is revoked and removed, then a new setup starts in the background. Returns at
|
|
462
|
+
once; `Get website SSL status` reports `installing` while it runs, then `active` or `failed`.
|
|
463
|
+
|
|
464
|
+
Returns 422 for free subdomains, when a certificate process is recorded for the domain (a
|
|
465
|
+
failed setup counts until it is cleaned up), or when the domain hit its limit of three setups
|
|
466
|
+
per seven days. Returns 429 when the same domain was requested less than a minute ago, and 403
|
|
467
|
+
when the website is suspended or locked, and 404 when the website or the domain does not exist.
|
|
468
|
+
|
|
469
|
+
- **Method**: `POST`
|
|
470
|
+
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/reinstall`
|
|
471
|
+
|
|
472
|
+
#### agency-hosting_installWebsiteSSLV1
|
|
473
|
+
|
|
474
|
+
Starts a Let's Encrypt certificate setup for the domain and returns at once; the setup runs in
|
|
475
|
+
the background. `Get website SSL status` reports `installing` while it runs, then `active` or
|
|
476
|
+
`failed`; the `ssl_setup` entry of `List website processes` shows the same progress.
|
|
477
|
+
|
|
478
|
+
Returns 422 when the domain already has a platform certificate that is not expired, when a
|
|
479
|
+
certificate process is recorded for the domain (a failed setup counts until it is cleaned up),
|
|
480
|
+
or when the domain hit its limit of three setups per seven days. Returns 429 when the same
|
|
481
|
+
domain was requested less than a minute ago, 403 when the website is suspended or locked, and
|
|
482
|
+
404 when the website or the domain does not exist.
|
|
483
|
+
|
|
484
|
+
- **Method**: `POST`
|
|
485
|
+
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/setup`
|
|
486
|
+
|
|
487
|
+
#### agency-hosting_getWebsiteSSLStatusV1
|
|
488
|
+
|
|
489
|
+
Returns the SSL state of one domain of an Agency Plan website: the certificate `status`,
|
|
490
|
+
whether the certificate was uploaded by the customer, and when it stops being valid.
|
|
491
|
+
|
|
492
|
+
`installing` means a certificate setup is running or retrying; the `ssl_setup` entry of
|
|
493
|
+
`List website processes` shows the same progress. `active` means a valid certificate is in
|
|
494
|
+
place: uploaded by the customer, issued by the platform, or a lifetime certificate bought for
|
|
495
|
+
the domain. `failed` means the last setup gave up and no valid certificate is in place.
|
|
496
|
+
`expired` means the certificate has run out. `not_installed` means the domain has no
|
|
497
|
+
certificate and no setup process. Returns 404 when the website or the domain does not exist.
|
|
498
|
+
|
|
499
|
+
- **Method**: `GET`
|
|
500
|
+
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/status`
|
|
501
|
+
|
|
502
|
+
#### agency-hosting_uninstallWebsiteSSLV1
|
|
503
|
+
|
|
504
|
+
Removes the platform-issued Let's Encrypt certificate of the domain: the certificate is revoked
|
|
505
|
+
and deleted before the response, so the domain is no longer served with a platform certificate
|
|
506
|
+
until a new setup completes. Also succeeds when the domain has no platform certificate to
|
|
507
|
+
remove. Uploaded (custom) certificates are not affected.
|
|
508
|
+
|
|
509
|
+
Returns 422 when a certificate process is recorded for the domain (a failed setup counts until
|
|
510
|
+
it is cleaned up), 429 when the same domain was requested less than a minute ago, and 403 when
|
|
511
|
+
the website is suspended or locked, and 404 when the website or the domain does not exist.
|
|
512
|
+
|
|
513
|
+
- **Method**: `DELETE`
|
|
514
|
+
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl`
|
|
515
|
+
|
|
458
516
|
#### agency-hosting_buildWebsiteNodeJSAssetsV1
|
|
459
517
|
|
|
460
518
|
Builds and deploys a Node.js application for an Agency Plan website from an already-uploaded archive.
|
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": "1.
|
|
9
|
+
"version": "1.63.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.63.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/skills/headless/SKILL.md
CHANGED
|
@@ -31,7 +31,7 @@ If signals conflict, ask the user — don't guess.
|
|
|
31
31
|
2. **Setup** (`references/SETUP.md`) — plan check, then provision the website on a free subdomain (or the user's own domain) and wait until it's ready.
|
|
32
32
|
3. **Store** (`references/STORE.md`, only when commerce is needed) — resolve or create the store and its `custom` sales channel, seed products/shipping/payment, and note the `sales_channel_id` for the frontend.
|
|
33
33
|
4. **Content backend** (`references/WORDPRESS.md`, only when owner-managed content is needed) — install WordPress on a dedicated subdomain, wait until it's ready, and hand the owner a wp-admin login link. The frontend reads it through the public WP REST API.
|
|
34
|
-
5. **Build** — create or wire the frontend. For store runs, follow the frontend contract in `references/STORE.md` (catalog fetched at runtime from the public Storefront API, cart in `localStorage`, client-side checkout — never embed an API token in the site). For content runs, follow the frontend contract in `references/WORDPRESS.md` (posts fetched at runtime from the WP REST API, rendered HTML bodies, graceful empty states).
|
|
34
|
+
5. **Build** — create or wire the frontend. For store runs, follow the frontend contract in `references/STORE.md` (catalog fetched at runtime from the public Storefront API, cart in `localStorage`, client-side checkout — never embed an API token in the site). For content runs, follow the frontend contract in `references/WORDPRESS.md` (posts fetched at runtime from the WP REST API, rendered HTML bodies, graceful empty states). When the app needs MySQL, follow `references/DATABASE.md` (which host each runtime connects to, credentials via env vars or a server-side config file, never in the frontend).
|
|
35
35
|
6. **Deploy** (`references/DEPLOYMENT.md`) — archive and deploy via the matching hosting tool, polling build logs for Node.js runs.
|
|
36
36
|
7. **Verify** — curl the live URL for a 200 and a piece of real page copy; for store runs, confirm a checkout POST returns a redirect URL; for content runs, confirm the WP REST API returns 200 and the frontend renders posts. Show the user the live URL and where to manage things (hPanel: https://hpanel.hostinger.com, the store dashboard for commerce, wp-admin for content).
|
|
37
37
|
8. **Record** — write `.hostinger/site.json` into the project: `{ "domain", "username", "type": "static"|"nodejs", "sales_channel_id"?, "store_id"?, "cms_domain"? }`. This is what makes future runs resolve as `iterate`.
|
|
@@ -46,6 +46,7 @@ Run non-interactively wherever possible. The exceptions that must involve the us
|
|
|
46
46
|
| Store: seed the backend + the frontend API contract | `references/STORE.md` |
|
|
47
47
|
| WordPress: headless CMS/blog backend + the frontend read contract | `references/WORDPRESS.md` |
|
|
48
48
|
| Deploy: static vs Node.js, archive rules, logs, verify | `references/DEPLOYMENT.md` |
|
|
49
|
+
| Database + runtime: MySQL host per runtime, env vars, what to poll, runtime logs | `references/DATABASE.md` |
|
|
49
50
|
|
|
50
51
|
## Where the how comes from
|
|
51
52
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Database and runtime — MySQL hosts, env vars, and what to poll
|
|
2
|
+
|
|
3
|
+
Use this when the app needs MySQL, or when a deploy "succeeded" but the app cannot reach its database. Everything here uses the **hosting** MCP tools; Agency Plan differences are at the end.
|
|
4
|
+
|
|
5
|
+
## 1. Create the database
|
|
6
|
+
|
|
7
|
+
1. `hosting_createAccountDatabaseV1` on the site's `username` with a database name, a user and a password you generate — name and user are prefixed with the account username automatically.
|
|
8
|
+
2. Read the full, prefixed `name` and `user` back from `hosting_listAccountDatabasesV1`; every other database tool wants the full name.
|
|
9
|
+
3. Do not print the password to the user once it is stored, and never commit it.
|
|
10
|
+
|
|
11
|
+
## 2. Which host the app connects to
|
|
12
|
+
|
|
13
|
+
| Where the code runs | Host | Port | Why |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| PHP on the website | `localhost` or `127.0.0.1` | 3306 | `localhost` uses the MySQL socket; both are granted |
|
|
16
|
+
| Node.js on the website | `127.0.0.1` | 3306 | `localhost` may resolve to IPv6 `::1`, and not every database user has that grant |
|
|
17
|
+
| Outside Hostinger (a laptop, another server) | the `host` from `hosting_listAccountDatabasesV1` (`srvNNNN.hstgr.io`) | 3306 | needs `hosting_createDatabaseRemoteConnectionV1` for that client's IP first — never `%`, it opens the database to every address on the internet |
|
|
18
|
+
|
|
19
|
+
Do not put the remote `host` into the deployed app — it has no grant for connections that come from the server itself.
|
|
20
|
+
|
|
21
|
+
## 3. Hand credentials to the app
|
|
22
|
+
|
|
23
|
+
- **Node.js:** environment variables via `hosting_replaceNode_jsEnvironmentVariablesV1`. Conventional keys: `DB_HOST=127.0.0.1`, `DB_PORT=3306`, `DB_NAME`, `DB_USER`, `DB_PASSWORD`, plus `DATABASE_URL=mysql://USER:PASSWORD@127.0.0.1:3306/NAME` for ORMs that want one string — URL-encode `USER` and `PASSWORD` there (`encodeURIComponent`), or a password containing `@`, `:`, `/` or `#` breaks the URL. The call is a **full replace**: list the current keys with `hosting_listNode_jsEnvironmentVariablesV1` (values come back masked as `********` — never copy those), then send the complete set with real values. Saving restarts the process; frameworks that bake variables into the build (Next.js, `NEXT_PUBLIC_*`) need a new `hosting_startNode_jsBuildV1` afterwards.
|
|
24
|
+
- **PHP:** a config file on the server that the app reads (its own `config.php`, WordPress's `wp-config.php`). Ship it with the deploy, keep it out of git.
|
|
25
|
+
- **Never** in client-side JavaScript, in a committed `.env`, or in chat replies.
|
|
26
|
+
|
|
27
|
+
## 4. What is asynchronous, and what to poll
|
|
28
|
+
|
|
29
|
+
| You called | Poll this until | Typical wait |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| `hosting_createWebsiteV1` | `hosting_listWebsitesV1` lists the domain | up to a few minutes |
|
|
32
|
+
| `hosting_deployJsApplication` | `hosting_listJsDeployments` shows the build finished | minutes |
|
|
33
|
+
| `hosting_startNode_jsBuildV1` | `hosting_getNode_jsBuildDetailsV1` state is `completed` or `failed` | minutes |
|
|
34
|
+
| `hosting_installWordPressV1`, plugin/theme/core jobs | `hosting_listWordPressInstallationsV1` lists the install | 1–2 minutes |
|
|
35
|
+
| `hosting_repairDatabaseV1`, `hosting_deleteWebsiteV1` | nothing to poll — runs in the background | minutes |
|
|
36
|
+
| `agency-hosting_createANewWebsiteV1` | `agency-hosting_getWebsiteSetupStatusV1` with `setup_uuid` is `completed` | minutes |
|
|
37
|
+
|
|
38
|
+
Poll with backoff (a few seconds, then tens of seconds). A queued response is not a failure, and re-sending the write does not speed it up.
|
|
39
|
+
|
|
40
|
+
## 5. When the app is up but broken
|
|
41
|
+
|
|
42
|
+
- Build failed: `hosting_getNodeJSBuildLogsV1` for the raw log, `hosting_analyseFailedNode_jsBuildV1` for a diagnosis.
|
|
43
|
+
- Build passed, app errors: `hosting_getNode_jsRuntimeLogsV1` with a `period` such as `1h`; entries before `last_deployed_at` belong to the previous deploy.
|
|
44
|
+
- `Access denied for user 'x'@'::1'`: the app used `localhost` from Node.js — set `DB_HOST` to `127.0.0.1`.
|
|
45
|
+
- PHP limits (memory, upload size): `hosting_getPHPDetailsV1`, then `hosting_updatePHPOptionsV1`.
|
|
46
|
+
|
|
47
|
+
## Agency Plan websites (`agency-hosting_*`)
|
|
48
|
+
|
|
49
|
+
`agency-hosting_createWebsiteDatabaseV1` creates the database and its single user; the user is granted on `localhost`, so the PHP app connects to `localhost`. Deploys are synchronous there — `agency-hosting_deployPhpApplication` returns when the site is live. Other jobs (SSL, backups) show up in `agency-hosting_listWebsiteProcessesV1`.
|
|
@@ -30,5 +30,5 @@ If the domain already has a website (an `iterate` run, or the user pointed at an
|
|
|
30
30
|
|
|
31
31
|
## 4. Optional extras (only when the run needs them)
|
|
32
32
|
|
|
33
|
-
- **Database:** `
|
|
33
|
+
- **Database:** when the app needs MySQL, follow `DATABASE.md` — creating it, which host each runtime connects to (Node.js must use `127.0.0.1`), and handing the credentials to the app without hard-coding them.
|
|
34
34
|
- **DNS records:** the DNS tools (`DNS_updateDNSRecordsV1` etc.) for custom-domain records; take a snapshot (`DNS_getDNSSnapshotListV1` context) before destructive changes.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// Auto-generated server instructions
|
|
2
|
+
export default "Hostinger API notes for agents. Tool descriptions are authoritative for request shapes; read them before calling.\n\nDatabases (web hosting, hosting_* tools)\n- MySQL runs on the same server as the website. From the deployed app connect to host 127.0.0.1, port 3306. PHP may also use localhost (Unix socket). Node.js should use 127.0.0.1: localhost can resolve to IPv6 (::1) and not every database user has that grant.\n- The `host` from hosting_listAccountDatabasesV1 (srvNNNN.hstgr.io) is only for connections from outside Hostinger, after hosting_createDatabaseRemoteConnectionV1. Never use it from the app.\n- Agency Plan (agency-hosting_* tools) database users are created for localhost; the PHP app connects there.\n\nAsynchronous operations\n- A success response often means \"queued\", not \"done\". Poll the matching read tool with backoff (seconds, then minutes). Never re-send the write.\n- hosting_createWebsiteV1 -> poll hosting_listWebsitesV1 until the domain appears (a few minutes).\n- hosting_startNode_jsBuildV1 -> hosting_getNode_jsBuildDetailsV1; logs via hosting_getNodeJSBuildLogsV1; on failure hosting_analyseFailedNode_jsBuildV1.\n- hosting_installWordPressV1 and WordPress plugin/theme/core jobs -> poll hosting_listWordPressInstallationsV1.\n- agency-hosting_createANewWebsiteV1 -> poll agency-hosting_getWebsiteSetupStatusV1 with setup_uuid; other Agency Plan jobs -> agency-hosting_listWebsiteProcessesV1.\n- Website deletion, database repair and domain contact changes finish in the background.\n\nCredentials\n- Never write database passwords or API tokens into source code, client-side JavaScript or committed .env files.\n- Node.js apps read them from environment variables: set the full set with hosting_replaceNode_jsEnvironmentVariablesV1 (full replace; values are masked on read). Build-time variables (Next.js) need a new build afterwards.\n- PHP apps read them from a config file on the server, outside the repository.\n- Generate strong passwords and do not echo them back once stored.\n\nFor end-to-end site builds install the headless skill: npx skills add hostinger/api-mcp-server";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Auto-generated server instructions
|
|
2
|
+
const instructions: string = "Hostinger API notes for agents. Tool descriptions are authoritative for request shapes; read them before calling.\n\nDatabases (web hosting, hosting_* tools)\n- MySQL runs on the same server as the website. From the deployed app connect to host 127.0.0.1, port 3306. PHP may also use localhost (Unix socket). Node.js should use 127.0.0.1: localhost can resolve to IPv6 (::1) and not every database user has that grant.\n- The `host` from hosting_listAccountDatabasesV1 (srvNNNN.hstgr.io) is only for connections from outside Hostinger, after hosting_createDatabaseRemoteConnectionV1. Never use it from the app.\n- Agency Plan (agency-hosting_* tools) database users are created for localhost; the PHP app connects there.\n\nAsynchronous operations\n- A success response often means \"queued\", not \"done\". Poll the matching read tool with backoff (seconds, then minutes). Never re-send the write.\n- hosting_createWebsiteV1 -> poll hosting_listWebsitesV1 until the domain appears (a few minutes).\n- hosting_startNode_jsBuildV1 -> hosting_getNode_jsBuildDetailsV1; logs via hosting_getNodeJSBuildLogsV1; on failure hosting_analyseFailedNode_jsBuildV1.\n- hosting_installWordPressV1 and WordPress plugin/theme/core jobs -> poll hosting_listWordPressInstallationsV1.\n- agency-hosting_createANewWebsiteV1 -> poll agency-hosting_getWebsiteSetupStatusV1 with setup_uuid; other Agency Plan jobs -> agency-hosting_listWebsiteProcessesV1.\n- Website deletion, database repair and domain contact changes finish in the background.\n\nCredentials\n- Never write database passwords or API tokens into source code, client-side JavaScript or committed .env files.\n- Node.js apps read them from environment variables: set the full set with hosting_replaceNode_jsEnvironmentVariablesV1 (full replace; values are masked on read). Build-time variables (Next.js) need a new build afterwards.\n- PHP apps read them from a config file on the server, outside the repository.\n- Generate strong passwords and do not echo them back once stored.\n\nFor end-to-end site builds install the headless skill: npx skills add hostinger/api-mcp-server";
|
|
3
|
+
export default instructions;
|
package/src/core/runtime.js
CHANGED
|
@@ -44,14 +44,15 @@ const SECURITY_SCHEMES = {
|
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* MCP Server for Hostinger API
|
|
47
|
-
* Generated from OpenAPI spec version 1.
|
|
47
|
+
* Generated from OpenAPI spec version 1.54.0
|
|
48
48
|
*/
|
|
49
49
|
class MCPServer {
|
|
50
|
-
constructor({ name, version, tools }) {
|
|
50
|
+
constructor({ name, version, tools, instructions }) {
|
|
51
51
|
// Initialize class properties
|
|
52
52
|
this.name = name;
|
|
53
53
|
this.version = version;
|
|
54
54
|
this.toolList = tools;
|
|
55
|
+
this.instructions = instructions;
|
|
55
56
|
this.server = null;
|
|
56
57
|
this.tools = new Map();
|
|
57
58
|
this.debug = process.env.DEBUG === "true";
|
|
@@ -72,6 +73,7 @@ class MCPServer {
|
|
|
72
73
|
capabilities: {
|
|
73
74
|
tools: {}, // Enable tools capability
|
|
74
75
|
},
|
|
76
|
+
instructions: this.instructions,
|
|
75
77
|
}
|
|
76
78
|
);
|
|
77
79
|
|
|
@@ -2658,7 +2660,7 @@ class MCPServer {
|
|
|
2658
2660
|
}
|
|
2659
2661
|
}
|
|
2660
2662
|
|
|
2661
|
-
export async function startServer({ name, version, tools }) {
|
|
2663
|
+
export async function startServer({ name, version, tools, instructions }) {
|
|
2662
2664
|
const argv = minimist(process.argv.slice(2), {
|
|
2663
2665
|
string: ['host'],
|
|
2664
2666
|
boolean: ['stdio', 'http', 'help', 'version', 'login', 'logout'],
|
|
@@ -2716,7 +2718,7 @@ export async function startServer({ name, version, tools }) {
|
|
|
2716
2718
|
}
|
|
2717
2719
|
}
|
|
2718
2720
|
|
|
2719
|
-
const server = new MCPServer({ name, version, tools });
|
|
2721
|
+
const server = new MCPServer({ name, version, tools, instructions });
|
|
2720
2722
|
if (argv.http) {
|
|
2721
2723
|
await server.startHttp(argv.host, argv.port);
|
|
2722
2724
|
} else {
|
package/src/core/runtime.ts
CHANGED
|
@@ -70,7 +70,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
|
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* MCP Server for Hostinger API
|
|
73
|
-
* Generated from OpenAPI spec version 1.
|
|
73
|
+
* Generated from OpenAPI spec version 1.54.0
|
|
74
74
|
*/
|
|
75
75
|
class MCPServer {
|
|
76
76
|
private readonly name: string;
|
|
@@ -78,16 +78,18 @@ class MCPServer {
|
|
|
78
78
|
private readonly toolList: OpenApiTool[];
|
|
79
79
|
private server: Server;
|
|
80
80
|
private tools: Map<string, Tool> = new Map();
|
|
81
|
+
private instructions?: string;
|
|
81
82
|
private debug: boolean;
|
|
82
83
|
private baseUrl: string;
|
|
83
84
|
private headers: Record<string, string>;
|
|
84
85
|
private oauth: OAuthProvider;
|
|
85
86
|
|
|
86
|
-
constructor({ name, version, tools }: { name: string; version: string; tools: OpenApiTool[] }) {
|
|
87
|
+
constructor({ name, version, tools, instructions }: { name: string; version: string; tools: OpenApiTool[]; instructions?: string }) {
|
|
87
88
|
// Initialize class properties
|
|
88
89
|
this.name = name;
|
|
89
90
|
this.version = version;
|
|
90
91
|
this.toolList = tools;
|
|
92
|
+
this.instructions = instructions;
|
|
91
93
|
this.debug = process.env.DEBUG === "true";
|
|
92
94
|
this.baseUrl = process.env.API_BASE_URL || "https://developers.hostinger.com";
|
|
93
95
|
this.headers = this.parseHeaders(process.env.API_HEADERS || "");
|
|
@@ -106,6 +108,7 @@ class MCPServer {
|
|
|
106
108
|
capabilities: {
|
|
107
109
|
tools: {}, // Enable tools capability
|
|
108
110
|
},
|
|
111
|
+
instructions: this.instructions,
|
|
109
112
|
}
|
|
110
113
|
);
|
|
111
114
|
|
|
@@ -2713,7 +2716,7 @@ class MCPServer {
|
|
|
2713
2716
|
}
|
|
2714
2717
|
}
|
|
2715
2718
|
|
|
2716
|
-
export async function startServer({ name, version, tools }: { name: string; version: string; tools: OpenApiTool[] }): Promise<void> {
|
|
2719
|
+
export async function startServer({ name, version, tools, instructions }: { name: string; version: string; tools: OpenApiTool[]; instructions?: string }): Promise<void> {
|
|
2717
2720
|
const argv = minimist(process.argv.slice(2), {
|
|
2718
2721
|
string: ['host'],
|
|
2719
2722
|
boolean: ['stdio', 'http', 'help', 'version', 'login', 'logout'],
|
|
@@ -2771,7 +2774,7 @@ export async function startServer({ name, version, tools }: { name: string; vers
|
|
|
2771
2774
|
}
|
|
2772
2775
|
}
|
|
2773
2776
|
|
|
2774
|
-
const server = new MCPServer({ name, version, tools });
|
|
2777
|
+
const server = new MCPServer({ name, version, tools, instructions });
|
|
2775
2778
|
if (argv.http) {
|
|
2776
2779
|
await server.startHttp(argv.host, argv.port);
|
|
2777
2780
|
} else {
|
|
@@ -841,6 +841,147 @@ export default [
|
|
|
841
841
|
],
|
|
842
842
|
"group": "agency-hosting"
|
|
843
843
|
},
|
|
844
|
+
{
|
|
845
|
+
"name": "agency-hosting_reinstallWebsiteSSLV1",
|
|
846
|
+
"title": "Reinstall website SSL",
|
|
847
|
+
"annotations": {
|
|
848
|
+
"title": "Reinstall website SSL",
|
|
849
|
+
"readOnlyHint": false,
|
|
850
|
+
"destructiveHint": false
|
|
851
|
+
},
|
|
852
|
+
"description": "Replaces the Let's Encrypt certificate of the domain: the current platform certificate, when\none is recorded, is revoked and removed, then a new setup starts in the background. Returns at\nonce; `Get website SSL status` reports `installing` while it runs, then `active` or `failed`.\n\nReturns 422 for free subdomains, when a certificate process is recorded for the domain (a\nfailed setup counts until it is cleaned up), or when the domain hit its limit of three setups\nper seven days. Returns 429 when the same domain was requested less than a minute ago, and 403\nwhen the website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
853
|
+
"method": "POST",
|
|
854
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/reinstall",
|
|
855
|
+
"inputSchema": {
|
|
856
|
+
"type": "object",
|
|
857
|
+
"properties": {
|
|
858
|
+
"website_uid": {
|
|
859
|
+
"type": "string",
|
|
860
|
+
"description": "Agency Plan website UID"
|
|
861
|
+
},
|
|
862
|
+
"domain": {
|
|
863
|
+
"type": "string",
|
|
864
|
+
"description": "Domain name"
|
|
865
|
+
}
|
|
866
|
+
},
|
|
867
|
+
"required": [
|
|
868
|
+
"website_uid",
|
|
869
|
+
"domain"
|
|
870
|
+
]
|
|
871
|
+
},
|
|
872
|
+
"security": [
|
|
873
|
+
{
|
|
874
|
+
"apiToken": []
|
|
875
|
+
}
|
|
876
|
+
],
|
|
877
|
+
"group": "agency-hosting"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"name": "agency-hosting_installWebsiteSSLV1",
|
|
881
|
+
"title": "Install website SSL",
|
|
882
|
+
"annotations": {
|
|
883
|
+
"title": "Install website SSL",
|
|
884
|
+
"readOnlyHint": false,
|
|
885
|
+
"destructiveHint": false
|
|
886
|
+
},
|
|
887
|
+
"description": "Starts a Let's Encrypt certificate setup for the domain and returns at once; the setup runs in\nthe background. `Get website SSL status` reports `installing` while it runs, then `active` or\n`failed`; the `ssl_setup` entry of `List website processes` shows the same progress.\n\nReturns 422 when the domain already has a platform certificate that is not expired, when a\ncertificate process is recorded for the domain (a failed setup counts until it is cleaned up),\nor when the domain hit its limit of three setups per seven days. Returns 429 when the same\ndomain was requested less than a minute ago, 403 when the website is suspended or locked, and\n404 when the website or the domain does not exist.",
|
|
888
|
+
"method": "POST",
|
|
889
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/setup",
|
|
890
|
+
"inputSchema": {
|
|
891
|
+
"type": "object",
|
|
892
|
+
"properties": {
|
|
893
|
+
"website_uid": {
|
|
894
|
+
"type": "string",
|
|
895
|
+
"description": "Agency Plan website UID"
|
|
896
|
+
},
|
|
897
|
+
"domain": {
|
|
898
|
+
"type": "string",
|
|
899
|
+
"description": "Domain name"
|
|
900
|
+
}
|
|
901
|
+
},
|
|
902
|
+
"required": [
|
|
903
|
+
"website_uid",
|
|
904
|
+
"domain"
|
|
905
|
+
]
|
|
906
|
+
},
|
|
907
|
+
"security": [
|
|
908
|
+
{
|
|
909
|
+
"apiToken": []
|
|
910
|
+
}
|
|
911
|
+
],
|
|
912
|
+
"group": "agency-hosting"
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
"name": "agency-hosting_getWebsiteSSLStatusV1",
|
|
916
|
+
"title": "Get website SSL status",
|
|
917
|
+
"annotations": {
|
|
918
|
+
"title": "Get website SSL status",
|
|
919
|
+
"readOnlyHint": true,
|
|
920
|
+
"destructiveHint": false
|
|
921
|
+
},
|
|
922
|
+
"description": "Returns the SSL state of one domain of an Agency Plan website: the certificate `status`,\nwhether the certificate was uploaded by the customer, and when it stops being valid.\n\n`installing` means a certificate setup is running or retrying; the `ssl_setup` entry of\n`List website processes` shows the same progress. `active` means a valid certificate is in\nplace: uploaded by the customer, issued by the platform, or a lifetime certificate bought for\nthe domain. `failed` means the last setup gave up and no valid certificate is in place.\n`expired` means the certificate has run out. `not_installed` means the domain has no\ncertificate and no setup process. Returns 404 when the website or the domain does not exist.",
|
|
923
|
+
"method": "GET",
|
|
924
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/status",
|
|
925
|
+
"inputSchema": {
|
|
926
|
+
"type": "object",
|
|
927
|
+
"properties": {
|
|
928
|
+
"website_uid": {
|
|
929
|
+
"type": "string",
|
|
930
|
+
"description": "Agency Plan website UID"
|
|
931
|
+
},
|
|
932
|
+
"domain": {
|
|
933
|
+
"type": "string",
|
|
934
|
+
"description": "Domain name"
|
|
935
|
+
}
|
|
936
|
+
},
|
|
937
|
+
"required": [
|
|
938
|
+
"website_uid",
|
|
939
|
+
"domain"
|
|
940
|
+
]
|
|
941
|
+
},
|
|
942
|
+
"security": [
|
|
943
|
+
{
|
|
944
|
+
"apiToken": []
|
|
945
|
+
}
|
|
946
|
+
],
|
|
947
|
+
"group": "agency-hosting"
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
"name": "agency-hosting_uninstallWebsiteSSLV1",
|
|
951
|
+
"title": "Uninstall website SSL",
|
|
952
|
+
"annotations": {
|
|
953
|
+
"title": "Uninstall website SSL",
|
|
954
|
+
"readOnlyHint": false,
|
|
955
|
+
"destructiveHint": true,
|
|
956
|
+
"idempotentHint": true
|
|
957
|
+
},
|
|
958
|
+
"description": "Removes the platform-issued Let's Encrypt certificate of the domain: the certificate is revoked\nand deleted before the response, so the domain is no longer served with a platform certificate\nuntil a new setup completes. Also succeeds when the domain has no platform certificate to\nremove. Uploaded (custom) certificates are not affected.\n\nReturns 422 when a certificate process is recorded for the domain (a failed setup counts until\nit is cleaned up), 429 when the same domain was requested less than a minute ago, and 403 when\nthe website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
959
|
+
"method": "DELETE",
|
|
960
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl",
|
|
961
|
+
"inputSchema": {
|
|
962
|
+
"type": "object",
|
|
963
|
+
"properties": {
|
|
964
|
+
"website_uid": {
|
|
965
|
+
"type": "string",
|
|
966
|
+
"description": "Agency Plan website UID"
|
|
967
|
+
},
|
|
968
|
+
"domain": {
|
|
969
|
+
"type": "string",
|
|
970
|
+
"description": "Domain name"
|
|
971
|
+
}
|
|
972
|
+
},
|
|
973
|
+
"required": [
|
|
974
|
+
"website_uid",
|
|
975
|
+
"domain"
|
|
976
|
+
]
|
|
977
|
+
},
|
|
978
|
+
"security": [
|
|
979
|
+
{
|
|
980
|
+
"apiToken": []
|
|
981
|
+
}
|
|
982
|
+
],
|
|
983
|
+
"group": "agency-hosting"
|
|
984
|
+
},
|
|
844
985
|
{
|
|
845
986
|
"name": "agency-hosting_buildWebsiteNodeJSAssetsV1",
|
|
846
987
|
"title": "Build website NodeJS assets",
|
|
@@ -855,6 +855,147 @@ const tools: OpenApiTool[] = [
|
|
|
855
855
|
],
|
|
856
856
|
"group": "agency-hosting"
|
|
857
857
|
},
|
|
858
|
+
{
|
|
859
|
+
"name": "agency-hosting_reinstallWebsiteSSLV1",
|
|
860
|
+
"title": "Reinstall website SSL",
|
|
861
|
+
"annotations": {
|
|
862
|
+
"title": "Reinstall website SSL",
|
|
863
|
+
"readOnlyHint": false,
|
|
864
|
+
"destructiveHint": false
|
|
865
|
+
},
|
|
866
|
+
"description": "Replaces the Let's Encrypt certificate of the domain: the current platform certificate, when\none is recorded, is revoked and removed, then a new setup starts in the background. Returns at\nonce; `Get website SSL status` reports `installing` while it runs, then `active` or `failed`.\n\nReturns 422 for free subdomains, when a certificate process is recorded for the domain (a\nfailed setup counts until it is cleaned up), or when the domain hit its limit of three setups\nper seven days. Returns 429 when the same domain was requested less than a minute ago, and 403\nwhen the website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
867
|
+
"method": "POST",
|
|
868
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/reinstall",
|
|
869
|
+
"inputSchema": {
|
|
870
|
+
"type": "object",
|
|
871
|
+
"properties": {
|
|
872
|
+
"website_uid": {
|
|
873
|
+
"type": "string",
|
|
874
|
+
"description": "Agency Plan website UID"
|
|
875
|
+
},
|
|
876
|
+
"domain": {
|
|
877
|
+
"type": "string",
|
|
878
|
+
"description": "Domain name"
|
|
879
|
+
}
|
|
880
|
+
},
|
|
881
|
+
"required": [
|
|
882
|
+
"website_uid",
|
|
883
|
+
"domain"
|
|
884
|
+
]
|
|
885
|
+
},
|
|
886
|
+
"security": [
|
|
887
|
+
{
|
|
888
|
+
"apiToken": []
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"group": "agency-hosting"
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "agency-hosting_installWebsiteSSLV1",
|
|
895
|
+
"title": "Install website SSL",
|
|
896
|
+
"annotations": {
|
|
897
|
+
"title": "Install website SSL",
|
|
898
|
+
"readOnlyHint": false,
|
|
899
|
+
"destructiveHint": false
|
|
900
|
+
},
|
|
901
|
+
"description": "Starts a Let's Encrypt certificate setup for the domain and returns at once; the setup runs in\nthe background. `Get website SSL status` reports `installing` while it runs, then `active` or\n`failed`; the `ssl_setup` entry of `List website processes` shows the same progress.\n\nReturns 422 when the domain already has a platform certificate that is not expired, when a\ncertificate process is recorded for the domain (a failed setup counts until it is cleaned up),\nor when the domain hit its limit of three setups per seven days. Returns 429 when the same\ndomain was requested less than a minute ago, 403 when the website is suspended or locked, and\n404 when the website or the domain does not exist.",
|
|
902
|
+
"method": "POST",
|
|
903
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/setup",
|
|
904
|
+
"inputSchema": {
|
|
905
|
+
"type": "object",
|
|
906
|
+
"properties": {
|
|
907
|
+
"website_uid": {
|
|
908
|
+
"type": "string",
|
|
909
|
+
"description": "Agency Plan website UID"
|
|
910
|
+
},
|
|
911
|
+
"domain": {
|
|
912
|
+
"type": "string",
|
|
913
|
+
"description": "Domain name"
|
|
914
|
+
}
|
|
915
|
+
},
|
|
916
|
+
"required": [
|
|
917
|
+
"website_uid",
|
|
918
|
+
"domain"
|
|
919
|
+
]
|
|
920
|
+
},
|
|
921
|
+
"security": [
|
|
922
|
+
{
|
|
923
|
+
"apiToken": []
|
|
924
|
+
}
|
|
925
|
+
],
|
|
926
|
+
"group": "agency-hosting"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"name": "agency-hosting_getWebsiteSSLStatusV1",
|
|
930
|
+
"title": "Get website SSL status",
|
|
931
|
+
"annotations": {
|
|
932
|
+
"title": "Get website SSL status",
|
|
933
|
+
"readOnlyHint": true,
|
|
934
|
+
"destructiveHint": false
|
|
935
|
+
},
|
|
936
|
+
"description": "Returns the SSL state of one domain of an Agency Plan website: the certificate `status`,\nwhether the certificate was uploaded by the customer, and when it stops being valid.\n\n`installing` means a certificate setup is running or retrying; the `ssl_setup` entry of\n`List website processes` shows the same progress. `active` means a valid certificate is in\nplace: uploaded by the customer, issued by the platform, or a lifetime certificate bought for\nthe domain. `failed` means the last setup gave up and no valid certificate is in place.\n`expired` means the certificate has run out. `not_installed` means the domain has no\ncertificate and no setup process. Returns 404 when the website or the domain does not exist.",
|
|
937
|
+
"method": "GET",
|
|
938
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/status",
|
|
939
|
+
"inputSchema": {
|
|
940
|
+
"type": "object",
|
|
941
|
+
"properties": {
|
|
942
|
+
"website_uid": {
|
|
943
|
+
"type": "string",
|
|
944
|
+
"description": "Agency Plan website UID"
|
|
945
|
+
},
|
|
946
|
+
"domain": {
|
|
947
|
+
"type": "string",
|
|
948
|
+
"description": "Domain name"
|
|
949
|
+
}
|
|
950
|
+
},
|
|
951
|
+
"required": [
|
|
952
|
+
"website_uid",
|
|
953
|
+
"domain"
|
|
954
|
+
]
|
|
955
|
+
},
|
|
956
|
+
"security": [
|
|
957
|
+
{
|
|
958
|
+
"apiToken": []
|
|
959
|
+
}
|
|
960
|
+
],
|
|
961
|
+
"group": "agency-hosting"
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"name": "agency-hosting_uninstallWebsiteSSLV1",
|
|
965
|
+
"title": "Uninstall website SSL",
|
|
966
|
+
"annotations": {
|
|
967
|
+
"title": "Uninstall website SSL",
|
|
968
|
+
"readOnlyHint": false,
|
|
969
|
+
"destructiveHint": true,
|
|
970
|
+
"idempotentHint": true
|
|
971
|
+
},
|
|
972
|
+
"description": "Removes the platform-issued Let's Encrypt certificate of the domain: the certificate is revoked\nand deleted before the response, so the domain is no longer served with a platform certificate\nuntil a new setup completes. Also succeeds when the domain has no platform certificate to\nremove. Uploaded (custom) certificates are not affected.\n\nReturns 422 when a certificate process is recorded for the domain (a failed setup counts until\nit is cleaned up), 429 when the same domain was requested less than a minute ago, and 403 when\nthe website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
973
|
+
"method": "DELETE",
|
|
974
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl",
|
|
975
|
+
"inputSchema": {
|
|
976
|
+
"type": "object",
|
|
977
|
+
"properties": {
|
|
978
|
+
"website_uid": {
|
|
979
|
+
"type": "string",
|
|
980
|
+
"description": "Agency Plan website UID"
|
|
981
|
+
},
|
|
982
|
+
"domain": {
|
|
983
|
+
"type": "string",
|
|
984
|
+
"description": "Domain name"
|
|
985
|
+
}
|
|
986
|
+
},
|
|
987
|
+
"required": [
|
|
988
|
+
"website_uid",
|
|
989
|
+
"domain"
|
|
990
|
+
]
|
|
991
|
+
},
|
|
992
|
+
"security": [
|
|
993
|
+
{
|
|
994
|
+
"apiToken": []
|
|
995
|
+
}
|
|
996
|
+
],
|
|
997
|
+
"group": "agency-hosting"
|
|
998
|
+
},
|
|
858
999
|
{
|
|
859
1000
|
"name": "agency-hosting_buildWebsiteNodeJSAssetsV1",
|
|
860
1001
|
"title": "Build website NodeJS assets",
|
package/src/core/tools/all.js
CHANGED
|
@@ -1140,6 +1140,147 @@ export default [
|
|
|
1140
1140
|
],
|
|
1141
1141
|
"group": "agency-hosting"
|
|
1142
1142
|
},
|
|
1143
|
+
{
|
|
1144
|
+
"name": "agency-hosting_reinstallWebsiteSSLV1",
|
|
1145
|
+
"title": "Reinstall website SSL",
|
|
1146
|
+
"annotations": {
|
|
1147
|
+
"title": "Reinstall website SSL",
|
|
1148
|
+
"readOnlyHint": false,
|
|
1149
|
+
"destructiveHint": false
|
|
1150
|
+
},
|
|
1151
|
+
"description": "Replaces the Let's Encrypt certificate of the domain: the current platform certificate, when\none is recorded, is revoked and removed, then a new setup starts in the background. Returns at\nonce; `Get website SSL status` reports `installing` while it runs, then `active` or `failed`.\n\nReturns 422 for free subdomains, when a certificate process is recorded for the domain (a\nfailed setup counts until it is cleaned up), or when the domain hit its limit of three setups\nper seven days. Returns 429 when the same domain was requested less than a minute ago, and 403\nwhen the website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
1152
|
+
"method": "POST",
|
|
1153
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/reinstall",
|
|
1154
|
+
"inputSchema": {
|
|
1155
|
+
"type": "object",
|
|
1156
|
+
"properties": {
|
|
1157
|
+
"website_uid": {
|
|
1158
|
+
"type": "string",
|
|
1159
|
+
"description": "Agency Plan website UID"
|
|
1160
|
+
},
|
|
1161
|
+
"domain": {
|
|
1162
|
+
"type": "string",
|
|
1163
|
+
"description": "Domain name"
|
|
1164
|
+
}
|
|
1165
|
+
},
|
|
1166
|
+
"required": [
|
|
1167
|
+
"website_uid",
|
|
1168
|
+
"domain"
|
|
1169
|
+
]
|
|
1170
|
+
},
|
|
1171
|
+
"security": [
|
|
1172
|
+
{
|
|
1173
|
+
"apiToken": []
|
|
1174
|
+
}
|
|
1175
|
+
],
|
|
1176
|
+
"group": "agency-hosting"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"name": "agency-hosting_installWebsiteSSLV1",
|
|
1180
|
+
"title": "Install website SSL",
|
|
1181
|
+
"annotations": {
|
|
1182
|
+
"title": "Install website SSL",
|
|
1183
|
+
"readOnlyHint": false,
|
|
1184
|
+
"destructiveHint": false
|
|
1185
|
+
},
|
|
1186
|
+
"description": "Starts a Let's Encrypt certificate setup for the domain and returns at once; the setup runs in\nthe background. `Get website SSL status` reports `installing` while it runs, then `active` or\n`failed`; the `ssl_setup` entry of `List website processes` shows the same progress.\n\nReturns 422 when the domain already has a platform certificate that is not expired, when a\ncertificate process is recorded for the domain (a failed setup counts until it is cleaned up),\nor when the domain hit its limit of three setups per seven days. Returns 429 when the same\ndomain was requested less than a minute ago, 403 when the website is suspended or locked, and\n404 when the website or the domain does not exist.",
|
|
1187
|
+
"method": "POST",
|
|
1188
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/setup",
|
|
1189
|
+
"inputSchema": {
|
|
1190
|
+
"type": "object",
|
|
1191
|
+
"properties": {
|
|
1192
|
+
"website_uid": {
|
|
1193
|
+
"type": "string",
|
|
1194
|
+
"description": "Agency Plan website UID"
|
|
1195
|
+
},
|
|
1196
|
+
"domain": {
|
|
1197
|
+
"type": "string",
|
|
1198
|
+
"description": "Domain name"
|
|
1199
|
+
}
|
|
1200
|
+
},
|
|
1201
|
+
"required": [
|
|
1202
|
+
"website_uid",
|
|
1203
|
+
"domain"
|
|
1204
|
+
]
|
|
1205
|
+
},
|
|
1206
|
+
"security": [
|
|
1207
|
+
{
|
|
1208
|
+
"apiToken": []
|
|
1209
|
+
}
|
|
1210
|
+
],
|
|
1211
|
+
"group": "agency-hosting"
|
|
1212
|
+
},
|
|
1213
|
+
{
|
|
1214
|
+
"name": "agency-hosting_getWebsiteSSLStatusV1",
|
|
1215
|
+
"title": "Get website SSL status",
|
|
1216
|
+
"annotations": {
|
|
1217
|
+
"title": "Get website SSL status",
|
|
1218
|
+
"readOnlyHint": true,
|
|
1219
|
+
"destructiveHint": false
|
|
1220
|
+
},
|
|
1221
|
+
"description": "Returns the SSL state of one domain of an Agency Plan website: the certificate `status`,\nwhether the certificate was uploaded by the customer, and when it stops being valid.\n\n`installing` means a certificate setup is running or retrying; the `ssl_setup` entry of\n`List website processes` shows the same progress. `active` means a valid certificate is in\nplace: uploaded by the customer, issued by the platform, or a lifetime certificate bought for\nthe domain. `failed` means the last setup gave up and no valid certificate is in place.\n`expired` means the certificate has run out. `not_installed` means the domain has no\ncertificate and no setup process. Returns 404 when the website or the domain does not exist.",
|
|
1222
|
+
"method": "GET",
|
|
1223
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/status",
|
|
1224
|
+
"inputSchema": {
|
|
1225
|
+
"type": "object",
|
|
1226
|
+
"properties": {
|
|
1227
|
+
"website_uid": {
|
|
1228
|
+
"type": "string",
|
|
1229
|
+
"description": "Agency Plan website UID"
|
|
1230
|
+
},
|
|
1231
|
+
"domain": {
|
|
1232
|
+
"type": "string",
|
|
1233
|
+
"description": "Domain name"
|
|
1234
|
+
}
|
|
1235
|
+
},
|
|
1236
|
+
"required": [
|
|
1237
|
+
"website_uid",
|
|
1238
|
+
"domain"
|
|
1239
|
+
]
|
|
1240
|
+
},
|
|
1241
|
+
"security": [
|
|
1242
|
+
{
|
|
1243
|
+
"apiToken": []
|
|
1244
|
+
}
|
|
1245
|
+
],
|
|
1246
|
+
"group": "agency-hosting"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"name": "agency-hosting_uninstallWebsiteSSLV1",
|
|
1250
|
+
"title": "Uninstall website SSL",
|
|
1251
|
+
"annotations": {
|
|
1252
|
+
"title": "Uninstall website SSL",
|
|
1253
|
+
"readOnlyHint": false,
|
|
1254
|
+
"destructiveHint": true,
|
|
1255
|
+
"idempotentHint": true
|
|
1256
|
+
},
|
|
1257
|
+
"description": "Removes the platform-issued Let's Encrypt certificate of the domain: the certificate is revoked\nand deleted before the response, so the domain is no longer served with a platform certificate\nuntil a new setup completes. Also succeeds when the domain has no platform certificate to\nremove. Uploaded (custom) certificates are not affected.\n\nReturns 422 when a certificate process is recorded for the domain (a failed setup counts until\nit is cleaned up), 429 when the same domain was requested less than a minute ago, and 403 when\nthe website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
1258
|
+
"method": "DELETE",
|
|
1259
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl",
|
|
1260
|
+
"inputSchema": {
|
|
1261
|
+
"type": "object",
|
|
1262
|
+
"properties": {
|
|
1263
|
+
"website_uid": {
|
|
1264
|
+
"type": "string",
|
|
1265
|
+
"description": "Agency Plan website UID"
|
|
1266
|
+
},
|
|
1267
|
+
"domain": {
|
|
1268
|
+
"type": "string",
|
|
1269
|
+
"description": "Domain name"
|
|
1270
|
+
}
|
|
1271
|
+
},
|
|
1272
|
+
"required": [
|
|
1273
|
+
"website_uid",
|
|
1274
|
+
"domain"
|
|
1275
|
+
]
|
|
1276
|
+
},
|
|
1277
|
+
"security": [
|
|
1278
|
+
{
|
|
1279
|
+
"apiToken": []
|
|
1280
|
+
}
|
|
1281
|
+
],
|
|
1282
|
+
"group": "agency-hosting"
|
|
1283
|
+
},
|
|
1143
1284
|
{
|
|
1144
1285
|
"name": "agency-hosting_buildWebsiteNodeJSAssetsV1",
|
|
1145
1286
|
"title": "Build website NodeJS assets",
|
package/src/core/tools/all.ts
CHANGED
|
@@ -1154,6 +1154,147 @@ const tools: OpenApiTool[] = [
|
|
|
1154
1154
|
],
|
|
1155
1155
|
"group": "agency-hosting"
|
|
1156
1156
|
},
|
|
1157
|
+
{
|
|
1158
|
+
"name": "agency-hosting_reinstallWebsiteSSLV1",
|
|
1159
|
+
"title": "Reinstall website SSL",
|
|
1160
|
+
"annotations": {
|
|
1161
|
+
"title": "Reinstall website SSL",
|
|
1162
|
+
"readOnlyHint": false,
|
|
1163
|
+
"destructiveHint": false
|
|
1164
|
+
},
|
|
1165
|
+
"description": "Replaces the Let's Encrypt certificate of the domain: the current platform certificate, when\none is recorded, is revoked and removed, then a new setup starts in the background. Returns at\nonce; `Get website SSL status` reports `installing` while it runs, then `active` or `failed`.\n\nReturns 422 for free subdomains, when a certificate process is recorded for the domain (a\nfailed setup counts until it is cleaned up), or when the domain hit its limit of three setups\nper seven days. Returns 429 when the same domain was requested less than a minute ago, and 403\nwhen the website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
1166
|
+
"method": "POST",
|
|
1167
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/reinstall",
|
|
1168
|
+
"inputSchema": {
|
|
1169
|
+
"type": "object",
|
|
1170
|
+
"properties": {
|
|
1171
|
+
"website_uid": {
|
|
1172
|
+
"type": "string",
|
|
1173
|
+
"description": "Agency Plan website UID"
|
|
1174
|
+
},
|
|
1175
|
+
"domain": {
|
|
1176
|
+
"type": "string",
|
|
1177
|
+
"description": "Domain name"
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1180
|
+
"required": [
|
|
1181
|
+
"website_uid",
|
|
1182
|
+
"domain"
|
|
1183
|
+
]
|
|
1184
|
+
},
|
|
1185
|
+
"security": [
|
|
1186
|
+
{
|
|
1187
|
+
"apiToken": []
|
|
1188
|
+
}
|
|
1189
|
+
],
|
|
1190
|
+
"group": "agency-hosting"
|
|
1191
|
+
},
|
|
1192
|
+
{
|
|
1193
|
+
"name": "agency-hosting_installWebsiteSSLV1",
|
|
1194
|
+
"title": "Install website SSL",
|
|
1195
|
+
"annotations": {
|
|
1196
|
+
"title": "Install website SSL",
|
|
1197
|
+
"readOnlyHint": false,
|
|
1198
|
+
"destructiveHint": false
|
|
1199
|
+
},
|
|
1200
|
+
"description": "Starts a Let's Encrypt certificate setup for the domain and returns at once; the setup runs in\nthe background. `Get website SSL status` reports `installing` while it runs, then `active` or\n`failed`; the `ssl_setup` entry of `List website processes` shows the same progress.\n\nReturns 422 when the domain already has a platform certificate that is not expired, when a\ncertificate process is recorded for the domain (a failed setup counts until it is cleaned up),\nor when the domain hit its limit of three setups per seven days. Returns 429 when the same\ndomain was requested less than a minute ago, 403 when the website is suspended or locked, and\n404 when the website or the domain does not exist.",
|
|
1201
|
+
"method": "POST",
|
|
1202
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/setup",
|
|
1203
|
+
"inputSchema": {
|
|
1204
|
+
"type": "object",
|
|
1205
|
+
"properties": {
|
|
1206
|
+
"website_uid": {
|
|
1207
|
+
"type": "string",
|
|
1208
|
+
"description": "Agency Plan website UID"
|
|
1209
|
+
},
|
|
1210
|
+
"domain": {
|
|
1211
|
+
"type": "string",
|
|
1212
|
+
"description": "Domain name"
|
|
1213
|
+
}
|
|
1214
|
+
},
|
|
1215
|
+
"required": [
|
|
1216
|
+
"website_uid",
|
|
1217
|
+
"domain"
|
|
1218
|
+
]
|
|
1219
|
+
},
|
|
1220
|
+
"security": [
|
|
1221
|
+
{
|
|
1222
|
+
"apiToken": []
|
|
1223
|
+
}
|
|
1224
|
+
],
|
|
1225
|
+
"group": "agency-hosting"
|
|
1226
|
+
},
|
|
1227
|
+
{
|
|
1228
|
+
"name": "agency-hosting_getWebsiteSSLStatusV1",
|
|
1229
|
+
"title": "Get website SSL status",
|
|
1230
|
+
"annotations": {
|
|
1231
|
+
"title": "Get website SSL status",
|
|
1232
|
+
"readOnlyHint": true,
|
|
1233
|
+
"destructiveHint": false
|
|
1234
|
+
},
|
|
1235
|
+
"description": "Returns the SSL state of one domain of an Agency Plan website: the certificate `status`,\nwhether the certificate was uploaded by the customer, and when it stops being valid.\n\n`installing` means a certificate setup is running or retrying; the `ssl_setup` entry of\n`List website processes` shows the same progress. `active` means a valid certificate is in\nplace: uploaded by the customer, issued by the platform, or a lifetime certificate bought for\nthe domain. `failed` means the last setup gave up and no valid certificate is in place.\n`expired` means the certificate has run out. `not_installed` means the domain has no\ncertificate and no setup process. Returns 404 when the website or the domain does not exist.",
|
|
1236
|
+
"method": "GET",
|
|
1237
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl/status",
|
|
1238
|
+
"inputSchema": {
|
|
1239
|
+
"type": "object",
|
|
1240
|
+
"properties": {
|
|
1241
|
+
"website_uid": {
|
|
1242
|
+
"type": "string",
|
|
1243
|
+
"description": "Agency Plan website UID"
|
|
1244
|
+
},
|
|
1245
|
+
"domain": {
|
|
1246
|
+
"type": "string",
|
|
1247
|
+
"description": "Domain name"
|
|
1248
|
+
}
|
|
1249
|
+
},
|
|
1250
|
+
"required": [
|
|
1251
|
+
"website_uid",
|
|
1252
|
+
"domain"
|
|
1253
|
+
]
|
|
1254
|
+
},
|
|
1255
|
+
"security": [
|
|
1256
|
+
{
|
|
1257
|
+
"apiToken": []
|
|
1258
|
+
}
|
|
1259
|
+
],
|
|
1260
|
+
"group": "agency-hosting"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"name": "agency-hosting_uninstallWebsiteSSLV1",
|
|
1264
|
+
"title": "Uninstall website SSL",
|
|
1265
|
+
"annotations": {
|
|
1266
|
+
"title": "Uninstall website SSL",
|
|
1267
|
+
"readOnlyHint": false,
|
|
1268
|
+
"destructiveHint": true,
|
|
1269
|
+
"idempotentHint": true
|
|
1270
|
+
},
|
|
1271
|
+
"description": "Removes the platform-issued Let's Encrypt certificate of the domain: the certificate is revoked\nand deleted before the response, so the domain is no longer served with a platform certificate\nuntil a new setup completes. Also succeeds when the domain has no platform certificate to\nremove. Uploaded (custom) certificates are not affected.\n\nReturns 422 when a certificate process is recorded for the domain (a failed setup counts until\nit is cleaned up), 429 when the same domain was requested less than a minute ago, and 403 when\nthe website is suspended or locked, and 404 when the website or the domain does not exist.",
|
|
1272
|
+
"method": "DELETE",
|
|
1273
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}/ssl",
|
|
1274
|
+
"inputSchema": {
|
|
1275
|
+
"type": "object",
|
|
1276
|
+
"properties": {
|
|
1277
|
+
"website_uid": {
|
|
1278
|
+
"type": "string",
|
|
1279
|
+
"description": "Agency Plan website UID"
|
|
1280
|
+
},
|
|
1281
|
+
"domain": {
|
|
1282
|
+
"type": "string",
|
|
1283
|
+
"description": "Domain name"
|
|
1284
|
+
}
|
|
1285
|
+
},
|
|
1286
|
+
"required": [
|
|
1287
|
+
"website_uid",
|
|
1288
|
+
"domain"
|
|
1289
|
+
]
|
|
1290
|
+
},
|
|
1291
|
+
"security": [
|
|
1292
|
+
{
|
|
1293
|
+
"apiToken": []
|
|
1294
|
+
}
|
|
1295
|
+
],
|
|
1296
|
+
"group": "agency-hosting"
|
|
1297
|
+
},
|
|
1157
1298
|
{
|
|
1158
1299
|
"name": "agency-hosting_buildWebsiteNodeJSAssetsV1",
|
|
1159
1300
|
"title": "Build website NodeJS assets",
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
// Auto-generated entry for group: agency-hosting
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
|
+
import instructions from '../core/instructions.js';
|
|
5
6
|
|
|
6
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.63.0', tools, instructions });
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
// Auto-generated entry for group: agency-hosting
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
|
+
import instructions from '../core/instructions.js';
|
|
5
6
|
|
|
6
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.63.0', tools, instructions });
|
package/src/servers/all.js
CHANGED
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
// Auto-generated entry for group: all
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/all.js';
|
|
5
|
+
import instructions from '../core/instructions.js';
|
|
5
6
|
|
|
6
|
-
startServer({ name: 'hostinger-api-mcp', version: '1.
|
|
7
|
+
startServer({ name: 'hostinger-api-mcp', version: '1.63.0', tools, instructions });
|
package/src/servers/all.ts
CHANGED
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
// Auto-generated entry for group: all
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/all.js';
|
|
5
|
+
import instructions from '../core/instructions.js';
|
|
5
6
|
|
|
6
|
-
startServer({ name: 'hostinger-api-mcp', version: '1.
|
|
7
|
+
startServer({ name: 'hostinger-api-mcp', version: '1.63.0', tools, instructions });
|
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
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
// Auto-generated entry for group: hosting
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/hosting.js';
|
|
5
|
+
import instructions from '../core/instructions.js';
|
|
5
6
|
|
|
6
|
-
startServer({ name: 'hostinger-hosting-mcp', version: '1.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '1.63.0', tools, instructions });
|
package/src/servers/hosting.ts
CHANGED
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
// Auto-generated entry for group: hosting
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/hosting.js';
|
|
5
|
+
import instructions from '../core/instructions.js';
|
|
5
6
|
|
|
6
|
-
startServer({ name: 'hostinger-hosting-mcp', version: '1.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '1.63.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
|
@@ -612,6 +612,104 @@ Poll this endpoint using the `setup_uuid` returned from the provisioning request
|
|
|
612
612
|
response: any; // Response structure will depend on the API
|
|
613
613
|
};
|
|
614
614
|
|
|
615
|
+
/**
|
|
616
|
+
* Replaces the Let's Encrypt certificate of the domain: the current platform certificate, when
|
|
617
|
+
one is recorded, is revoked and removed, then a new setup starts in the background. Returns at
|
|
618
|
+
once; `Get website SSL status` reports `installing` while it runs, then `active` or `failed`.
|
|
619
|
+
|
|
620
|
+
Returns 422 for free subdomains, when a certificate process is recorded for the domain (a
|
|
621
|
+
failed setup counts until it is cleaned up), or when the domain hit its limit of three setups
|
|
622
|
+
per seven days. Returns 429 when the same domain was requested less than a minute ago, and 403
|
|
623
|
+
when the website is suspended or locked, and 404 when the website or the domain does not exist.
|
|
624
|
+
*/
|
|
625
|
+
"agency-hosting_reinstallWebsiteSSLV1": {
|
|
626
|
+
params: {
|
|
627
|
+
/**
|
|
628
|
+
* Agency Plan website UID
|
|
629
|
+
*/
|
|
630
|
+
website_uid: string;
|
|
631
|
+
/**
|
|
632
|
+
* Domain name
|
|
633
|
+
*/
|
|
634
|
+
domain: string;
|
|
635
|
+
};
|
|
636
|
+
response: any; // Response structure will depend on the API
|
|
637
|
+
};
|
|
638
|
+
|
|
639
|
+
/**
|
|
640
|
+
* Starts a Let's Encrypt certificate setup for the domain and returns at once; the setup runs in
|
|
641
|
+
the background. `Get website SSL status` reports `installing` while it runs, then `active` or
|
|
642
|
+
`failed`; the `ssl_setup` entry of `List website processes` shows the same progress.
|
|
643
|
+
|
|
644
|
+
Returns 422 when the domain already has a platform certificate that is not expired, when a
|
|
645
|
+
certificate process is recorded for the domain (a failed setup counts until it is cleaned up),
|
|
646
|
+
or when the domain hit its limit of three setups per seven days. Returns 429 when the same
|
|
647
|
+
domain was requested less than a minute ago, 403 when the website is suspended or locked, and
|
|
648
|
+
404 when the website or the domain does not exist.
|
|
649
|
+
*/
|
|
650
|
+
"agency-hosting_installWebsiteSSLV1": {
|
|
651
|
+
params: {
|
|
652
|
+
/**
|
|
653
|
+
* Agency Plan website UID
|
|
654
|
+
*/
|
|
655
|
+
website_uid: string;
|
|
656
|
+
/**
|
|
657
|
+
* Domain name
|
|
658
|
+
*/
|
|
659
|
+
domain: string;
|
|
660
|
+
};
|
|
661
|
+
response: any; // Response structure will depend on the API
|
|
662
|
+
};
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* Returns the SSL state of one domain of an Agency Plan website: the certificate `status`,
|
|
666
|
+
whether the certificate was uploaded by the customer, and when it stops being valid.
|
|
667
|
+
|
|
668
|
+
`installing` means a certificate setup is running or retrying; the `ssl_setup` entry of
|
|
669
|
+
`List website processes` shows the same progress. `active` means a valid certificate is in
|
|
670
|
+
place: uploaded by the customer, issued by the platform, or a lifetime certificate bought for
|
|
671
|
+
the domain. `failed` means the last setup gave up and no valid certificate is in place.
|
|
672
|
+
`expired` means the certificate has run out. `not_installed` means the domain has no
|
|
673
|
+
certificate and no setup process. Returns 404 when the website or the domain does not exist.
|
|
674
|
+
*/
|
|
675
|
+
"agency-hosting_getWebsiteSSLStatusV1": {
|
|
676
|
+
params: {
|
|
677
|
+
/**
|
|
678
|
+
* Agency Plan website UID
|
|
679
|
+
*/
|
|
680
|
+
website_uid: string;
|
|
681
|
+
/**
|
|
682
|
+
* Domain name
|
|
683
|
+
*/
|
|
684
|
+
domain: string;
|
|
685
|
+
};
|
|
686
|
+
response: any; // Response structure will depend on the API
|
|
687
|
+
};
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* Removes the platform-issued Let's Encrypt certificate of the domain: the certificate is revoked
|
|
691
|
+
and deleted before the response, so the domain is no longer served with a platform certificate
|
|
692
|
+
until a new setup completes. Also succeeds when the domain has no platform certificate to
|
|
693
|
+
remove. Uploaded (custom) certificates are not affected.
|
|
694
|
+
|
|
695
|
+
Returns 422 when a certificate process is recorded for the domain (a failed setup counts until
|
|
696
|
+
it is cleaned up), 429 when the same domain was requested less than a minute ago, and 403 when
|
|
697
|
+
the website is suspended or locked, and 404 when the website or the domain does not exist.
|
|
698
|
+
*/
|
|
699
|
+
"agency-hosting_uninstallWebsiteSSLV1": {
|
|
700
|
+
params: {
|
|
701
|
+
/**
|
|
702
|
+
* Agency Plan website UID
|
|
703
|
+
*/
|
|
704
|
+
website_uid: string;
|
|
705
|
+
/**
|
|
706
|
+
* Domain name
|
|
707
|
+
*/
|
|
708
|
+
domain: string;
|
|
709
|
+
};
|
|
710
|
+
response: any; // Response structure will depend on the API
|
|
711
|
+
};
|
|
712
|
+
|
|
615
713
|
/**
|
|
616
714
|
* Builds and deploys a Node.js application for an Agency Plan website from an already-uploaded archive.
|
|
617
715
|
|