ukraine.com.ua MCP

ukraine.com.ua MCP

MCP server for the adm.tools / ukraine.com.ua hosting API, providing tools to manage hosting services, accounts, sites, and web apps.

Category
Visit Server

README

ukraine.com.ua MCP

MCP server for the adm.tools / ukraine.com.ua hosting API.

This project is public and is being built around confirmed API behavior from the adm.tools panel and dynamic API documentation.

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}/.

Setup

npm install
npm run postinstall:playwright
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"
      }
    }
  }
}

Dynamic API Docs Capture

The authenticated API docs page is:

https://adm.tools/user/api/#/tab-sandbox

Without a session it redirects to auth.adm.tools. The hash route is not sent to the server, so after authentication the capture script navigates back to the full docs URL.

Start a headed browser and save the authenticated storage state:

npm run docs:capture -- --headed --save-auth

Log in manually in the browser window, wait for the API docs page to load, then press Enter in the terminal. Captures are written to .cache/admtools-docs/ and auth state is written to .auth/admtools.json; both are ignored by git.

If bundled Chromium is unstable on your machine, run the same flow with the installed Google Chrome binary:

npm run docs:capture -- --headed --save-auth --browser chrome

This opens a Playwright-controlled Chrome window with an isolated automation profile. Attaching to an already-open personal Chrome window requires Chrome to have been started with a remote debugging port.

For Google OAuth flows that reject automation-controlled browsers, start a separate normal Chrome instance with a local DevTools port:

open -na "Google Chrome" --args \
  --remote-debugging-port=9222 \
  --user-data-dir="$PWD/.chrome-debug-profile"

Then run the capture against that Chrome:

npm run docs:capture -- --save-auth --cdp http://127.0.0.1:9222

The .chrome-debug-profile, .auth, and .cache directories must stay local and are ignored by git.

Next runs can reuse the saved auth state:

npm run docs:capture

Export a sanitized local index from the captured actions_tree response:

npm run docs:export

Export selected detail docs through the debug Chrome session:

npm run docs:export -- --details --filter '^hosting/account/(list|app/systemd/info)$' --cdp http://127.0.0.1:9222

Export the full docs catalog through the HTTP detail exporter:

npm run docs:export -- --details --http --delay-ms 2500

Exporter output stays in .cache/admtools-docs/ for review before any public documentation is curated.

Generate the public TypeScript/Markdown catalog after exporting details:

npm run docs:generate

See docs/admtools-docs-extraction.md for the extraction workflow.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured