Shim MCP
Allows interaction with a WordPress site, exposing abilities across posts, pages, media, users, plugins, menus, widgets, comments, options, and system management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Shim MCPlist my recent draft posts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shim MCP — WordPress MCP Server for Claude Code, Cursor, and any MCP client
A self-contained Model Context Protocol (MCP) server for WordPress, built for developers. Install one plugin and your WordPress site becomes an MCP server that Claude Code, Claude Desktop, Cursor, Windsurf, Cline, or any MCP-compatible AI client can drive — 56 abilities across posts, pages, media, users, plugins, menus, widgets, comments, options and system management.
No companion plugins. No cloud relay. No account anywhere. Your site talks to your AI client and nothing sits in between.
Who this is for
Developers who live in a terminal or an editor.
If you run wp commands, keep VS Code open all day, and want Claude Code or Cursor to work on a local WordPress install the same way it works on the rest of your codebase — that's the case this was built for. It works fine as a remote server for a production site too, but the local-first path is the one that got the attention.
Related MCP server: MCP Connector For WordPress
Two ways to connect
1. Local, over stdio (WP-CLI) — the reason this plugin exists.
wp shim-mcp serve --user=adminThat runs the MCP server as a plain stdio process: JSON-RPC in on STDIN, responses out on STDOUT. No HTTP, no ports, no tunnel, no application password, no OAuth dance. Point Claude Code or Cursor at that command and it connects the way any other local MCP server does.
Worth being precise about what's different here, because several WordPress MCP plugins mention WP-CLI. In those, WP-CLI is a tool the AI can call — the model asks the remote server to run a wp command on your behalf, over an authenticated HTTP connection. Useful, but the connection is still remote, still HTTP, still needs a token.
Shim uses WP-CLI as the transport itself. The server runs as a local process on your machine and speaks MCP over a pipe. There is no HTTP request, no token to issue or revoke, and nothing listening on a port. For a site you have checked out locally, that removes the entire authentication surface rather than securing it.
2. Remote, over HTTP — for sites you aren't sitting in front of.
Generate an application password from Tools → Shim MCP, copy the config snippet, done. Streamable HTTP transport, MCP spec-compliant, capability-checked on every call.
Why "Shim"
In systems programming, a shim is a thin layer that sits between two interfaces so they can work together without either side changing.
That is exactly what this is. WordPress speaks the Abilities API. AI clients speak MCP. Shim translates between the two and does nothing else.
The name is a promise about scope. It is not an AI product. It does not bundle a chatbot, a content generator, a credits system, or a dashboard that wants to become your workflow. It does not phone home. It is the adapter, not the appliance — and when WordPress core ships the Abilities API natively, the plugin gets smaller, not bigger.
What makes it different
The MCP server runs over stdio. Others expose WP-CLI as a tool reachable through a remote HTTP connection; here WP-CLI is the transport, running locally with no port, no token and no HTTP layer at all.
Genuinely self-contained. The MCP server and all 56 abilities ship in one plugin. No companion plugin, no framework, no service to sign up for.
Abilities API native. Every ability is registered through WordPress's own
wp_register_ability(). Nothing lives in a private tool registry, so abilities registered by other plugins are exposed too, automatically, with no adapter code.Per-object permission checks, not just blanket ones. Every ability declares a capability, and every ability that touches a specific object re-checks the per-object capability (
edit_post,delete_post,read_post,edit_user,delete_user,edit_comment) against that object before reading or mutating it. A contributor's client cannot edit an editor's post. Holdingedit_postsis not treated as permission to edit any post.56 abilities, deliberately. This is not a race to the largest tool count. Every ability is documented with its required capability in the abilities reference.
Nothing leaves your server. No proxy, no relay, no telemetry, no vendor account.
The one dangerous ability is off by default. Rewriting
wp-config.phpstays disabled unless you opt in explicitly withdefine( 'SHIM_MCP_ALLOW_CONFIG_WRITES', true );.
Quick start
Local development (stdio)
git clone https://github.com/justadityaraj/shim-mcp.git wp-content/plugins/shim-mcp
wp plugin activate shim-mcp
wp shim-mcp serve --user=adminThen register it with your client. For Claude Code:
claude mcp add shim -- wp shim-mcp serve --user=admin --path=/full/path/to/wordpressRemote site (HTTP)
Install the plugin — upload the zip via Plugins → Add New → Upload Plugin, or clone into
wp-content/plugins/.Go to Tools → Shim MCP and click Generate to create an application password.
Copy the config snippet shown on the dashboard into your AI client's config.
Ready-made snippets for Claude Code, Claude Desktop and Cursor are on the dashboard.
Available commands
wp shim-mcp serve [--server=<server-id>] [--user=<id|login|email>] # run the MCP server over stdio
wp shim-mcp list [--format=<format>] # list registered MCP serversFeatures
56 WordPress abilities across content, media, users, plugins, menus, widgets, comments, options and system management
Plugin abilities cover listing, activating, deactivating and deleting what is already installed; installing new plugins is deliberately out of scope
MCP protocol 2024-11-05, 2025-03-26 and 2025-06-18 with automatic version negotiation
Two transports: stdio over WP-CLI, and Streamable HTTP
Admin dashboard with application password generation and revocation
Config export for Claude Code, Claude Desktop and Cursor
Detects other MCP server plugins and warns when two would compete
Requirements
WordPress 6.9 or higher (for the Abilities API, which core ships from 6.9)
PHP 8.0 or higher
WP-CLI, for the stdio transport only
Documentation
Setup Guide — installation, client configuration, troubleshooting
Abilities Reference — all 56 abilities with their required capabilities
Security Policy — the trust model, and how to report a vulnerability
Status
Early release, and submitted to the WordPress.org plugin directory — awaiting review. Approval is not granted yet, so for now install it from the releases page or by cloning this repository.
It is feature-complete and the abilities are documented, but it has not yet run across a broad range of hosting environments. Issues and reports are welcome.
Verification
Verified on WordPress 7.1 / PHP 8.5.9 — activation, the admin dashboard, the MCP handshake, all 56 abilities registering through core's native Abilities API, and a full create, update, patch, read and delete cycle.
Check | Result |
WordPress Plugin Check (all categories) | 0 errors, 0 warnings |
PHP_CodeSniffer, WordPress-Extra | 0 violations |
PHPStan level 5 with WordPress stubs | 0 issues |
| pass |
PHPCompatibility, PHP 8.0 to 8.5 | 0 issues |
Plugin Check is an automated scan of the directory's coding requirements. Passing it says the code meets those standards; it is not a review outcome and implies no endorsement by WordPress.org.
Maintainer
Built and maintained by Aditya Raj Singh at BNCW Enterprises.
Credits
Shim MCP builds its protocol layer on WordPress's own MCP work: everything under includes/Server/ is derived from the WordPress MCP Adapter (GPL-2.0). The abilities are registered through WordPress's own Abilities API, which core ships from 6.9. The 56 abilities, the admin dashboard, the WP-CLI stdio bridge and the packaging are original to this plugin. See CREDITS.md for the full breakdown.
License
GPL-2.0-or-later. See LICENSE for the full text.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that gives AI tools full WordPress management via WP-CLI. 30+ tools for themes, plugins, posts, menus, users, database, scaffolding, and cache. Works locally or over SSH.34315MIT
- FlicenseNot gradedqualityCmaintenanceA local MCP server that bridges Claude Desktop to your WordPress site via the WordPress MCP Adapter. It dynamically discovers and proxies all tools, resources, and prompts registered through the WordPress Abilities API.
- AlicenseNot gradedqualityAmaintenanceTurns any WordPress site into an MCP server, allowing AI clients to directly control files, database, WP-CLI, PHP, content, and more through declarative abilities without writing code.GPL 2.0
- AlicenseNot gradedqualityAmaintenanceA free WordPress plugin that turns your site into a governed MCP server, exposing 153 curated WordPress abilities (posts, media, users, WooCommerce, ACF, SEO) as tools for AI agents like Claude and Cursor. Every ability is off by default, scoped to a least-privilege user, capability-gated, and logged.3GPL 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/justadityaraj/shim-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server