ukraine.com.ua MCP
This server acts as a Model Context Protocol (MCP) interface for the ukraine.com.ua / adm.tools hosting API, enabling AI assistants to discover, inspect, and call hosting-related actions.
Inventory & Discovery (Read-only):
List available services/hosts filtered by type (account, host, VPS, dedicated, domain, storage, mail, MySQL, PostgreSQL, Redis, MongoDB, RabbitMQ, Manticore)
List hosting accounts associated with your authenticated account
List sites and subdomains for a specified hosting account (with pagination and filtering)
Retrieve web app systemd/startup information for a specific hosting site host
API Interaction:
Search a catalog of 679 documented adm.tools API actions
Inspect metadata for individual documented API actions
Call any documented API action via a generic catalog tool (
adm_api_call)Execute raw adm.tools API endpoints for advanced use (
adm_api_raw)
Automation:
Automate DNS, domains, mail, databases, VPS, storage, billing, and dedicated server operations
Integrate with MCP clients (Claude Desktop, Cursor, Codex) for hosting workflows
Allows managing MySQL databases on ukraine.com.ua hosting accounts.
Allows managing PostgreSQL databases on ukraine.com.ua hosting accounts.
Allows managing Redis instances on ukraine.com.ua hosting accounts.
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., "@ukraine.com.ua MCPlist my hosting accounts"
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.
ukraine.com.ua MCP
Model Context Protocol (MCP) server for the adm.tools / ukraine.com.ua hosting API. It lets AI assistants and MCP clients discover and call documented ukraine.com.ua API actions for hosting, DNS, domains, mail, databases, VPS, storage, and billing automation.
This repository is only the MCP server runtime and public endpoint metadata.
Why This Exists
Use ukraine.com.ua / adm.tools from MCP-compatible clients.
Search a generated catalog of 679 documented adm.tools API actions.
Call documented actions through one generic catalog tool.
Provide a public reference for adm.tools API paths, methods, and parameters.
Give AI agents a safer, typed interface to hosting operations.
Related searches: ukraine.com.ua API, adm.tools API, admtools MCP,
ukraine.com.ua hosting automation, Model Context Protocol hosting, MCP server DNS hosting.
Related MCP server: admtools
Current Tools
adm_get_services: read-only service inventory viaPOST https://adm.tools/action/get_services/.adm_hosting_accounts: read-only hosting account inventory viaGET https://adm.tools/action/hosting/account/list/.adm_hosting_sites: read-only site/subdomain inventory viaPOST https://adm.tools/action/hosting/virtual/list/.adm_hosting_webapp_info: read-only web-app process/start command info viaPOST https://adm.tools/action/hosting/account/app/systemd/info/.adm_api_catalog_search: search the generated full API catalog.adm_api_action_info: inspect generated metadata for one documented action.adm_api_call: call any documented action through the generated catalog.adm_api_raw: advanced raw call tohttps://adm.tools/action/{action}/.
Agent Use Cases
Inventory hosting accounts, sites, domains, mail, databases, VPS, and storage.
Inspect available adm.tools API actions before calling them.
Automate DNS and hosting workflows from Claude Desktop, Cursor, Codex, or any MCP-compatible client.
Use specific read-only helper tools for common hosting inventory checks.
Use the generic catalog tools when an action is documented but no custom MCP helper exists yet.
API Catalog
The generated public catalog is available in
docs/api-catalog.generated.md.
Current catalog coverage:
679 documented actions.
633 POST actions and 46 GET actions.
1551 documented parameters.
Main groups include hosting, DNS, domains, mail, MySQL, PostgreSQL, Redis, VPS, storage, billing, and dedicated servers.
Setup
npm install
cp .env.example .envSet one local token variable:
ADMTOOLS_API_TOKEN=...UKRAINE_COM_UA_API_TOKEN is also accepted as a compatibility fallback.
Run locally:
npm run build
npm run devMCP Client Config
{
"mcpServers": {
"ukraine-com-ua": {
"command": "node",
"args": ["/absolute/path/to/ukraine.com.ua-mcp/dist/index.js"],
"env": {
"ADMTOOLS_API_TOKEN": "your-token"
}
}
}
}Safety
Provide tokens through environment variables only.
Do not commit
.envor local credentials.Prefer the read-only helper tools for inventory and discovery tasks.
Available Tools
5 toolsadm_api_rawB
Call a raw adm.tools action endpoint. Advanced use only.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action path, for example get_services or dns/list | |
| params | No | Form params for the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the entire burden. It only states it calls an endpoint, not whether it is read-only, destructive, or requires authentication. The phrase 'raw' hints at power but does not disclose behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no fluff. It is front-loaded with the primary action. While very concise, it serves its purpose without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and lacking annotations, the description provides minimal context. It does not explain return values, available actions, or error handling, leaving the agent underinformed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters have descriptions in schema). The description adds no additional meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Call a raw adm.tools action endpoint', specifying the verb (Call) and resource (raw action endpoint). The phrase 'Advanced use only' and sibling names (adm_get_services, etc.) indicate it's a generic alternative to specific actions, distinguishing it well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for advanced scenarios not covered by sibling tools via 'Advanced use only', but it does not explicitly state when to use it versus alternatives, nor provides exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adm_get_servicesC
List available adm.tools services/hosts for the authenticated account
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Service type to list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the tool 'lists' services/hosts. It does not disclose any behavioral traits such as authentication needs, rate limits, or what happens if no services are available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the core purpose. However, it could be slightly more detailed without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one simple parameter and no output schema, the description is adequate but does not explain the format of the returned list or any default behavior. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with a description and enum for the single parameter. The description adds no additional meaning or context beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists services/hosts for the authenticated account using a specific verb. However, it does not differentiate from sibling tools like adm_hosting_accounts or adm_hosting_sites, which focus on more specific resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adm_hosting_accountsB
List hosting accounts available to the authenticated adm.tools account
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'list' but doesn't disclose authentication requirements, rate limits, or whether it modifies data. The read-only intent is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single clear sentence with no fluff. Front-loaded and directly states tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists; description does not explain what information is returned (e.g., account IDs, names). For a list tool, this is incomplete information for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist in the schema, so baseline score of 4 applies. Description adds no parameter info, but no need as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists hosting accounts for the authenticated account, using specific verb and resource. It distinguishes from siblings like adm_hosting_sites which likely list sites within an account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adm_hosting_sitesC
List sites and subdomains for a hosting account
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | Hosting account ID | |
| virtual_domain_id | No | Optional site ID filter | |
| page | No | Result page, defaults to 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral transparency. It merely states it lists, implying a read operation, but discloses no other behavioral traits such as authentication needs, pagination behavior, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence, but it lacks necessary details for effective use. It is front-loaded with the verb, but the brevity sacrifices completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 3 parameters, no output schema, and no annotations, the description is incomplete. It does not explain pagination, filter usage, or return values, leaving an agent insufficiently informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what is in the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists sites and subdomains for a hosting account, using a specific verb and resource. It distinguishes from siblings like adm_hosting_accounts (lists accounts) and adm_hosting_webapp_info (info about webapps), but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it requires an account_id or that it can filter by virtual_domain_id, nor does it contrast with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adm_hosting_webapp_infoB
Get web application systemd/startup information for a hosting site host
| Name | Required | Description | Default |
|---|---|---|---|
| host_id | Yes | Hosting host ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states the action without disclosing behavioral traits like side effects, authentication needs, or error behavior (e.g., invalid host_id).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence. It is appropriately short given the tool's simplicity, though it could potentially include return type hints without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and no annotations, the description is adequate but lacks detail on what the returned information contains (e.g., status, configuration keys). More context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'host_id', which has a clear description. The tool description does not add meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get web application systemd/startup information') and the resource ('a hosting site host'). It distinguishes from siblings like adm_hosting_sites (general site info) and adm_get_services (services).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. While the purpose implies usage for web app startup info, there is no explicit when/when-not or mention of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
adm_api_raw - First observed
adm_get_services - First observed
adm_hosting_accounts - First observed
adm_hosting_sites - First observed
adm_hosting_webapp_info
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: raw API call, listing services, listing accounts, listing sites, and getting web app info. Descriptions are specific and non-overlapping.
All tools share the 'adm_' prefix, but naming conventions vary: 'adm_api_raw' uses a noun phrase, 'adm_get_services' uses verb-noun, and the remaining three use noun phrases without a verb. This mix is somewhat inconsistent.
With 5 tools, the count is well-scoped for the domain of adm.tools hosting management. It covers the core listing and info operations without being overwhelming.
The tool set is limited to read-only operations (list, info). Missing CRUD functionality such as creating, updating, or deleting services, accounts, or sites, which are significant gaps for a management server.
Maintenance
Related MCP Connectors
MCP server for Hostinger API
MCP server for Hostkey .com (InvAPI): servers, power, order, DNS, S3, billing
MCP server for DNSimple — domains, DNS zone records, availability, pricing and contacts.
Agent-first web hosting: deploy sites, apps, databases and domains over MCP.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server to help manage a WHMCS installation.6226 npm20MIT
- AlicenseAqualityDmaintenanceMCP server for managing domains, DNS records, email mailboxes, and billing on the adm.tools hosting platform via API.131MIT
- AlicenseNot gradedqualityFmaintenanceA comprehensive MCP server for managing cPanel web hosting accounts via UAPI, enabling file, database, email, domain, cron, backup, and system monitoring operations.38 npm3MIT
- AlicenseAqualityBmaintenanceMCP server for managing cPanel hosting accounts via UAPI. Enables domains, DNS, email, MySQL, file management, and arbitrary UAPI calls through natural language.1629 npmMIT