Search for abilities
The search_abilities tool finds abilities across all your WordPress sites (or a specific site) using relevance-ranked matching. It’s faster than listing every site’s catalog when you know what you’re looking for.
Prerequisites
Section titled “Prerequisites”- A personal API key configured in your MCP client
- At least one site where you have connected your WordPress account
- The site’s ability catalog synchronized (happens automatically once you connect)
Search across all connected sites
Section titled “Search across all connected sites”Ask Claude to search without specifying a site:
Search my WordPress sites for abilities related to "create post"Claude calls search_abilities with:
{ "query": "create post", "limit": 10}Example response:
Found 3 abilities across 2 sites:
1. core/create-post (example.com) Create a new WordPress post Category: Content
2. core/create-page (example.com) Create a new WordPress page Category: Content
3. custom/create-draft (staging.example.com) Create a draft post with custom fields Category: CustomSearch a specific site
Section titled “Search a specific site”Narrow the search to one site:
Search example.com for "plugin" abilitiesClaude calls search_abilities with:
{ "query": "plugin", "site_id": "site_2f8Kq1xLmR7bTnW4dZyP0c", "limit": 10}This only searches the specified site’s catalog.
How search works
Section titled “How search works”Search matches your query against four fields, weighted by relevance:
| Field | Weight | Example match |
|---|---|---|
name |
Highest | core/create-post matches “create” |
label |
High | “Create Post” matches “create” |
category |
Medium | “Content” matches “content” |
description |
Low | “Creates a new WordPress post” matches “post” |
Matching is:
- Case-insensitive — “Create” = “create” = “CREATE”
- Whole-word, not substring — “post” matches “post” and “posts”, but a short token like “I” in “who am I” will not match every ability that happens to contain the letter. Tokens of three characters or more also match by prefix.
- Ranked — exact matches in
namerank higher than matches indescription - Floored — a hit must beat a single description-word match. Every hit
carries a
score, so you can apply a stricter floor of your own.
When nothing is relevant
Section titled “When nothing is relevant”found: false is a real answer, not an empty list to retry. reason says which
case it is:
reason |
Meaning |
|---|---|
no_semantic_match |
Sites were searched and nothing cleared the floor. Call list_site_abilities once to refresh or browse; repeating search with different wording will not conjure an ability that is not there. |
no_connected_sites |
There is no connected site in scope to search. |
empty_catalogs |
Sites are connected, but no ability could be read from any of them — either never synced or their catalogs could not be read. See degraded_sites. |
total_matches counts only hits above the floor.
Control result count
Section titled “Control result count”Limit the number of results returned:
Find the top 5 "comment" abilitiesClaude sets limit: 5. The range is 1–25; the default is 10.
Degraded sites
Section titled “Degraded sites”If a site’s ability catalog is stale or unavailable, it appears in degraded_sites:
Found 2 abilities, but 1 site catalog is stale:
Degraded sites:- dev.example.com (catalog stale, last synced 3 days ago)
Refresh it by listing abilities for that site.To refresh:
List all abilities for dev.example.comThis forces a catalog sync. Then search again.
Use search results to run abilities
Section titled “Use search results to run abilities”Search returns each ability’s input_schema, so you can go straight from search to execution:
Search for "create post" abilities, then create a draft poston example.com titled "Test" with content "Hello"Claude:
- Calls
search_abilitiesto findcore/create-post - Calls
run_site_abilitywith the discovered ability name and your input
Common search queries
Section titled “Common search queries”| Query | Finds |
|---|---|
"create post" |
Post creation abilities |
"plugin" |
Plugin management (install, activate, etc.) |
"user" |
User management (create, delete, role) |
"media" |
Media upload, attachment, image tools |
"taxonomy" |
Category, tag, custom taxonomy |
"export" |
Data export, backup, migration |
Errors
Section titled “Errors”No sites connected
Section titled “No sites connected”Error: No personally connected sites found.Complete the WordPress account connection flow for at least one site.Solution: Complete the WordPress account connection flow (see Getting started).
Site not found
Section titled “Site not found”Error: Site example.com not found or not owned by your account.Verify the site with list_account_sites.
Malformed query
Section titled “Malformed query”Error: Query must be between 1 and 200 characters.Shorten your search query to 200 characters or less.
Performance notes
Section titled “Performance notes”- Search uses cached catalogs — it never syncs a site inline. Stale catalogs appear in
degraded_sites. - Account-wide search (no
site_id) scans only sites where you have connected your WordPress account. - Fast for targeted lookups — “create post” is instant. Don’t use search to browse every ability (use
list_site_abilitiesinstead).
Next steps
Section titled “Next steps”- Getting started tutorial — Run your first ability
- List account sites tool — See all your sites
- Site and WordPress account connections — Understand connection requirements