Skip to content

Commit 368594c

Browse files
chore: mcp server update
1 parent 720bfef commit 368594c

37 files changed

Lines changed: 784 additions & 49 deletions

‎CHANGELOG.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@ Generated at release time from the diff between the previous and current
44
build. Tool changes are listed individually; everything else is summarised
55
by area.
66

7+
## v2.7.1 — 2026-10-05
8+
9+
### Operations
10+
11+
- Added `hosting_git_deploy-website-repository` — Deploy website Git repository
12+
- Added `hosting_git_list-website-repositories` — List website Git repositories
13+
- Added `hosting_git_ssh-public-key` — Get Git SSH public key
14+
- Added `hosting_git_generate-ssh-key` — Generate Git SSH key
15+
16+
### Also in this release
17+
18+
- Documentation: `README.md`
19+
- Dependencies: `package-lock.json`
20+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
21+
- Build and packaging: `types.d.ts`
22+
723
## v2.7.0 — 2026-10-01
824

925
### Also in this release

‎README.md‎

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,14 @@ pnpm update -g @hostinger/mcp
6969

7070
This package installs the following MCP server commands:
7171

72-
- `hostinger-api-mcp` — unified server over every operation (403 total)
72+
- `hostinger-api-mcp` — unified server over every operation (407 total)
7373
- `hostinger-agency-hosting-mcp` — 42 operations for agency-hosting
7474
- `hostinger-billing-mcp` — 9 operations for billing
7575
- `hostinger-dns-mcp` — 8 operations for dns
7676
- `hostinger-domains-mcp` — 42 operations for domains
7777
- `hostinger-ecommerce-mcp` — 29 operations for ecommerce
7878
- `hostinger-horizons-mcp` — 6 operations for horizons
79-
- `hostinger-hosting-mcp` — 75 operations for hosting
79+
- `hostinger-hosting-mcp` — 79 operations for hosting
8080
- `hostinger-mail-mcp` — 38 operations for mail
8181
- `hostinger-reach-mcp` — 52 operations for reach
8282
- `hostinger-vps-mcp` — 64 operations for vps
@@ -2227,6 +2227,54 @@ installation does not belong to the customer. Limited to 10 calls per minute per
22272227
- **Method**: `GET`
22282228
- **Path**: `/api/hosting/v1/git/installations/{uuid}/repositories`
22292229

2230+
#### hosting_git_deploy-website-repository
2231+
2232+
Clones a Git repository into a directory of the website, or pulls it again. An empty or missing
2233+
directory gets a clone of the branch. A directory that already holds this repository and branch is
2234+
reset to its last commit and pulled: changes made on the server to files the repository tracks are
2235+
discarded, files it does not track stay. A directory that holds other files, including another
2236+
repository or another branch of this one, is rejected. `composer install` runs after the clone or
2237+
pull when the repository has a `composer.json`.
2238+
2239+
The call waits for the deployment and returns its log. `is_success` false means Git or composer
2240+
failed and the log says why. A second call for the same directory is rejected while the first is
2241+
still waiting for the server. If the request times out, the deployment may still finish on the
2242+
server; calling again later with the same repository and branch pulls.
2243+
2244+
Private repositories need an SSH URL and the account's Git SSH key from `Generate Git SSH key`,
2245+
added to the repository as a deploy key.
2246+
2247+
- **Method**: `POST`
2248+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/repositories/deploy`
2249+
2250+
#### hosting_git_list-website-repositories
2251+
2252+
Lists the Git repositories linked to directories of the website, with
2253+
`Deploy website Git repository` or in the Git section of hPanel: clone URL, branch and directory of
2254+
each one. A repository whose clone failed stays listed; deploying it again retries the clone. GitHub
2255+
and GitLab auto-deployments are not listed here; see `Get Git auto-deployment settings`.
2256+
2257+
- **Method**: `GET`
2258+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/repositories`
2259+
2260+
#### hosting_git_ssh-public-key
2261+
2262+
Returns the public SSH key of the hosting account. `Deploy website Git repository` uses this key to
2263+
clone and pull over SSH, so a private repository works once the key is added to it as a deploy key
2264+
on the Git host. `public_key` is null when the account has no key yet.
2265+
2266+
- **Method**: `GET`
2267+
- **Path**: `/api/hosting/v1/accounts/{username}/git/ssh-key`
2268+
2269+
#### hosting_git_generate-ssh-key
2270+
2271+
Creates the SSH key pair of the hosting account and returns the public key. When the account already
2272+
has a key, returns that key unchanged. One key serves every website of the account; add the public
2273+
key to a private repository as a deploy key before deploying it.
2274+
2275+
- **Method**: `POST`
2276+
- **Path**: `/api/hosting/v1/accounts/{username}/git/ssh-key`
2277+
22302278
#### hosting_nodejs_list-builds
22312279

22322280
Retrieve a paginated list of Node.js build processes for a specific website.

‎gemini-extension.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hostinger-api-mcp",
3-
"version": "2.7.0",
3+
"version": "2.7.1",
44
"description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
55
"mcpServers": {
66
"hostinger": {

‎package-lock.json‎

Lines changed: 17 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hostinger/mcp",
3-
"version": "2.7.0",
3+
"version": "2.7.1",
44
"mcpName": "io.github.hostinger/hostinger-api-mcp",
55
"description": "MCP server for Hostinger API",
66
"repository": {

‎server.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
"url": "https://github.com/hostinger/api-mcp-server",
77
"source": "github"
88
},
9-
"version": "2.7.0",
9+
"version": "2.7.1",
1010
"packages": [
1111
{
1212
"registryType": "npm",
1313
"identifier": "@hostinger/mcp",
14-
"version": "2.7.0",
14+
"version": "2.7.1",
1515
"transport": {
1616
"type": "stdio"
1717
},

‎src/core/runtime.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ const GetSkillRequestSchema = z.object({
6464

6565
/**
6666
* MCP Server for Hostinger API
67-
* Generated from OpenAPI spec version 1.58.0
67+
* Generated from OpenAPI spec version 1.58.1
6868
*/
6969
class MCPServer {
7070
constructor({ name, version, tools, instructions, skills = [] }) {

‎src/core/runtime.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ interface Skill { uri: string; frontmatter: Record<string, unknown>; resources:
9494

9595
/**
9696
* MCP Server for Hostinger API
97-
* Generated from OpenAPI spec version 1.58.0
97+
* Generated from OpenAPI spec version 1.58.1
9898
*/
9999
class MCPServer {
100100
private readonly name: string;

‎src/core/tools/all.js‎

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7169,6 +7169,150 @@ export default [
71697169
],
71707170
"group": "hosting"
71717171
},
7172+
{
7173+
"name": "hosting_git_deploy-website-repository",
7174+
"title": "Deploy website Git repository",
7175+
"annotations": {
7176+
"title": "Deploy website Git repository",
7177+
"readOnlyHint": false,
7178+
"destructiveHint": true
7179+
},
7180+
"description": "Clones a Git repository into a directory of the website, or pulls it again. An empty or missing\ndirectory gets a clone of the branch. A directory that already holds this repository and branch is\nreset to its last commit and pulled: changes made on the server to files the repository tracks are\ndiscarded, files it does not track stay. A directory that holds other files, including another\nrepository or another branch of this one, is rejected. `composer install` runs after the clone or\npull when the repository has a `composer.json`.\n\nThe call waits for the deployment and returns its log. `is_success` false means Git or composer\nfailed and the log says why. A second call for the same directory is rejected while the first is\nstill waiting for the server. If the request times out, the deployment may still finish on the\nserver; calling again later with the same repository and branch pulls.\n\nPrivate repositories need an SSH URL and the account's Git SSH key from `Generate Git SSH key`,\nadded to the repository as a deploy key.",
7181+
"method": "POST",
7182+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/repositories/deploy",
7183+
"inputSchema": {
7184+
"type": "object",
7185+
"properties": {
7186+
"username": {
7187+
"type": "string",
7188+
"description": "username parameter"
7189+
},
7190+
"domain": {
7191+
"type": "string",
7192+
"description": "Domain name"
7193+
},
7194+
"repository_url": {
7195+
"type": "string",
7196+
"description": "Clone URL of the repository on any Git host, SSH or HTTPS. Private repositories need an SSH URL\nand the account's Git SSH key added to the repository as a deploy key. An HTTP or HTTPS URL with\na username or token, or any URL with a password, is rejected."
7197+
},
7198+
"branch": {
7199+
"type": "string",
7200+
"description": "Branch to clone and pull"
7201+
},
7202+
"directory": {
7203+
"type": "string",
7204+
"description": "Directory under the website document root, exactly as `List website Git repositories` returns\nit for an existing repository. Empty, null or omitted means the document root."
7205+
}
7206+
},
7207+
"required": [
7208+
"username",
7209+
"domain",
7210+
"repository_url",
7211+
"branch"
7212+
]
7213+
},
7214+
"security": [
7215+
{
7216+
"apiToken": []
7217+
}
7218+
],
7219+
"group": "hosting"
7220+
},
7221+
{
7222+
"name": "hosting_git_list-website-repositories",
7223+
"title": "List website Git repositories",
7224+
"annotations": {
7225+
"title": "List website Git repositories",
7226+
"readOnlyHint": true,
7227+
"destructiveHint": false
7228+
},
7229+
"description": "Lists the Git repositories linked to directories of the website, with\n`Deploy website Git repository` or in the Git section of hPanel: clone URL, branch and directory of\neach one. A repository whose clone failed stays listed; deploying it again retries the clone. GitHub\nand GitLab auto-deployments are not listed here; see `Get Git auto-deployment settings`.",
7230+
"method": "GET",
7231+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/repositories",
7232+
"inputSchema": {
7233+
"type": "object",
7234+
"properties": {
7235+
"username": {
7236+
"type": "string",
7237+
"description": "username parameter"
7238+
},
7239+
"domain": {
7240+
"type": "string",
7241+
"description": "Domain name"
7242+
}
7243+
},
7244+
"required": [
7245+
"username",
7246+
"domain"
7247+
]
7248+
},
7249+
"security": [
7250+
{
7251+
"apiToken": []
7252+
}
7253+
],
7254+
"group": "hosting"
7255+
},
7256+
{
7257+
"name": "hosting_git_ssh-public-key",
7258+
"title": "Get Git SSH public key",
7259+
"annotations": {
7260+
"title": "Get Git SSH public key",
7261+
"readOnlyHint": true,
7262+
"destructiveHint": false
7263+
},
7264+
"description": "Returns the public SSH key of the hosting account. `Deploy website Git repository` uses this key to\nclone and pull over SSH, so a private repository works once the key is added to it as a deploy key\non the Git host. `public_key` is null when the account has no key yet.",
7265+
"method": "GET",
7266+
"path": "/api/hosting/v1/accounts/{username}/git/ssh-key",
7267+
"inputSchema": {
7268+
"type": "object",
7269+
"properties": {
7270+
"username": {
7271+
"type": "string",
7272+
"description": "username parameter"
7273+
}
7274+
},
7275+
"required": [
7276+
"username"
7277+
]
7278+
},
7279+
"security": [
7280+
{
7281+
"apiToken": []
7282+
}
7283+
],
7284+
"group": "hosting"
7285+
},
7286+
{
7287+
"name": "hosting_git_generate-ssh-key",
7288+
"title": "Generate Git SSH key",
7289+
"annotations": {
7290+
"title": "Generate Git SSH key",
7291+
"readOnlyHint": false,
7292+
"destructiveHint": false
7293+
},
7294+
"description": "Creates the SSH key pair of the hosting account and returns the public key. When the account already\nhas a key, returns that key unchanged. One key serves every website of the account; add the public\nkey to a private repository as a deploy key before deploying it.",
7295+
"method": "POST",
7296+
"path": "/api/hosting/v1/accounts/{username}/git/ssh-key",
7297+
"inputSchema": {
7298+
"type": "object",
7299+
"properties": {
7300+
"username": {
7301+
"type": "string",
7302+
"description": "username parameter"
7303+
}
7304+
},
7305+
"required": [
7306+
"username"
7307+
]
7308+
},
7309+
"security": [
7310+
{
7311+
"apiToken": []
7312+
}
7313+
],
7314+
"group": "hosting"
7315+
},
71727316
{
71737317
"name": "hosting_nodejs_list-builds",
71747318
"title": "List NodeJS builds",

0 commit comments

Comments
 (0)