Skip to main content
Glama
sanyo4ever

ukraine.com.ua MCP

by sanyo4ever

ukraine.com.ua MCP

CI License: MIT Node.js >=20

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 via POST https://adm.tools/action/get_services/.

  • adm_hosting_accounts: read-only hosting account inventory via GET https://adm.tools/action/hosting/account/list/.

  • adm_hosting_sites: read-only site/subdomain inventory via POST https://adm.tools/action/hosting/virtual/list/.

  • adm_hosting_webapp_info: read-only web-app process/start command info via POST 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 to https://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 .env

Set 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 dev

MCP 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 .env or local credentials.

  • Prefer the read-only helper tools for inventory and discovery tasks.

Available Tools

5 tools
adm_api_rawB

Call a raw adm.tools action endpoint. Advanced use only.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction path, for example get_services or dns/list
paramsNoForm params for the action

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesService type to list

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesHosting account ID
virtual_domain_idNoOptional site ID filter
pageNoResult page, defaults to 1

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
host_idYesHosting host ID

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 5 tool updatesv0.1.0
    • First observedadm_api_raw
    • First observedadm_get_services
    • First observedadm_hosting_accounts
    • First observedadm_hosting_sites
    • First observedadm_hosting_webapp_info

TDQS

B3.2/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers