admtools
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@admtools list my domains"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
adm.tools (service from hosting.xyz / ukraine.com.ua) MCP Server
MCP server for adm.tools — the management panel behind ukraine.com.ua and hosting.xyz hosting platforms. Manage domains, DNS records, email, and billing from any MCP-compatible client.
12 tools for the adm.tools API, plus adm_api_raw when ADM_ALLOW_RAW=true.
Requirements
Node.js 22+
adm.tools API token (activate at adm.tools/user/api)
Related MCP server: realtime-register-mcp
Installation
git clone https://github.com/hlebtkachenko/admtools-mcp.git
cd admtools-mcp
npm ci
npm run buildConfiguration
Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"admtools": {
"command": "node",
"args": ["/path/to/admtools-mcp/dist/index.js"],
"env": {
"ADMTOOLS_API_TOKEN": "your-api-token"
}
}
}
}Claude Desktop
claude_desktop_config.json (location)
{
"mcpServers": {
"admtools": {
"command": "node",
"args": ["/path/to/admtools-mcp/dist/index.js"],
"env": {
"ADMTOOLS_API_TOKEN": "your-api-token"
}
}
}
}Claude Code
.mcp.json in your project root, or ~/.claude.json globally:
{
"mcpServers": {
"admtools": {
"command": "node",
"args": ["/path/to/admtools-mcp/dist/index.js"],
"env": {
"ADMTOOLS_API_TOKEN": "your-api-token"
}
}
}
}Any MCP client (stdio)
The server uses stdio transport. Point your MCP client to:
node /path/to/admtools-mcp/dist/index.jsWith the ADMTOOLS_API_TOKEN environment variable set.
Environment Variables
Variable | Required | Description |
| Yes | Bearer token from adm.tools API settings |
| No | Set to |
| No | API base URL, default |
Tools
Domains
Tool | Description |
| List all domains with status and expiry |
| Check domain availability for registration |
| Available zones with registration prices |
| Add domain to NS servers for DNS management |
| Get object ID by type and name |
DNS
Tool | Description |
| List DNS records for a domain |
| Add record (A, AAAA, ALIAS, CAA, CNAME, MX, NS, TXT) |
| Delete a DNS record |
Tool | Description |
| List all mail domains |
| List mailboxes and redirects for a domain |
| Delete a mailbox |
Billing
Tool | Description |
| Current account balance (UAH) |
Raw API
Tool | Description |
| Call any adm.tools API action directly. Registered only with |
The mail/* endpoints are not in the official client, so their parameter names (mail_id, mail_box_id) are unverified.
Security
30-second timeout on all HTTP requests; no automatic retries. A write that gets no response is reported as "outcome unknown" with the read tool to check
Any response with
resultfalse or missing is returned as an error (exceptadm_domain_check, where false means "not available")Action paths must be
/-separated segments of letters, digits,_and-;.., query strings and empty paths are rejectedadm_api_rawis off unlessADM_ALLOW_RAW=true; itsparamsmust be a JSON objectTool arguments are validated with Zod schemas;
adm_api_rawparams are free-form
Architecture
src/
index.ts Entry point, env validation
adm-client.ts API client (Bearer auth, form-encoded POST, result check)
tools/
domains.ts Domain management (5 tools)
dns.ts DNS records (3 tools)
mail.ts Email management (3 tools)
billing.ts Balance, plus raw API when enabled (1-2 tools)
test/ node:test suite against a fake adm.tools APITech Stack
TypeScript
@modelcontextprotocol/sdkZod (schema validation)
Native
fetch
What is adm.tools?
adm.tools is the hosting management panel used by Ukrainian hosting providers ukraine.com.ua and hosting.xyz. It provides a unified API for domain registration, DNS management, email, and billing across both platforms.
API Reference
adm.tools API (requires login)
License
Available Tools
13 toolsadm_api_rawC
Call any adm.tools API endpoint directly (advanced)
Inputs: action (required), params.
adm_balanceA
Get current account balance
Inputs: no named parameters.
adm_dns_addB
Add a DNS record to a domain
Inputs: data (required), type (required), record (required), domain_id (required), +1 more.
adm_dns_deleteA
Delete a DNS record (careful!)
Inputs: subdomain_id (required).
adm_dns_recordsB
List all DNS records for a domain
Inputs: domain_id (required).
adm_domain_addA
Add a domain to NS servers (for DNS management)
Inputs: domain_name (required).
adm_domain_checkA
Check if a domain name is available for registration
Inputs: domain (required).
adm_domainsA
List all domains in your account
Inputs: no named parameters.
adm_domain_zonesA
List available domain zones with prices
Inputs: no named parameters.
adm_get_idC
Get object ID by type and name (utility)
Inputs: name (required), type (required).
adm_mailbox_deleteC
Delete a mailbox (careful!)
Inputs: mail_box_id (required).
adm_mailboxesA
List all mailboxes/redirects for a mail domain
Inputs: mail_id (required).
adm_mail_domainsA
List all mail domains on your account
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Each tool targets a distinct resource and action: domains, DNS records, mail domains, mailboxes, balance, and raw API access are clearly separated. Even similar actions like adm_domain_add and adm_dns_add are disambiguated by their descriptions and target resources.
All tools share an adm_ prefix and use lowercase snake_case, which creates a recognizable pattern. However, list tools are named as bare nouns (adm_domains, adm_dns_records) while mutations use verb_noun forms (adm_dns_add, adm_mailbox_delete), and adm_get_id/adm_api_raw fit less cleanly.
Thirteen tools is a well-scoped size for a domain, DNS, mail, and account management server. Each tool has a clear purpose and the count is neither bloated nor too thin.
The toolset covers listing, adding, and deleting for several resources, but obvious lifecycle gaps exist: no DNS record update, no mailbox creation, and no full domain registration/removal workflow. The adm_api_raw escape hatch can help, but it is not a substitute for purpose-built operations.
Maintenance
Related MCP Connectors
MCP server for DNSimple — domains, DNS zone records, availability, pricing and contacts.
Manage your Servera hosting over MCP: VPS/VDS, DNS, firewall, backups, SSL, billing, tickets.
Manage your Servera hosting over MCP: VPS/VDS, DNS, firewall, backups, SSL, billing, tickets.
Related MCP Servers
- AlicenseCqualityDmaintenanceMCP server for Dynadot API to manage domains, DNS, contacts, nameservers, folders, and aftermarket.1001MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for domain management, enabling domain availability checks, bulk domain checks, and API connectivity testing through the RealtimeRegister API.12 npm1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for domain portfolio management, registrar operations, marketplace, and DNS management via CLI or AI agents.1,085 npm1Apache 2.0
- AlicenseBqualityDmaintenanceMCP server for the adm.tools / ukraine.com.ua hosting API, providing tools to manage hosting services, accounts, sites, and web apps.51MIT