Seven lessons, one workflow, and a handful of real, citable bugs later, this last lesson is a single reference you can come back to the next time something doesn’t register, doesn’t validate, or doesn’t show up where you expected. Nothing new is introduced here, it’s the checklist form of everything already covered, in the order you should actually run through it.
All seven previous lessons in this course. This lesson doesn’t introduce new mechanisms, it’s a reference built entirely from what came before.
Step 1: The checklist, in run order
Step 2: Every real issue cited in this course
Keep these numbers, they’re the fastest way to check whether your exact symptom has already been diagnosed by someone else:
All three of these were found, diagnosed, and fixed by real people hitting the same wall you might be hitting. Before spending an afternoon on a workaround, search github.com/WordPress/mcp-adapter/issues for your specific error message, there’s a reasonable chance it’s already a closed issue with a real answer, exactly like the three cited throughout this course.
Step 3: When none of this explains your failure
If you’ve worked through the full checklist and you’re still stuck, the most useful
thing you can do next is turn your reproduction from Lesson 1 into a report someone
else can act on immediately. A good report includes, at minimum: the exact
wp_register_ability() call (or a minimal version reproducing the same shape), your
WordPress, MCP Adapter, and any relevant plugin (like WooCommerce) versions, the exact
wp eval output showing registration succeeded or failed, and the exact
wp-content/debug.log lines from a request with WP_DEBUG_LOG on. That’s precisely
the shape of information that made issue #135 solvable in a handful of comments instead
of staying open indefinitely, several separate people confirmed the same fix against
the same reproduction steps.
“It doesn’t work” with no version numbers, no reproduction, and no log output is functionally undebuggable by anyone else, including future you in six months. The minute you spend capturing the exact command and its exact output is the same minute that turns a multi-day back-and-forth into a same-day fix.
Recap
The workflow underneath this entire course is small: reproduce directly, check the log
with debugging on, confirm registration before permission before execution, and verify
with a real tool instead of trusting a single client’s rendering of a failure. Layered
on top of that workflow are three specific, real, citable bugs, a missing category
argument mistaken for a WooCommerce conflict (#135), a bare untyped input_schema
breaking registration in Cursor (#35), and an empty-arguments validation bug fixed in
v0.5.0 (#116). None of these are hypothetical, and none of them require guessing, they
were all found, diagnosed, and resolved in the open, and the same tracker is worth
searching the next time something new turns up.
With debugging covered, the natural next steps depend on where your project is headed. If you haven’t yet built the permission and security layer this track assumes, go back to WordPress MCP Security & Authentication (Course 4). If your server itself still needs work before you’re ready to debug it in production, revisit Build a WordPress MCP Server From Scratch (Course 2) and WordPress AI Foundations (Course 1) for the Abilities API fundamentals this entire course assumed you already had.
Resources & further reading
- Issue #135 and PR #224, GitHub
- Issue #35 and PR #36, GitHub
- Issue #116, GitHub
- MCP Adapter repository, GitHub
- MCP Inspector repository, GitHub
- Abilities API reference, developer.wordpress.org