AI agents (MCP)
tranzly for AI agents
Your WordPress site is its own MCP server. An AI assistant signs in as a WordPress user with an application password and can do what that user may do with tranzly — nothing more.
75 actions: 55 free, 20 in Pro.
Developer reference: every action, its REST route and its parameters
Set it up in three steps
Check the switch
You need WordPress 6.9 or later and tranzly 3.19.0 or later. In the plugin's settings, "Allow AI agents (MCP)" is on unless you turned it off.
Create an application password
In WordPress, open Users, then Profile, and add an application password named after your AI app. Copy it: WordPress shows it once.
Add the site to your AI app
Use your WordPress username, the application password and your site's connection address:
https://example.com/wp-json/tranzly/v1/mcp
Configuration for popular AI apps
Every app below talks to your site through the official WordPress proxy, @automattic/mcp-wordpress-remote. Replace the address, username and password with yours.
Claude Desktop
// claude_desktop_config.json
{
"mcpServers": {
"tranzly": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-wordpress-remote@latest"
],
"env": {
"WP_API_URL": "https://example.com/wp-json/tranzly/v1/mcp",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your-application-password"
}
}
}
}Claude Code
claude mcp add tranzly \
-e WP_API_URL=https://example.com/wp-json/tranzly/v1/mcp \
-e WP_API_USERNAME=your-username \
-e WP_API_PASSWORD=your-application-password \
-- npx -y @automattic/mcp-wordpress-remote@latestCursor and VS Code
// .cursor/mcp.json · .vscode/mcp.json
{
"mcpServers": {
"tranzly": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-wordpress-remote@latest"
],
"env": {
"WP_API_URL": "https://example.com/wp-json/tranzly/v1/mcp",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your-application-password"
}
}
}
}ChatGPT and other apps
Any app that supports MCP servers over standard input and output can use the same command and settings. Apps that only connect to remote HTTP servers can reach the connection address directly with the same username and application password.
What an AI agent can do
Everything the plugin's own screens can do. Actions marked Pro need a tranzly Pro licence.
| Action | What it does | Edition |
|---|---|---|
| Translate the whole site | Starts background translation jobs for every original of the given content types (all translated types when none are given): the missing translations, the out-of-date ones, or all of them. Returns the jobs started, one per language. | Pro edition |
| Cancel a job | Stops a job; translations already made are kept. | Free edition |
| Check a translation with AI | Has AI compare one translation with its original and score it, and stores the report on the translation. Uses the quality-check AI model set in Tranzly's workflow settings. | Pro edition |
| Connect to support | Connects this site to Zinn Digital® support (name, email, consent). | Free edition |
| Correct a translation | Saves corrected segments of a translation (segments: key to text); corrected text is protected from re-translation. | Free edition |
| Start a translation job | Starts a background job translating listed posts (posts) or a whole post type into languages (langs). | Free edition |
| Create an empty translation | Creates a draft translation of a post in a language (lang) to write by hand, without an engine. | Free edition |
| Create a term translation by hand | Creates a term's translation in a language with a name, slug and description you give. | Free edition |
| Disconnect from support | Disconnects this site from support. | Free edition |
| Estimate a translation | Estimates characters and cost to translate posts (posts or post_type) into languages (langs) with an engine, before spending anything. | Free edition |
| Estimate translating the site (Pro) | Estimates a whole-site translation in a language (post_types, scope, engine) before starting it. | Pro edition |
| Export a file for human translators | Returns an XLIFF or CSV file (as text) with the originals and their translations in one language, for a translator or a translation agency: the given posts, or a page of up to 100 originals of a content type in a state (missing, stale, translated or all; repeat with after). Import it back with tranzly/upload-translation-file. | Pro edition |
| Translate what is missing | Queues translation of every missing (or out-of-date) item in a language and post type. | Free edition |
| Read comment handling (Pro) | Returns whether comments are shared across languages or kept per language. | Pro edition |
| Read the DeepL usage | Returns the characters used and the limit of the saved DeepL key this month. | Free edition |
| Read the site diagnostics | Returns the diagnostics a support ticket would carry: versions, active plugins, limits and recent errors. | Free edition |
| Read the display options | Returns the language switcher and credit display options. | Free edition |
| Read the engine settings | Returns the default and fallback engine, per-language engines, each engine's state and this month's spend. | Free edition |
| Read the glossary | Returns the words never translated, the fixed term translations and the tone per language. | Pro edition |
| Read the integrations | Lists the SEO, WooCommerce, page-builder and form plugins Tranzly supports and which are active here. | Free edition |
| Read a job's progress | Returns one job's progress and counts. | Free edition |
| Read a job's failures | Lists a job's failed items with the reason for each. | Free edition |
| Read the Tranzly 2.x import | Returns the state and report of importing translations from Tranzly 2.x. | Free edition |
| Read the licence | Returns this site's Tranzly plan, licence state, renewal date and what the plan includes. | Free edition |
| Read the menus per language | Returns which menu each language shows in each menu location. | Free edition |
| Read a post's translations | Lists a post's translation group: every language's member with its title, status and edit link. | Free edition |
| Read a quality report (Pro) | Returns a translation's AI quality report: score and the segments it flagged. | Pro edition |
| Read a translation side by side | Returns a translation's segments beside the original's, for review and correction. | Free edition |
| Read theme and plugin texts | Returns the theme and plugin texts (scope) in a language with their translations. | Free edition |
| Read the site's texts in a language | Returns the site title, tagline and widget texts in a language. | Free edition |
| Read the support connection | Says whether this site is connected to Zinn Digital® support, and as whom. | Free edition |
| Read a term's translations | Lists a category's or tag's translation group. | Free edition |
| Read the address settings | Returns how languages appear in addresses (folder, subdomain or domain), translated slugs and bases, and noindex for untranslated pages. | Free edition |
| Read the workflow settings (Pro) | Returns auto-translation on publish and on update, review before publish, and the AI quality check's threshold, provider and model. | Pro edition |
| Migrate from WPML, Polylang or TranslatePress (Pro) | Imports the next page of translations from another multilingual plugin (mode: dry-run or run; cursor). | Pro edition |
| Write an imported file (Pro) | Writes the next page of posts from an uploaded translation file (repeat with after until done). | Pro edition |
| Link an existing post as a translation | Makes an existing post (target) the translation of this post in a language. | Free edition |
| Link an existing term as a translation | Makes an existing term (target) the translation of this term in a language. | Free edition |
| List translation engines | Lists the translation engines, whether each is set up, and which one is used when none is named. | Free edition |
| List plugins to migrate from (Pro) | Lists WPML, Polylang and TranslatePress data found on this site that can be imported. | Pro edition |
| List translation jobs | Lists background translation jobs, newest first, with progress. | Free edition |
| List languages | Lists the site's languages. The first one is the language the original content is written in. | Free edition |
| List what is missing or out of date | Lists originals with their translation state in a language (state: missing, stale, current), page by page. | Free edition |
| List temporary support logins | Lists the temporary support users granted to our team and when each expires. | Free edition |
| List theme and plugin text sources (Pro) | Lists the themes and plugins whose texts can be scanned for translation, and how many strings each has. | Pro edition |
| Open a support ticket | Files a support ticket (subject, message, kind, email) with this site's diagnostics; access_days and credentials optionally grant our team temporary access. | Free edition |
| Consent to support diagnostics | Records the administrator's consent to send diagnostics with support tickets. | Free edition |
| Retry or hand off a failed item | Retries a failed item (action: retry, optionally with another engine) or marks it for translating by hand (action: by-hand). | Free edition |
| Approve or reject a translation (Pro) | Approves a translation (and publishes it when the original is published) or sends it back (decision, note). | Pro edition |
| Revoke temporary support logins | Removes temporary support users now (ids). | Free edition |
| Import Tranzly 2.x translations | Runs the 2.x import: dry-run (report only), run, or undo. | Free edition |
| Scan a theme or plugin for texts (Pro) | Scans the next page of a component's PHP files for translatable texts (repeat with after until done). | Pro edition |
| Check translations with AI (Pro) | Schedules the AI quality check of the next page of a language's translations (or the given posts). | Pro edition |
| Multilingual SEO audit (Pro) | Checks translations for missing SEO titles, descriptions, slugs and hreflang in a language, page by page. | Pro edition |
| Change comment handling (Pro) | Shares comments across a post's translations or keeps them per language (mode). | Pro edition |
| Save an engine key | Saves the API key (and region for Microsoft) of DeepL, Google or Microsoft; empty removes it. Keys are stored encrypted and never returned. | Free edition |
| Set the menus per language | Assigns a menu per language per location (map). | Free edition |
| Protect or unlock a translation | Protects a translation from being overwritten by the engine (protected: true), or unlocks it. | Free edition |
| Correct theme and plugin texts | Saves corrected translations of theme and plugin texts (strings); they become protected. | Free edition |
| Translate a site text | Saves one site text (key) in a language, e.g. the site title or tagline. | Free edition |
| Change the address settings | Sets the address mode (mode), per-language domains, translated bases and segments, noindex_untranslated and slug suggestions. | Free edition |
| Start the free Pro trial | Starts the 14-day Tranzly Pro trial for this site (no payment needed). | Free edition |
| Translate an image's text | Saves an image's alt text, title or caption (field) in a language (lang). | Free edition |
| Translate a post or page | Translates one post or page into one or more of the site's languages with a translation engine, creating each translation or updating it. New translations are drafts unless publish is true. A translation a person edited is skipped unless force is true. | Free edition |
| Translate missing theme and plugin texts | Translates the next page of untranslated theme and plugin texts in a language with the default engine (repeat with after until done). | Free edition |
| Translate a category or tag | Translates one term (category, tag or product attribute) into a language (lang) with an engine, creating or updating its translation. | Free edition |
| Translation status | With a post ID: each language's translation of that post, whether it is out of date, and who wrote it. Without one: how much of the site is translated, per language. | Free edition |
| Unlink a post from its translations | Takes a post out of its translation group; it keeps its language. | Free edition |
| Unlink a term from its translations | Takes a term out of its translation group. | Free edition |
| Change the display options | Changes the switcher (style, flags, names, placement) and the credit line. | Free edition |
| Change the engine settings | Sets the default engine, a fallback engine and per-language engines (default, fallback, per_lang). Per-language engines and fallback are Pro. | Free edition |
| Update the glossary | Replaces the parts of the glossary you send (words never translated, term translations, tone); parts you leave out are kept. Used by every engine from the next translation on. | Pro edition |
| Change languages and settings | Sets the site's languages (languages: list of code and name; the first is the original language), the front-end class prefix, and whether AI agents (MCP) are allowed. | Free edition |
| Change the workflow settings (Pro) | Sets on_update (off, stale, translate), on_publish, review, quality_threshold, quality_provider and quality_model. | Pro edition |
| Import a translated file (Pro) | Uploads a Tranzly XLIFF or CSV file (content, filename) translated elsewhere; answers a token for tranzly/import-translation-file. | Pro edition |
Guided workflows
The server also offers ready-made workflows your AI app lists as prompts:
- Translate my site — A guided workflow: the agent checks the languages and engine, estimates the cost, and translates what is missing, asking before it spends or publishes.
Safe by design
Each action checks the same WordPress permission as the plugin's own screen, for the exact page or post it touches. A subscriber cannot connect at all.
Application passwords can be revoked at any time under Users, Profile, without changing your normal password.
Turn "Allow AI agents (MCP)" off and the actions and the connection address disappear from the site.
Pages an agent changes keep their WordPress revisions, so any change can be undone.
Hosted with Zinn Digital®?
If Zinn Digital® hosts the site, our own MCP server can use these actions for you without an application password: connect your AI app to the Zinn Digital® MCP server and use wordpress_abilities_list and wordpress_ability_run.