mcp-easy-ai__wp_list_posts
Lists WordPress posts. Optional filters: status (publish/draft/pending/private/future/trash — default publish; use "any" to get all statuses), statuses (array of statuses, instead of status), search, categories (array of category IDs), tags (array of tag IDs), author (user ID), author_exclude (array of user IDs to exclude), include / exclude (arrays of post IDs; exclude and sticky false cannot be combined with include, which WordPress lets override them), slug (array of slugs), sticky (boolean), has_password (boolean), post_mime_type, comment_count (exact number of comments), year / monthnum / day, after / before (ISO 8601 date-time range on publish date), date_query, tax_query, meta_key / meta_value / meta_compare, meta_query (WP_Query structures from an allowlist; meta filters only on keys this caller could read: a protected key needs the right to edit every post, a status other than publish needs the right to read other authors' posts in it, and a caller w… Through Royally: its server marks it read-only, so it runs straight away.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Only posts published on this day of the month (1-31). | |
| page | No | Page number for pagination. | |
| slug | No | Only posts with one of these slugs. | |
| tags | No | Array of tag IDs to filter by. | |
| year | No | Only posts published in this year (four digits). | |
| after | No | Only posts published on or after this ISO 8601 date-time (e.g. "2026-01-01T00:00:00"). | |
| order | No | Order direction. | desc |
| author | No | Author user ID to filter by. | |
| before | No | Only posts published on or before this ISO 8601 date-time (e.g. "2026-12-31T23:59:59"). | |
| offset | No | Skip this many posts (replaces page-based paging when set). | |
| search | No | Search query to filter posts. | |
| status | No | Post status filter (e.g. publish, draft, pending, private, future). | |
| sticky | No | true: only sticky posts; false: no sticky posts (not with include, which WordPress lets override the exclusion). | |
| context | No | view (default) lists posts you can read; edit lists only posts you can edit and needs edit_posts. | view |
| exclude | No | Leave out these post IDs. Not with include: WordPress ignores an exclusion when include is given. | |
| include | No | Only these post IDs. | |
| orderby | No | Field to order results by. include orders by the include list; meta_value and meta_value_num need meta_key. | date |
| site_id | No | Site to run this tool on: 8ef2e52b-bd07-4671-a363-ebe8b480b65c (https://demo.royalplugins.com) | |
| meta_key | No | Only posts that have this meta key (with meta_value: that value). Also the key meta_value / meta_value_num ordering uses. | |
| monthnum | No | Only posts published in this month (1-12). | |
| per_page | No | Number of posts per page (1-100). | |
| statuses | No | Several statuses at once (any registered status, or any). Use instead of status, not with it. | |
| tax_query | No | WP_Query tax_query clauses, all of which must match, e.g. [{"taxonomy":"genre","field":"slug","terms":["sci-fi"]}]. Clause keys: taxonomy (one registered for posts), terms, field (term_id, slug, name, term_taxonomy_id), operator (IN, NOT IN, AND, EXISTS, NOT EXISTS), include_children; an object holding clauses and relation (AND/OR) nests. At most 10 clauses, 3 levels. | |
| categories | No | Array of category IDs to filter by. | |
| date_query | No | WP_Query date_query clauses, all of which must match, e.g. [{"after":"2026-01-01","column":"post_modified"}]. Clause keys: year, month, monthnum, week, w, dayofyear, day, dayofweek, dayofweek_iso, hour, minute, second, after, before, inclusive, compare, column (post_date, post_date_gmt, post_modified, post_modified_gmt); an object holding clauses and relation (AND/OR) nests. At most 10 clauses, 3 levels. | |
| meta_query | No | WP_Query meta_query clauses, all of which must match, e.g. [{"key":"rating","value":"4","compare":">=","type":"NUMERIC"}]. Clause keys: key (required), value, compare, type; an object holding clauses and relation (AND/OR) nests. Keys follow the same readability rule as meta_key. At most 10 clauses, 3 levels. | |
| meta_value | No | Meta value to compare with meta_key's value. Needs meta_key. | |
| raw_columns | No | Edit context only. Each post also carries raw: every database column as WordPress stores it (ID, post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count, filter). Default false. | |
| has_password | No | true: only password-protected posts; false: only posts without a password. A meta filter from a caller who cannot edit every post needs false (or, with edit_posts and edit_published_posts, author set to their own user ID and no author_exclude). | |
| meta_compare | No | How meta_value is compared. Needs meta_key. | |
| comment_count | No | Only posts with exactly this many comments. | |
| author_exclude | No | Array of author user IDs to EXCLUDE from results. | |
| post_mime_type | No | Only posts with this MIME type (WP_Query post_mime_type; posts normally have none). |