hostinger-api-mcp 1.31.0 → 1.33.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/README.md CHANGED
@@ -49,7 +49,7 @@ pnpm update -g hostinger-api-mcp
49
49
 
50
50
  This package installs the following MCP server commands:
51
51
 
52
- - `hostinger-api-mcp` — unified server with every tool (300 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (314 total)
53
53
  - `hostinger-agency-hosting-mcp` — 27 tools for agency-hosting
54
54
  - `hostinger-billing-mcp` — 9 tools for billing
55
55
  - `hostinger-dns-mcp` — 8 tools for dns
@@ -58,7 +58,7 @@ This package installs the following MCP server commands:
58
58
  - `hostinger-horizons-mcp` — 2 tools for horizons
59
59
  - `hostinger-hosting-mcp` — 48 tools for hosting
60
60
  - `hostinger-mail-mcp` — 38 tools for mail
61
- - `hostinger-reach-mcp` — 21 tools for reach
61
+ - `hostinger-reach-mcp` — 35 tools for reach
62
62
  - `hostinger-vps-mcp` — 62 tools for vps
63
63
  - `hostinger-wordpress-mcp` — 35 tools for wordpress
64
64
 
@@ -2290,6 +2290,10 @@ Get a list of all contact segments.
2290
2290
 
2291
2291
  This endpoint returns a list of contact segments that can be used to organize contacts.
2292
2292
 
2293
+ **Deprecated.** This endpoint cannot target a profile, so it always falls back to
2294
+ the client's default profile and cannot list the segments of any other profile. Use
2295
+ `GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead.
2296
+
2293
2297
  - **Method**: `GET`
2294
2298
  - **Path**: `/api/reach/v1/segmentation/segments`
2295
2299
 
@@ -2300,9 +2304,22 @@ Create a new contact segment.
2300
2304
  This endpoint allows creating a new contact segment that can be used to organize contacts.
2301
2305
  The segment can be configured with specific criteria like email, name, subscription status, etc.
2302
2306
 
2307
+ **Deprecated.** This endpoint cannot target a profile, so it always falls back to
2308
+ the client's default profile and cannot create segments in any other profile. Use
2309
+ `POST /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead.
2310
+
2303
2311
  - **Method**: `POST`
2304
2312
  - **Path**: `/api/reach/v1/segmentation/segments`
2305
2313
 
2314
+ #### reach_countProfileSegmentContactsV1
2315
+
2316
+ Count the contacts currently matching a segment without listing them.
2317
+
2318
+ Cheaper than paging through the segment contacts endpoint when only the size is needed.
2319
+
2320
+ - **Method**: `GET`
2321
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/count`
2322
+
2306
2323
  #### reach_listProfileSegmentContactsV1
2307
2324
 
2308
2325
  Retrieve contacts associated with a specific segment for a given profile.
@@ -2313,6 +2330,57 @@ identified by its UUID, scoped to a specific profile.
2313
2330
  - **Method**: `GET`
2314
2331
  - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts`
2315
2332
 
2333
+ #### reach_getProfileSegmentDetailsV1
2334
+
2335
+ Get a single segment of a profile, including the conditions that define it.
2336
+
2337
+ To retrieve the contacts currently matching those conditions, use the segment contacts
2338
+ endpoint instead.
2339
+
2340
+ - **Method**: `GET`
2341
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}`
2342
+
2343
+ #### reach_updateAProfileSegmentV1
2344
+
2345
+ Rename a segment and/or replace the conditions that define it.
2346
+
2347
+ `name` is always required. Omit `conditions` to rename without touching the conditions;
2348
+ supply them and they replace the existing set entirely rather than being merged into it.
2349
+ Contacts are never modified, but which of them match the segment can change immediately.
2350
+
2351
+ - **Method**: `PUT`
2352
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}`
2353
+
2354
+ #### reach_deleteAProfileSegmentV1
2355
+
2356
+ Delete a segment.
2357
+
2358
+ Only the segment definition is removed. The contacts that matched it are left untouched.
2359
+
2360
+ - **Method**: `DELETE`
2361
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}`
2362
+
2363
+ #### reach_listProfileSegmentsV1
2364
+
2365
+ Get a paginated list of the segments defined in a profile.
2366
+
2367
+ Each entry carries the number of contacts currently matching it, which is recalculated on
2368
+ read rather than stored. Use `count_type` to count either every matching contact or only
2369
+ the subscribed ones.
2370
+
2371
+ - **Method**: `GET`
2372
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments`
2373
+
2374
+ #### reach_createAProfileSegmentV1
2375
+
2376
+ Create a segment in a profile.
2377
+
2378
+ A segment is a saved set of conditions rather than a fixed list, so its membership changes
2379
+ as contacts change. Creating one does not modify any contact.
2380
+
2381
+ - **Method**: `POST`
2382
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/segmentation/segments`
2383
+
2316
2384
  #### reach_listSegmentContactsV1
2317
2385
 
2318
2386
  Retrieve contacts associated with a specific segment.
@@ -2320,6 +2388,10 @@ Retrieve contacts associated with a specific segment.
2320
2388
  This endpoint allows you to fetch and filter contacts that belong to a particular segment,
2321
2389
  identified by its UUID.
2322
2390
 
2391
+ **Deprecated.** This endpoint cannot target a profile, so it always falls back to
2392
+ the client's default profile and cannot read segments of any other profile. Use
2393
+ `GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts` instead.
2394
+
2323
2395
  - **Method**: `GET`
2324
2396
  - **Path**: `/api/reach/v1/segmentation/segments/{segmentUuid}/contacts`
2325
2397
 
@@ -2330,9 +2402,96 @@ Get details of a specific segment.
2330
2402
  This endpoint retrieves information about a single segment identified by UUID.
2331
2403
  Segments are used to organize and group contacts based on specific criteria.
2332
2404
 
2405
+ **Deprecated.** This endpoint cannot target a profile, so it always falls back to
2406
+ the client's default profile and cannot read segments of any other profile. Use
2407
+ `GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}` instead.
2408
+
2333
2409
  - **Method**: `GET`
2334
2410
  - **Path**: `/api/reach/v1/segmentation/segments/{segmentUuid}`
2335
2411
 
2412
+ #### reach_assignAContactToATagV1
2413
+
2414
+ Assign a tag to a single contact.
2415
+
2416
+ Unlike the bulk endpoint this is applied immediately rather than queued. Assigning a tag
2417
+ the contact already carries succeeds without duplicating it.
2418
+
2419
+ - **Method**: `POST`
2420
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}`
2421
+
2422
+ #### reach_removeAContactFromATagV1
2423
+
2424
+ Remove a tag from a single contact.
2425
+
2426
+ Unlike the bulk endpoint this is applied immediately rather than queued. Neither the tag
2427
+ nor the contact is deleted.
2428
+
2429
+ - **Method**: `DELETE`
2430
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}`
2431
+
2432
+ #### reach_assignContactsToATagV1
2433
+
2434
+ Assign a tag to many contacts at once.
2435
+
2436
+ Pass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact
2437
+ in the profile. The work is queued, so a success response means it was accepted rather than
2438
+ finished. Contacts that already carry the tag are left alone.
2439
+
2440
+ - **Method**: `POST`
2441
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts`
2442
+
2443
+ #### reach_removeContactsFromATagV1
2444
+
2445
+ Remove a tag from many contacts at once.
2446
+
2447
+ Pass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact
2448
+ in the profile. The work is queued, so a success response means it was accepted rather than
2449
+ finished. The tag itself and the contacts are not deleted.
2450
+
2451
+ - **Method**: `DELETE`
2452
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts`
2453
+
2454
+ #### reach_deleteATagV1
2455
+
2456
+ Delete a tag and remove it from every contact carrying it.
2457
+
2458
+ The contacts themselves are not deleted. This is idempotent: deleting a tag that does not
2459
+ exist in the profile still succeeds.
2460
+
2461
+ - **Method**: `DELETE`
2462
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}`
2463
+
2464
+ #### reach_renameATagV1
2465
+
2466
+ Rename a tag.
2467
+
2468
+ The contacts assigned to the tag are unaffected. Names are unique within a profile, so
2469
+ renaming a tag to a name that is already taken is rejected.
2470
+
2471
+ - **Method**: `PATCH`
2472
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}`
2473
+
2474
+ #### reach_listProfileTagsV1
2475
+
2476
+ Get all tags defined in a profile.
2477
+
2478
+ Tags are the way contacts are grouped in Reach, and can be used to filter the contact
2479
+ list or to build segments.
2480
+
2481
+ - **Method**: `GET`
2482
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags`
2483
+
2484
+ #### reach_createOrFindTagsV1
2485
+
2486
+ Create tags in a profile.
2487
+
2488
+ Names that already exist in the profile are not duplicated: the existing tag is returned
2489
+ instead, so the call is safe to repeat. Every tag in the request is returned, whether it
2490
+ was created now or already existed.
2491
+
2492
+ - **Method**: `POST`
2493
+ - **Path**: `/api/reach/v1/profiles/{profileUuid}/tags`
2494
+
2336
2495
  #### reach_getProfileDomainDNSStatusV1
2337
2496
 
2338
2497
  Retrieve the DNS configuration status for a profile's domain.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.31.0",
3
+ "version": "1.33.0",
4
4
  "description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
5
5
  "mcpServers": {
6
6
  "hostinger": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.31.0",
3
+ "version": "1.33.0",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
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.31.0",
9
+ "version": "1.33.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.31.0",
14
+ "version": "1.33.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -29,7 +29,7 @@ const SECURITY_SCHEMES = {
29
29
 
30
30
  /**
31
31
  * MCP Server for Hostinger API
32
- * Generated from OpenAPI spec version 1.28.0
32
+ * Generated from OpenAPI spec version 1.30.0
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -52,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
52
52
 
53
53
  /**
54
54
  * MCP Server for Hostinger API
55
- * Generated from OpenAPI spec version 1.28.0
55
+ * Generated from OpenAPI spec version 1.30.0
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;