io.github.cvrt-jh/wordpress-mcp
NPM · @CAVORT-IT-SYSTEMS/WORDPRESS-MCP · SCANNED SEP 20
Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses)
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 62 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability69
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2147 tokens (~44/item across 48 items; 48 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 97% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "wp_delete_post" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.cvrt-jh/wordpress-mcp server?
io.github.cvrt-jh/wordpress-mcp runs locally as an npm package, launched with npx -y @cavort-it-systems/wordpress-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @cavort-it-systems/wordpress-mcp
claude mcp add cvrt-jh-wordpress-mcp -- npx -y @cavort-it-systems/wordpress-mcp
{
"mcpServers": {
"cvrt-jh-wordpress-mcp": {
"command": "npx",
"args": [
"-y",
"@cavort-it-systems/wordpress-mcp"
]
}
}
} {
"servers": {
"cvrt-jh-wordpress-mcp": {
"command": "npx",
"args": [
"-y",
"@cavort-it-systems/wordpress-mcp"
]
}
}
} codex mcp add cvrt-jh-wordpress-mcp -- npx -y @cavort-it-systems/wordpress-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cvrt-jh-wordpress-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@cavort-it-systems/wordpress-mcp"
],
"enabled": true
}
}
} openclaw mcp add cvrt-jh-wordpress-mcp --command npx --arg -y --arg @cavort-it-systems/wordpress-mcp
mcp_servers:
cvrt-jh-wordpress-mcp:
command: "npx"
args: ["-y", "@cavort-it-systems/wordpress-mcp"] {
"McpServers": {
"cvrt-jh-wordpress-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@cavort-it-systems/wordpress-mcp"
]
}
}
} assistant mcp add cvrt-jh-wordpress-mcp -t stdio -c npx -a -y @cavort-it-systems/wordpress-mcp
{
"mcpServers": {
"cvrt-jh-wordpress-mcp": {
"command": "npx",
"args": [
"-y",
"@cavort-it-systems/wordpress-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −3
- Stability: pass → 0.80 functional
- 16 Sept 26 0
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −3
- Stability: pass → 0.77 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@cavort-it-systems/wordpress-mcp@1.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
wp_activate_plugin ~33
Activate a plugin
| Name | Type | Req | Description |
|---|---|---|---|
| plugin | string | yes | Plugin identifier (e.g., 'akismet/akismet.php') |
No output schema declared.
No examples provided.
wp_activate_theme ~31
Activate a theme (switch themes)
| Name | Type | Req | Description |
|---|---|---|---|
| stylesheet | string | yes | Theme stylesheet (folder name) to activate |
No output schema declared.
No examples provided.
wp_create_category ~50
Create a new category
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Description |
| name | string | yes | Category name |
| parent | number | – | Parent category ID |
| slug | string | – | URL slug |
No output schema declared.
No examples provided.
wp_create_comment ~77
Create a comment on a post
| Name | Type | Req | Description |
|---|---|---|---|
| author_email | string | – | Author email (if not logged in) |
| author_name | string | – | Author name (if not logged in) |
| content | string | yes | Comment content |
| parent | number | – | Parent comment ID (for replies) |
| post | number | yes | Post ID |
No output schema declared.
No examples provided.
wp_create_page ~65
Create a new WordPress page
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | Page content (HTML) |
| menu_order | number | – | Menu order |
| parent | number | – | Parent page ID |
| status | string | – | Page status |
| title | string | yes | Page title |
No output schema declared.
No examples provided.
wp_create_post ~83
Create a new WordPress post
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | – | Category IDs |
| content | string | – | Post content (HTML) |
| excerpt | string | – | Post excerpt |
| featured_media | number | – | Featured image ID |
| status | string | – | Post status |
| tags | array | – | Tag IDs |
| title | string | yes | Post title |
No output schema declared.
No examples provided.
wp_create_tag ~40
Create a new tag
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Description |
| name | string | yes | Tag name |
| slug | string | – | URL slug |
No output schema declared.
No examples provided.
wp_create_user ~67
Create a new WordPress user
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address | |
| name | string | – | Display name |
| password | string | yes | Password |
| roles | array | – | Roles (e.g., ['editor']) |
| username | string | yes | Username (login name) |
No output schema declared.
No examples provided.
wp_deactivate_plugin ~35
Deactivate a plugin
| Name | Type | Req | Description |
|---|---|---|---|
| plugin | string | yes | Plugin identifier (e.g., 'akismet/akismet.php') |
No output schema declared.
No examples provided.
wp_delete_category ~22
Delete a category
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Category ID |
No output schema declared.
No examples provided.
wp_delete_comment ~35
Delete a comment
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Bypass trash and delete permanently |
| id | number | yes | Comment ID |
No output schema declared.
No examples provided.
wp_delete_media ~37
Delete a media item
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Permanently delete (bypass trash) |
| id | number | yes | Media ID |
No output schema declared.
No examples provided.
wp_delete_page ~45
Delete a page (moves to trash, or permanently if force=true)
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Bypass trash and delete permanently |
| id | number | yes | Page ID |
No output schema declared.
No examples provided.
wp_delete_plugin ~41
Delete/uninstall a plugin (must be deactivated first)
| Name | Type | Req | Description |
|---|---|---|---|
| plugin | string | yes | Plugin identifier (e.g., 'akismet/akismet.php') |
No output schema declared.
No examples provided.
wp_delete_post ~45
Delete a post (moves to trash, or permanently if force=true)
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Bypass trash and delete permanently |
| id | number | yes | Post ID |
No output schema declared.
No examples provided.
wp_delete_tag ~22
Delete a tag
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Tag ID |
No output schema declared.
No examples provided.
wp_delete_user ~44
Delete a user (requires reassign parameter)
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | User ID to delete |
| reassign | number | yes | User ID to reassign content to |
No output schema declared.
No examples provided.
wp_get_active_theme ~16
Get the currently active theme
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
wp_get_comment ~24
Get a comment by ID
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Comment ID |
No output schema declared.
No examples provided.
wp_get_media ~25
Get a media item by ID
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Media ID |
No output schema declared.
No examples provided.
wp_get_namespaces ~22
List available REST API namespaces (plugins may add custom endpoints)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
wp_get_page ~35
Get a single page by ID
| Name | Type | Req | Description |
|---|---|---|---|
| content | boolean | – | Include full content |
| id | number | yes | Page ID |
No output schema declared.
No examples provided.
wp_get_plugin ~35
Get plugin details by slug
| Name | Type | Req | Description |
|---|---|---|---|
| plugin | string | yes | Plugin identifier (e.g., 'akismet/akismet.php') |
No output schema declared.
No examples provided.
wp_get_post ~35
Get a single post by ID
| Name | Type | Req | Description |
|---|---|---|---|
| content | boolean | – | Include full content |
| id | number | yes | Post ID |
No output schema declared.
No examples provided.
wp_get_settings ~24
Get WordPress site settings (title, tagline, timezone, date format)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
wp_get_theme ~28
Get theme details by stylesheet name
| Name | Type | Req | Description |
|---|---|---|---|
| stylesheet | string | yes | Theme stylesheet (folder name) |
No output schema declared.
No examples provided.
wp_get_user ~24
Get a user by ID
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | User ID |
No output schema declared.
No examples provided.
wp_list_categories ~52
List all categories
| Name | Type | Req | Description |
|---|---|---|---|
| hide_empty | boolean | – | Hide categories with no posts |
| parent | number | – | Parent category ID (0 for top-level) |
| per_page | number | – | Categories per page |
No output schema declared.
No examples provided.
wp_list_comments ~52
List comments
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | Page number |
| per_page | number | – | Comments per page |
| post | number | – | Filter by post ID |
| status | string | – | Comment status |
No output schema declared.
No examples provided.
wp_list_media ~58
List media library items
| Name | Type | Req | Description |
|---|---|---|---|
| media_type | string | – | Filter by type |
| page | number | – | Page number |
| per_page | number | – | Items per page (max 100) |
| search | string | – | Search term |
No output schema declared.
No examples provided.
wp_list_pages ~78
List WordPress pages
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | – | – |
| orderby | string | – | – |
| page | number | – | Page number |
| parent | number | – | Parent page ID (0 for top-level) |
| per_page | number | – | Pages per request (max 100) |
| status | string | – | Page status filter |
No output schema declared.
No examples provided.
wp_list_plugins ~24
List all installed plugins
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Filter by status |
No output schema declared.
No examples provided.
wp_list_posts ~110
List WordPress posts with optional filters
| Name | Type | Req | Description |
|---|---|---|---|
| author | number | – | Author ID |
| categories | string | – | Category ID(s), comma-separated |
| order | string | – | – |
| orderby | string | – | – |
| page | number | – | Page number |
| per_page | number | – | Posts per page (max 100) |
| search | string | – | Search term |
| status | string | – | Post status filter |
| tags | string | – | Tag ID(s), comma-separated |
No output schema declared.
No examples provided.
wp_list_tags ~46
List all tags
| Name | Type | Req | Description |
|---|---|---|---|
| hide_empty | boolean | – | Hide tags with no posts |
| per_page | number | – | Tags per page |
| search | string | – | Search term |
No output schema declared.
No examples provided.
wp_list_themes ~25
List all installed themes
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Filter by status |
No output schema declared.
No examples provided.
wp_list_users ~64
List WordPress users
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | Page number |
| per_page | number | – | Users per page (max 100) |
| roles | string | – | Filter by role(s), comma-separated |
| search | string | – | Search by name or email |
No output schema declared.
No examples provided.
wp_me ~14
Get the currently authenticated user
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
wp_moderate_comments ~35
Batch moderate comments by status
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | Comment IDs |
| status | string | yes | New status |
No output schema declared.
No examples provided.
wp_search_posts ~34
Search posts by keyword
| Name | Type | Req | Description |
|---|---|---|---|
| per_page | number | – | Results per page |
| search | string | yes | Search term |
No output schema declared.
No examples provided.
wp_site_info ~23
Get WordPress site information (name, description, URL, timezone)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
wp_update_category ~58
Update a category
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Description |
| id | number | yes | Category ID |
| name | string | – | Category name |
| parent | number | – | Parent category ID |
| slug | string | – | URL slug |
No output schema declared.
No examples provided.
wp_update_comment ~47
Update a comment (approve, edit content, etc.)
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | Comment content |
| id | number | yes | Comment ID |
| status | string | – | Comment status |
No output schema declared.
No examples provided.
wp_update_media ~66
Update media item metadata (title, alt text, caption)
| Name | Type | Req | Description |
|---|---|---|---|
| alt_text | string | – | Alt text for images |
| caption | string | – | Caption |
| description | string | – | Description |
| id | number | yes | Media ID |
| title | string | – | Title |
No output schema declared.
No examples provided.
wp_update_page ~72
Update an existing page
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | Page content (HTML) |
| id | number | yes | Page ID |
| menu_order | number | – | Menu order |
| parent | number | – | Parent page ID |
| status | string | – | Page status |
| title | string | – | Page title |
No output schema declared.
No examples provided.
wp_update_post ~90
Update an existing post
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | – | Category IDs |
| content | string | – | Post content (HTML) |
| excerpt | string | – | Post excerpt |
| featured_media | number | – | Featured image ID |
| id | number | yes | Post ID |
| status | string | – | Post status |
| tags | array | – | Tag IDs |
| title | string | – | Post title |
No output schema declared.
No examples provided.
wp_update_settings ~53
Update WordPress site settings
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Site tagline/description |
| timezone_string | string | – | Timezone (e.g., Europe/Berlin) |
| title | string | – | Site title |
No output schema declared.
No examples provided.
wp_update_tag ~48
Update a tag
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Description |
| id | number | yes | Tag ID |
| name | string | – | Tag name |
| slug | string | – | URL slug |
No output schema declared.
No examples provided.
wp_update_user ~58
Update an existing user
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | Email address | |
| id | number | yes | User ID |
| name | string | – | Display name |
| password | string | – | New password |
| roles | array | – | Roles |
No output schema declared.
No examples provided.
What is the io.github.cvrt-jh/wordpress-mcp server?
io.github.cvrt-jh/wordpress-mcp is listed in the public MCP registry as io.github.cvrt-jh/wordpress-mcp. Lightweight WordPress MCP server - 42 tools, token-optimized (95% smaller responses). This page covers its npm package (@cavort-it-systems/wordpress-mcp).
Is the io.github.cvrt-jh/wordpress-mcp server safe to use?
io.github.cvrt-jh/wordpress-mcp scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.cvrt-jh/wordpress-mcp server expose?
io.github.cvrt-jh/wordpress-mcp exposes 48 tools: wp_site_info, wp_get_settings, wp_update_settings, wp_get_namespaces, wp_list_posts, and 43 more. Their descriptions and schemas cost roughly 2,147 tokens of context every time the server is loaded.
Is the io.github.cvrt-jh/wordpress-mcp server still maintained?
io.github.cvrt-jh/wordpress-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.cvrt-jh/wordpress-mcp server under?
io.github.cvrt-jh/wordpress-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.