Skip to content
Globalhostia
Developers

GlobalHostia MCP server: setup and tool reference

A remote MCP server (Streamable HTTP) with OAuth 2.1 sign-in. Public tools work without signing in; account tools ask the customer to sign in on globalhostia.com the first time they are used.

Endpoints

WhatURL
MCP server (Claude, Claude Code, other clients)https://globalhostia.com/mcp
MCP server for ChatGPT (no commerce tools)https://globalhostia.com/mcp/chatgpt
Public read-only shopping server (no sign-in)https://globalhostia.com/api/mcp
Protected resource metadata (RFC 9728)https://globalhostia.com/.well-known/oauth-protected-resource/mcp
Authorization server metadata (RFC 8414)https://globalhostia.com/.well-known/oauth-authorization-server
Authorization endpointhttps://globalhostia.com/oauth/authorize
Token endpointhttps://globalhostia.com/oauth/token
Dynamic client registration (RFC 7591)https://globalhostia.com/oauth/register
Token revocation (RFC 7009)https://globalhostia.com/oauth/revoke

Claude

Add a custom connector with https://globalhostia.com/mcp. Claude registers itself (Client ID Metadata Document or Dynamic Client Registration) and signs in on first use of an account tool.

Claude Code

claude mcp add --transport http globalhostia https://globalhostia.com/mcp

Then run /mcp and choose Authenticate.

ChatGPT

Use https://globalhostia.com/mcp/chatgpt with OAuth. Tools declare securitySchemes; a signed-out call to an account tool returns _meta["mcp/www_authenticate"] so ChatGPT shows the connect button.

MCP Inspector

npx @modelcontextprotocol/inspector --cli https://globalhostia.com/mcp --transport http --method tools/list

For account tools, use the Inspector UI: it completes the OAuth flow with a localhost redirect.

Authentication

  • OAuth 2.1, authorization code with PKCE (S256 only). Public clients (token_endpoint_auth_method: none); confidential DCR clients may use client_secret_post or client_secret_basic.
  • Client registration: Dynamic Client Registration, or an https client_id pointing to a Client ID Metadata Document (client_id_metadata_document_supported: true).
  • Redirect URIs: https://claude.ai/api/mcp/auth_callback, https://claude.com/api/mcp/auth_callback, https://chatgpt.com/connector_platform_oauth_redirect, https://chatgpt.com/connector/oauth/{id}, and loopback http://localhost / 127.0.0.1 on any port. Other https redirect URIs are accepted with a warning on the consent page (or refused when the store owner restricts them).
  • Resource indicators (RFC 8707): send resource=https://globalhostia.com/mcp (or /mcp/chatgpt). Tokens are bound to that resource and refused by the other endpoint.
  • Tokens: opaque bearer tokens in the Authorization header only. Access tokens last 60 minutes; refresh tokens 60 days and rotate on every use (a reused refresh token revokes the connection). A connection lasts at most 90 days.
  • Challenges: a missing token on an account tool gives 401 with WWW-Authenticate: Bearer resource_metadata="…", scope="…"; a token lacking the tool's scope gives 403 with error="insufficient_scope". The authorization response includes iss (RFC 9207).
  • Scopes: account:read, billing:read, dns:read, support:read, dns:write, email:write, ssl:write, domains:write, support:write, cart:write. offline_access is accepted.
  • Accounts with two-factor authentication cannot complete the connector sign-in yet.

Tool reference (29 tools)

Read-only tools are marked readOnlyHint; tools that overwrite or delete are marked destructiveHint and refuse until called with confirm: true after the customer confirms.

search_plans · Search hosting plans

no sign-in read-only not on /mcp/chatgpt

Search GlobalHostia hosting, VPS, dedicated server, SSL and email plans by keyword, category, location and maximum monthly price. Returns plans with key specs, live price and product page. No sign-in needed.

  • query · string: Keywords, e.g. "windows vps 8gb"
  • category · string
  • location · string
  • max_price · number: Maximum monthly price
  • currency · string: ISO 4217 currency code such as USD or AED (default USD).
  • limit · integer

recommend_plan · Recommend a hosting plan

no sign-in read-only not on /mcp/chatgpt

Pick the best GlobalHostia plans for a need described in words (e.g. "WordPress shop", "Windows VPS for MT5 under $20"), with optional budget, location, OS, RAM and number of websites. Returns ranked plans with reasons and live prices. No sign-in needed.

  • need required · string
  • budget_monthly · number
  • currency · string: ISO 4217 currency code such as USD or AED (default USD).
  • location · string
  • os · string
  • min_ram_gb · number
  • websites · integer
  • limit · integer

check_domain_availability · Check domain availability

no sign-in read-only

Live registry check whether a domain name (e.g. mybrand.ae) is available to register at GlobalHostia (with the first-year and renewal price where shown). Limited to 10 checks per minute. No sign-in needed.

  • domain required · string: Full domain, e.g. mybrand.com
  • currency · string: ISO 4217 currency code such as USD or AED (default USD).

get_policies · Get refund, renewal and tax policies

no sign-in read-only

GlobalHostia customer policies from the published terms: money-back guarantee, domain and SSL refunds, cancellation, automatic renewal, billing, taxes and VAT, domain expiry, with the source link.

  • topic · "all" | "refunds" | "renewal" | "taxes" | "cancellation" | "domains"

get_account_overview · Get account overview

scope account:read read-only

Summary of the signed-in GlobalHostia account: name and company, number of active services and domains, domains expiring within 30 days, and (with the matching permissions) unpaid invoices and open tickets.

No parameters.

list_services · List services

scope account:read read-only

The hosting, VPS, server, SSL and email services on the signed-in account: id, product, domain, status, billing cycle, recurring amount and next due date.

  • status · "active" | "all": Default all (cancelled and terminated included).

get_service · Get service details

scope account:read read-only

One service on the account by id: product, domain, status, billing, IP addresses, configuration (OS, location, CPU, RAM) and disk / bandwidth usage when the server reports it. Never includes passwords.

  • service_id required · integer: Service id, as returned by the matching list tool.

list_domains · List domains

scope account:read read-only

Domains registered on the account with status, expiry date, days left and whether auto-renew is on.

  • expiring_within_days · integer: Only domains expiring within this many days.

get_domain · Get domain details

scope account:read read-only

One domain on the account: status, registration and expiry dates, auto-renew, nameservers, and whether its DNS is managed at GlobalHostia (and can be edited with the DNS tools).

  • domain required · string: A domain on your account, e.g. mybrand.com

list_dns_records · List DNS records

scope dns:read read-only

DNS records (A, AAAA, CNAME, MX, TXT, SRV, NS) of a domain on the account when its DNS is managed at GlobalHostia, with the record ids needed by update_dns_record and delete_dns_record.

  • domain required · string: A domain on your account, e.g. mybrand.com
  • type · "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "SRV" | "NS" | "CAA"

site_health · Check site health

scope account:read read-only

Health check for a domain on the account: DNS and nameservers, website reachability, SSL certificate, and email authentication (SPF, DKIM, DMARC), with a score and suggested fixes.

  • domain required · string: A domain on your account, e.g. mybrand.com

email_settings · Get email settings

scope account:read read-only

Mail server settings (IMAP, POP3, SMTP host names, ports, encryption) for a domain on the account, and its mailboxes when the domain is on GlobalHostia hosting.

  • domain required · string: A domain on your account, e.g. mybrand.com

list_invoices · List invoices

scope billing:read read-only

Invoices on the account (newest first), optionally only Unpaid, Paid, Overdue or Cancelled: number, dates, total, currency and status.

  • status · "Unpaid" | "Paid" | "Overdue" | "Cancelled"

get_invoice · Get invoice details

scope billing:read read-only

One invoice by id: line items, subtotal, tax, credit, total, balance, status and payments received. Card and bank details are never included.

  • invoice_id required · integer: Invoice id, as returned by the matching list tool.

list_tickets · List support tickets

scope support:read read-only

Support tickets on the account: id, ticket number, subject, department, status, priority and last reply time.

  • status · "open" | "all": Default all.

get_ticket · Get support ticket

scope support:read read-only

One support ticket by id with its conversation (latest 20 messages, each shortened to 2,000 characters).

  • ticket_id required · integer: Ticket id, as returned by the matching list tool.

get_renewals · Get upcoming renewals

scope account:read read-only

Everything on the account that renews: services and domains with renewal date, days left, amount, billing cycle and auto-renew, soonest first.

  • within_days · integer: Default 90.

add_dns_record · Add a DNS record

scope dns:write changes data

Add one DNS record (A, AAAA, CNAME, MX, TXT or SRV) to a domain on the account whose DNS is managed at GlobalHostia. Name is relative to the domain ("@" for the domain itself, "www", "_dmarc").

  • domain required · string: A domain on your account, e.g. mybrand.com
  • type required · "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "SRV"
  • name required · string: "@" for the domain itself, or a host such as www
  • value required · string
  • ttl · integer
  • priority · integer: MX and SRV
  • weight · integer: SRV
  • port · integer: SRV

update_dns_record · Update a DNS record

scope dns:write changes data destructive: confirm required

Replace the value, TTL or priority of one existing DNS record (record_id from list_dns_records). Overwrites the old value, so it needs confirm: true after the customer approves.

  • domain required · string: A domain on your account, e.g. mybrand.com
  • record_id required · string
  • name · string
  • value required · string
  • ttl · integer
  • priority · integer
  • weight · integer
  • port · integer
  • confirm · boolean (true): Must be true. Set it only after the customer has explicitly confirmed this exact change.

delete_dns_record · Delete a DNS record

scope dns:write changes data destructive: confirm required

Delete one DNS record (record_id from list_dns_records) from a domain on the account. Irreversible: needs confirm: true after the customer approves.

  • domain required · string: A domain on your account, e.g. mybrand.com
  • record_id required · string
  • confirm · boolean (true): Must be true. Set it only after the customer has explicitly confirmed this exact change.

create_mailbox · Create a mailbox

scope email:write changes data

Create a mailbox such as sales@mybrand.com on GlobalHostia hosting. A strong random password is set and never shown; the customer sets their own password in the control panel (link returned).

  • email required · string: Full address, e.g. sales@mybrand.com
  • quota_mb · integer: Mailbox size in MB, 0 = unlimited (default 1024).

delete_mailbox · Delete a mailbox

scope email:write changes data destructive: confirm required

Delete a mailbox and all of its email from GlobalHostia hosting. Irreversible: needs confirm: true after the customer approves.

  • email required · string
  • confirm · boolean (true): Must be true. Set it only after the customer has explicitly confirmed this exact change.

issue_ssl · Issue a free SSL certificate

scope ssl:write changes data

Request a free SSL certificate (Let's Encrypt) for a domain on GlobalHostia hosting, optionally including www. The domain must already point to the hosting server.

  • domain required · string: A domain on your account, e.g. mybrand.com
  • include_www · boolean: Default true.

open_ticket · Open a support ticket

scope support:write changes data

Open a support ticket in the customer's name (department Technical, Billing or Sales; default Technical). Use for anything the tools cannot do, such as refunds, cancellations or server problems.

  • subject required · string
  • message required · string
  • department · string
  • priority · "Low" | "Medium" | "High"
  • service_id · integer: Related service id, as returned by the matching list tool.

reply_ticket · Reply to a support ticket

scope support:write changes data

Add a reply in the customer's name to one of their support tickets (ticket_id from list_tickets).

  • ticket_id required · integer: Ticket id, as returned by the matching list tool.
  • message required · string

set_domain_autorenew · Turn domain auto-renew on or off

scope domains:write changes data

Turn automatic renewal on or off for a domain registered at GlobalHostia. With auto-renew off, the domain expires unless renewed manually.

  • domain required · string: A domain on your account, e.g. mybrand.com
  • enabled required · boolean

set_nameservers · Change domain nameservers

scope domains:write changes data destructive: confirm required

Replace the nameservers of a domain registered at GlobalHostia (2 to 5 host names). Wrong nameservers take the website and email offline, so it needs confirm: true after the customer approves.

  • domain required · string: A domain on your account, e.g. mybrand.com
  • nameservers required · array of string
  • confirm · boolean (true): Must be true. Set it only after the customer has explicitly confirmed this exact change.

Errors and limits

  • Tool failures return isError: true with a plain-language message and structuredContent.error: invalid, not_found, forbidden, confirm, rate_limited, unavailable or disabled.
  • Per customer: 120 reads and 30 changes per minute; 10 domain availability checks per minute. Per IP: 240 MCP requests per minute.
  • Every change is written to the account's audit log with the app, the tool and the target (never message bodies or secrets).
  • Support: contact · privacy policy · terms.
WhatsApp us