MCP skills library for your AI agents

Catalog of ready-made tools and instructions to extend AI capabilities in Cursor, Claude Code, and VS Code. Set up your agent for uCoz in minutes.

Open catalog

What is MCP for uCoz

MCP (Model Context Protocol) for uCoz is a tool server that connects to your AI assistant and gives it direct access to your site. In plain-language requests you can edit templates, manage menus and global blocks, create mail forms, and work with files over FTP.

uCoz MCP is currently in alpha. You need Node.js 20+ installed β€” the server runs via npx ucoz-mcp@latest.

MCP Features

⚑ Much faster

Update website templates in minutes - without manual editing in the control panel.

πŸ›‘οΈ Built-in backup

Automatic backup before each save and quick rollback to the previous version.

βœ… Code Validation

Checking the HTML code of the template before saving without the risk of breaking the display of the site.

πŸ“ Uploading files via FTP

Upload CSS, JS and images from a local project or directly from agent chat.

πŸ—‚οΈ Menu via API

Create and update menus via AI - horizontal and vertical, with nesting.

πŸ“¬ Mail forms

Create feedback forms with the required fields and a letter template directly from the chat.

🧩 Any MCP client

Support for Cursor, Codex, Antigravity and any other stdio-compatible MCP clients.

Before you start

1

Install Node.js

MCP runs through npx, so Node.js must be installed.

  • Install Node.js version 20+
  • Check installation: node -v
  • Check npx availability: npx -v
Download Node.js
2

Create a uAPI token

Create a personal access token to use the API.

  • Open your site control panel β†’ Site β†’ uAPI
  • Create a new token and save it
  • Use this token in MCP settings
How to create a uAPI token
3

Set up FTP access

FTP credentials are required to manage site files through MCP.

  • Open the control panel β†’ FTP
  • Create an FTP password (if not already created)
  • Save the data: host, login and password
  • Password activation may take up to 15 minutes
How to connect via FTP

Connect by platform

Cursor
  1. Open Settings -> MCP -> Add new MCP server.
  2. Insert the following block into the config:
{
  "mcpServers": {
    "ucoz-mcp": {
      "command": "npx",
      "args": ["-y", "ucoz-mcp@latest"],
      "env": {
"UCOZ_API_TOKEN": "YOUR_UCOZ_API_TOKEN",
"UCOZ_SITE_URL": "https://your-site.ucoz.net/",
"UCOZ_FTP_HOST": "your-site.ucoz.net",
"UCOZ_FTP_USER": "your-ftp-login",
"UCOZ_FTP_PASS": "your-ftp-password"
      }
    }
  }
}

Save the file and restart the MCP server in the settings.

Codex
  1. Open Settings -> MCP -> Add new MCP server.
  2. Server type: STDIO.
  3. Command: npx.
  4. Arguments: -y, ucoz-mcp@latest.
  5. Add environment variables:
  • UCOZ_API_TOKEN - your uAPI token.
  • UCOZ_SITE_URL - site address.
  • UCOZ_FTP_HOST - FTP host.
  • UCOZ_FTP_USER - FTP login.
  • UCOZ_FTP_PASS - FTP password.

Save the settings and restart the MCP server.

Antigravity
  1. Open Agent Manager -> ... menu in the upper right corner.
  2. Select MCP Servers -> Manage MCP Servers -> View raw config.
  3. The mcp_config.json file will open. Add a block to it:
{
  "mcpServers": {
    "ucoz-mcp": {
      "command": "npx",
      "args": ["-y", "ucoz-mcp@latest"],
      "env": {
"UCOZ_API_TOKEN": "YOUR_UCOZ_API_TOKEN",
"UCOZ_SITE_URL": "https://your-site.ucoz.net/",
"UCOZ_FTP_HOST": "your-site.ucoz.net",
"UCOZ_FTP_USER": "your-ftp-login",
"UCOZ_FTP_PASS": "your-ftp-password"
      }
    }
  }
}

Save the file, click Refresh and make sure that the server appears and is turned on.

Claude Desktop

Add the same block to claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "ucoz-mcp": {
      "command": "npx",
      "args": ["-y", "ucoz-mcp@latest"],
      "env": {
"UCOZ_API_TOKEN": "YOUR_UCOZ_API_TOKEN",
"UCOZ_SITE_URL": "https://your-site.ucoz.net/",
"UCOZ_FTP_HOST": "your-site.ucoz.net",
"UCOZ_FTP_USER": "your-ftp-login",
"UCOZ_FTP_PASS": "your-ftp-password"
      }
    }
  }
}

MCP Tools

templates_tool is the main tool for working with page templates, global blocks, site menus, mail forms and backups. All changes to templates go through it with automatic backup creation.
Action What it does Required parameters
list_modulesReturns a list of modules and template IDs.β€”
get_variablesShows variables for the selected module/template.module_id, template_id
read_templateReads the current template HTML code.module_id, template_id
update_templateCreates a backup and saves changes to the template.module_id, template_id, html_content
validate_templateValidates the template code without saving.module_id, template_id, content
list_backupsList of existing template backups.module_id, template_id
create_backupCreates a backup manually.module_id, template_id
delete_backupDeletes a backup by ID.backup_id
restore_backupRestores a template from a backup.backup_id
gblock_createCreates a global block.name, content
gblock_deleteDeletes a global block.block_id
menu_listList of all site menus.β€”
menu_createCreates a new menu (layout: 0 - horizontal, 1 - vertical).title, layout
menu_getReturns a menu with items.menu_id
menu_updateUpdates the title and/or menu type.menu_id
menu_deleteDeletes a menu.menu_id
menu_update_itemsReplaces the menu item tree (supports children).menu_id, items
mail_list_formsList of all mail forms.β€”
mail_get_formForm details.form_id
mail_create_formCreates a new form.name, email
mail_update_formUpdates name, recipients, success message.form_id
mail_delete_formDeletes a form.form_id
mail_list_fieldsList of form fields.form_id
mail_add_fieldAdds a field to the form.form_id, label, type
mail_update_fieldUpdates the field.form_id, field_id
mail_delete_fieldDeletes a field.form_id, field_id
mail_move_fieldChanges the field order.form_id, field_id, direction
mail_get_templateReads the HTML form mail template.form_id
mail_save_templateSaves the HTML email template.form_id, template_html
get_referenceTemplate language variable reference.β€”
get_guideTemplate architecture guide.β€”
get_backup_guideGuide to working safely with backups.β€”
ftp_tool β€” tool for site files over FTP: downloading CSS, JS, images and other resources, creating folders, reading and rewriting files directly from the agent chat.
Action What it does Required parameters
listShows files and folders at the specified path.path
readReads the contents of the file.path
writeWrites text content to a file.path, content
mkdirCreates a directory.path
deleteDeletes a file or folder.path
renameRenames or moves a file/folder.path, new_path
uploadUploads a local file to FTP.local_path, remote_path

Typical scenarios

1. Creating a landing page on the main page

  1. read_template (module_id=2, template_id=1) -> read the current main template
  2. menu_list -> checking existing menus
  3. menu_create / menu_update_items -> create or update navigation with anchor links
  4. ftp_tool: write /css/style.css -> load landing page styles
  5. ftp_tool: write /js/script.js -> load scripts
  6. validate_template -> validate HTML without saving
  7. update_template -> save the final template (a backup is created automatically)

2. Adding a mail form to the site

  1. mail_list_forms -> get a list of forms and e-mail recipients
  2. mail_create_form (name, email) -> create a new form
  3. mail_add_field Γ— N -> add fields: name, phone, message
  4. mail_list_fields -> check the order and system names of the fields (f1, f2...)
  5. mail_get_template -> read HTML letters
  6. mail_save_template -> save the updated letter template
  7. update_template -> insert $MFORM_<ID>$ in the desired place in the template

3. Uploading and updating CSS/JS via FTP

  1. ftp_tool: list (path="/") -> check for the presence of the /css and /js folders
  2. ftp_tool: mkdir /css, /js -> create folders if they don’t exist
  3. ftp_tool: write /css/style.css -> write CSS
  4. ftp_tool: write /js/script.js -> write JS
  5. read_template -> open the template for editing connections
  6. update_template -> update the version of ?v= in file links

4. Rolling back a template to a previous version

  1. list_backups (module_id, template_id) -> get a list of backups with dates
  2. restore_backup (backup_id) -> restore the desired version of the template
  3. read_template -> check that the template is restored correctly

5. Navigation menu update

  1. menu_list -> get the ID of the desired menu
  2. menu_get (menu_id) -> look at the current structure of items
  3. menu_update_items (menu_id, items) -> replace the tree of items with new URLs and nesting