GoBuildWP

GoBuildWP Pro · 13 WPML abilities

WPML MCP that puts AI-made pages in the right language. Through WPML's own hooks, confirmed first.

GoBuildWP's WPML MCP gives an AI client 13 typed abilities in GoBuildWP Pro: list languages and translatable types, see which translations each item is missing, assign a language to content WPML has no record of, and link posts into one translation group. It moves ids and languages, and writes theme and plugin string translations you supply; it does not translate anything itself.

Pro from $39/year, WPML 4.7+, Setup guide

Proposed sequence using source-declared abilities in GoBuildWP Pro 1.12.4. Site, IDs, changes and outcomes are illustrative; no live client, native-editor or restore test is recorded here. Confirm the installed schema and policy separately. A confirmed call carries confirm: true, which the agent sets itself by default; a person approves only when Confirmation mode is “A person approves” or a Pro approval policy holds the call.

The problem this solves first

Content created without WPML in mind can have no language at all.

A missing language or translation-group record is one possible cause, not a complete switcher diagnosis. Inspect published status, the post type's translatable setting, language assignment, every current group member, switcher configuration and cache. WPML stores language relationships separately from core post content; verify the saved relationship and rendered switcher/hreflang after a separately approved repair.

Writing that table directly is the obvious shortcut and the wrong one: it skips the cache invalidation and translation-job bookkeeping WPML hangs off its own actions. Every read and write here goes through WPML's documented hooks instead.

Guard rails on WPML writes

  • Hooks, not tables. Every read and write goes through WPML's documented hooks, so its caches and translation-job bookkeeping stay consistent.
  • Group read first. Changing a post's language can split a translation group, so the current group is shown before a write.
  • Old values returned. String translations sit outside the change ledger, so each write returns the value it replaced.
  • Dry runs for bulk. Up to a hundred string translations per call, after a dry run that writes nothing.
Safety profiles and the change ledger

Translation workflow

Find the gaps, then close them in order

Every content row carries the translations its group holds, so the missing languages are the ones still to do. That answer costs one call, not one per item per language.

  1. Confirm the type is translatable

    Check that WPML has the post type switched on for translation.

  2. List source content

    Read each row's translation map in the source language.

  3. Write the translation

    Create or edit translated content with the ordinary content abilities, WPML's editor, or a person.

  4. Assign and link

    Give the translated post its language and link it into the source group, with confirmation.

  5. Verify

    Re-read the group and check the language switcher on the front end.

Language routing

WPML abilities that decide which language a page lives in

Reads
8
Writes
3
Destructive effects
2
  • wpml-list-content

    Each item with its language, group id and the full set of translations, so the missing languages show in one call.

  • wpml-get-content-language

    One post's language and translation group; has_language false means WPML has no record of it.

  • wpml-set-content-language

    Assigns a language, the fix for content created by a tool that knew nothing about WPML.

  • wpml-link-content-translations

    Joins posts into one translation group so the language switcher moves between them.

  • wpml-list-translatable-types

    Which post types and taxonomies WPML translates: the usual answer to "why did the language write fail".

  • wpml-get-translation

    Resolves an id to its counterpart in another language, for links, menus and queries.

Complete module

All 13 WPML abilities, content and strings

WPML String Translation must be active for the string abilities; the content abilities need only WPML itself.

Reads · 8
WPML abilities: Reads
AbilityWhat it doesRead / Write / DestructiveEdition
wpml-check-setupCheck WPML SetupReadPro
wpml-get-content-languageGet WPML Content LanguageReadPro
wpml-get-string-translationsGet WPML String TranslationsReadPro
wpml-get-translationGet WPML TranslationReadPro
wpml-list-contentList WPML ContentReadPro
wpml-list-languagesList WPML LanguagesReadPro
wpml-list-stringsList WPML StringsReadPro
wpml-list-translatable-typesList WPML Translatable TypesReadPro
Writes · 3
WPML abilities: Writes
AbilityWhat it doesRead / Write / DestructiveEdition
wpml-bulk-set-string-translationsBulk Set WPML String TranslationsWritePro
wpml-register-stringRegister WPML StringWritePro
wpml-set-string-translationSet WPML String TranslationWritePro
Destructive effects; inspect confirmation policy · 2
WPML abilities: Destructive effects; inspect confirmation policy
AbilityWhat it doesRead / Write / DestructiveEdition
wpml-link-content-translationsLink WPML Content TranslationsDestructivePro
wpml-set-content-languageSet WPML Content LanguageDestructivePro

Names drop the wppilot/ prefix. All 13 are GoBuildWP Pro and load only while the WPML plugin or theme is active. Supported writes are recorded in the change ledger with a redacted before and after, and reversible ones can be rolled back.

Multilingual jobs

Translation gaps and orphans an agent can close

  • Find what is not translated yet

    List source content with each group's translations and report the gaps by language.

    Example prompt: List English pages that have no German translation yet.

  • Rescue orphaned AI content

    Find posts WPML has no language for and assign one, instead of recreating them.

    Example prompt: Find pages with no WPML language and assign the language their content is written in.

  • Link translations someone made by hand

    Join existing posts into one group so the switcher connects them.

    Example prompt: Link these English, French and Spanish pricing pages as translations of each other.

Requirements

WPML versions, companions and what stays manual

Requirements

WordPress
6.9 or newer, PHP 8.0 or newer.
WPML
WPML Multilingual CMS 4.7 or newer.
Companions
String Translation is needed for the string abilities; WooCommerce Multilingual status is reported, not required.
GoBuildWP
Free plugin plus a Pro licence for the 13 WPML abilities.
Current versions
GoBuildWP Free 1.18.6 and Pro 1.12.4.

Limits

  • No generated translations. Translated prose and string text come from a person, WPML's editor, your AI client or the ordinary content abilities.
  • String translations are not in the change ledger. WPML keeps them in its own tables, so each write returns the value it replaced, and overwriting a different translation needs confirmation. Page-builder and form package strings still go through WPML's Translation Editor.
  • No WPML configuration. Adding a language or changing translation mode is an admin decision with site-wide effects; it is reported, never changed.
  • Changing the language of a post other translations point at can split a group. The abilities show the current group first.

First run

  1. Install GoBuildWP Free

    WordPress 6.9+ and PHP 8.0+; the site becomes its own MCP endpoint.

  2. Connect a client

    OAuth 2.1 in the browser, or an Application Password where the client cannot sign in.

  3. List the gaps

    On a Read Only connection, run wpml-check-setup, then list source content with its translation map.

  4. Link one group

    With Pro, assign a language to one orphaned page and link it, confirming each call.

Setup guide · OAuth 2.1 · Application Passwords · Client guides

FAQ

WPML MCP questions about languages and strings

Builder MCP guides: Elementor, Bricks, Breakdance, Divi, Oxygen, Beaver Builder, WPBakery, Flatsome, Etch, Mosaic.

What is WPML MCP?

It is a controlled way for an MCP client to read and change WPML's language model: which languages exist, which post is in which language, which posts form one translation group, and what a post's counterpart is in another language. GoBuildWP Pro registers it when WPML 4.7 or newer is active.

Does it translate my content?

No. These abilities move ids and languages, and the string abilities store translations you or your AI client supply; none of them generates a translation. Create the translated content the way you normally would, then link it.

Can it translate theme and plugin strings?

With WPML String Translation active, yes: the agent lists strings with what is still untranslated per language, registers a string WPML has not picked up, and writes translations one at a time or up to a hundred per call after a dry run. The words still come from you or your AI client, and package strings from page builders and forms stay in WPML's Translation Editor.

Why does my AI-created page not appear in the language switcher?

One common cause is that it has no language at all: WPML stores language in its own table and nothing in WordPress core writes to it, and wpml-get-content-language reports has_language false. Other causes include an unpublished post, a post type not set to translatable, a missing link to the source's translation group, switcher settings or a cache. Check those, assign a language or link the group if that is the gap, then check the rendered switcher.

Are language changes reversible?

Language assignment and group linking require confirmation and are recorded as irreversible in this route. Keep the complete original group for manual repair, preserve unrelated language members, and verify the saved group and rendered switcher. A recorded write is not a supported ledger undo.

Find the pages WPML has no language for.

Connect read-only and list content with its translation map; the missing languages are the ones to do next.