Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "wordpal_theme"
⟨33 unchanged words⟩ by status and the most installed themes. -statusversion: the theme version wordpress.org lists now. run: the run the gallery shows. run.theme_version is the version it converted, which can be older. - run.status (exact, diff, failed) is a verdict ⟨41 unchanged words⟩ when the conversion fails. - Filters combine: status (run.status), tag, q. count: themes that pass ⟨10 unchanged words⟩ status. - Row: slug, name, installs, version, and run with status, routes_measured, routes_matching, markup_diffs_total. Up to eight ⟨8 unchanged words⟩ markup differences. - theme: the row, plus author, tags and page_url. Its run adds plugins to install first, convert_command, reason when failed, wordpal_release,page_urland image links. -routesrun.routes: route, markup_outcome (match, diff, skipped, ⟨94 unchanged words⟩
Certificate changed, valid to 2027-01-14
Changed the definition of "query_dataset" and "wordpal_theme"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨16 unchanged words⟩ them asks. Call describe_dataset first; it lists the3536 views, their columns, joins and recipes. Prefer ⟨186 unchanged words⟩
⟨212 unchanged words⟩ visual_changed count the rows both screenshots have. - history: every run the gallery has shown for the theme, newest first, home page only. direction (improved, regressed, same, changed) compares a run with the run before. - next_offset is absent on the last page.
Changed the definition of "wordpal_theme"
⟨194 unchanged words⟩ , visual_bands, visual_changed, wp_height and drupal_height. - wp_only_rows and drupal_only_rows: pixel rows that one screenshot alone has. visual_bands and visual_changed count the rows both screenshots have. - next_offset is absent on the last page.
Changed the definition of "wordpal_theme"
⟨51 unchanged words⟩ page only. exact: its markup has nodifference.difference and its screenshot matches the WordPress screenshot. diff:itthehasmarkupsomediffers, the screenshots differ, or the two pages could not be ⟨127 unchanged words⟩
Changed the definition of "query_dataset" and "wordpal_theme"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨16 unchanged words⟩ them asks. Call describe_dataset first; it lists the3335 views, their columns, joins and recipes. Prefer ⟨186 unchanged words⟩
⟨47 unchanged words⟩ verdict on the home page only. exact:noitselementmarkup
Added "wordpal_theme" (16 tools before, 17 now)
WordPress theme conversion status — Answer "does this WordPress block theme convert to Drupal with WordPal". The WordPal gallery converts every block theme on wordpress.org each night. With slug: one theme and its routes. Without slug: counts by status and the most installed themes. - status (exact, diff, failed) is a verdict on the home page only. exact: no element differs. diff: some differ, or the two pages could not be compared. failed: no pair of home page screenshots, as when the conversion fails. - Filters combine: status, tag, q. count: themes that pass all three. by_status: themes that pass tag and q, per status. - Row…
Changed the definition of "search_code"
⟨131 unchanged words⟩ A parse error returns the index's own message. - not_indexed: the repos the index lacks. A project with no installs and no recent release is not indexed.
Changed the definition of "query_dataset"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨16 unchanged words⟩ them asks. Call describe_dataset first; it lists the3133 views, their columns, joins and recipes. Prefer ⟨186 unchanged words⟩
Changed the definition of "reroll_patch"
⟨100 unchanged words⟩ reroll.base is the tag used. - drop_tests:trueleaveleavesit out and thepatch'sre-rolltestdropsfileseveryout,file the release package omits. false keepsthem. Withouteveryithunk,
Recently observed → Live
Live → Recently observed
Changed the definition of "project_upgrade_report"
⟨42 unchanged words⟩ name drupal/webform is accepted. Packages from other vendors(acquia/cohesion)are not in the dataset.","type":" ⟨28 unchanged words⟩
Changed the definition of "list_projects"
⟨145 unchanged words⟩ dev_branches (branch, installs, core_minors, era),latest_release.latest_release, cms_depth, member_of_count. cms_depth is the row's membership depth under the cms root; member_of_count is how many roots include it. A project in no root has neither; a project that is not a cms member has member_of_count alone. count: projects. next_offset is absent on the last page.
Changed the definition of "list_projects", "project_profile" and "query_dataset"
⟨42 unchanged words⟩ (+ missing), era (d8plus, pre_d8), member_of (+ max_depth). All apply to count and rows. - ⟨35 unchanged words⟩ no branch declaring it: the upgrade gap list. - member_of keeps one root's members, direct and transitive; max_depth (needs member_of) drops members past that many requires away. A filtered list adds membership: root_release, complete, unread_count and unread (up to 20, package + cause). - Row: machine_name, title, type, installs ⟨17 unchanged words⟩
⟨60 unchanged words⟩ 50).","type":"integer"},"max_depth":{"description":"With member_of: drop members further than this many requires away, 1 or more.","type":["null","integer"]},"member_of":{"description":"Filter: keep only members of this root project's composer requires walk, for example cms.","type":"string"},"min_installs":{"description":"Filter: reported install
Changed the definition of "check_patches", "reroll_patch" and "scan_composer"
⟨416 unchanged words⟩ :"string"},"target_core":{"description":"The core versionCore the added code is checked against: a minor (11.4 or 11.4.x) or a release (11.4.5). A minor with no core release in the data is refused,11.4.5.and so is a major alone. latest checks no references. Defaults to the lock's drupal/core, else the ⟨9 unchanged words⟩
⟨267 unchanged words⟩ "array"]},"target_core":{"description":"The core version
Certificate recorded, valid to 2026-11-15
Authorization not required
First tool surface recorded: 16 tools (server version 0.39.0)
Showing the latest 19 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨49 unchanged words⟩ string"},"drop_tests":{"description":"Optional.true leaves the patch's testLeavefilesit outofand the re-roll,falsedropskeepseverythem.fileWithouttheitrelease package omits,coreread12fromandthelaterrelease'sleaveownthemarchive.outfalseandkeeps everyotherhunk,patchforkeepsathem.site installed from source.","type":["null","boolean"]} ⟨258 unchanged words⟩
⟨139 unchanged words⟩ ("*" is the total). - member_of: how many roots pull this project in (count), and up to 10 {root, depth}, shallowest and alphabetical first. - include=["related"]: related becomes the full ⟨83 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨16 unchanged words⟩ them asks. Call describe_dataset first; it lists the2931 views, their columns, joins and recipes. Prefer ⟨186 unchanged words⟩
⟨129 unchanged words⟩ command lists every patch to send. target_core: 11.4, 11.4.5, or11.4.5.latest for the newest core the site's constraint allows. Without patches, target_from holds the package whose constraint decided latest. When the site requires no core package, latest is the installed core and target_from says so. Empty scans against the installed core (target_is_installed) ⟨414 unchanged words⟩
⟨300 unchanged words⟩ string"},"target_core":{"description":"Coreversionto move to,:e.g.a minor (11.4), a release (11.4.5), or11.4.5.latest for the newest core the site's own constraint allows. Leave empty to scan against the core the ⟨17 unchanged words⟩