WordPress MCP Safe
Allows reading content (posts, pages, media, categories, tags), creating draft posts and pages, uploading media, generating SEO proposals and revision notes, analyzing page SEO, checking internal links, and generating content reports on a WordPress staging site. Does not allow publishing, deleting, or administrative actions.
Click on "Deploy 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., "@WordPress MCP Safe Create a draft post about sustainable beekeeping with SEO analysis."
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.
WordPress MCP Safe
Server MCP locale per gestire WordPress in modo sicuro, controllato e orientato alla gestione editoriale.
Collega Cursor (o qualsiasi client MCP) al tuo WordPress staging per leggere contenuti, creare bozze, analizzare SEO e generare report — senza pubblicare, cancellare o eseguire operazioni amministrative.
Cursor/LLM ──stdio──► MCP Server (locale) ──HTTPS──► WordPress Staging
│ ai_editor / Editor
▼
logs/actions.logPerché questo progetto
Problema | Soluzione |
L'AI pubblica contenuti non revisionati | Solo bozze e proposte, mai |
L'AI modifica il sito live | Staging obbligatorio, blocco all'avvio |
L'AI cancella contenuti | Nessun tool delete/trash |
L'AI installa plugin o modifica temi | Ruolo Editor, nessun endpoint admin |
Nessuna tracciabilità | Log locale di ogni operazione |
Related MCP server: seo-factory-mcp
Quick start
git clone <repository-url> mcp-wordpress
cd mcp-wordpress
npm install
cp .env.example .env
# Modifica .env con il tuo staging
npm run build
npm testConfigura Cursor
Aggiungi in ~/.cursor/mcp.json:
{
"mcpServers": {
"wordpress-staging": {
"command": "node",
"args": ["/percorso/assoluto/a/mcp-wordpress/dist/index.js"],
"env": {
"WORDPRESS_BASE_URL": "https://staging.example.com",
"WORDPRESS_USERNAME": "ai_editor",
"WORDPRESS_APPLICATION_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
"WORDPRESS_ENVIRONMENT": "staging"
}
}
}
}Riavvia Cursor. Chiedi: "Usa wp_get_site_info per verificare la connessione".
Tool disponibili (22)
Categoria | Tool | Descrizione |
Lettura |
| Info sito |
| Elenco contenuti | |
| Dettaglio per ID | |
| Ricerca keyword | |
| Tassonomie | |
| Media library | |
Scrittura |
| Crea bozze |
| Aggiorna bozze | |
| Upload file | |
| Proposta SEO | |
| Nota di revisione | |
Analisi |
| Audit SEO |
| Verifica link | |
| Report contenuti | |
| Contenuti obsoleti | |
| Suggerimenti |
Dettagli ed esempi: docs/tools.md
Esempio d'uso
"Analizza la pagina Affitto laboratorio smielatura e prepara una versione migliorata SEO"
wp_analyze_page_seo→ analisi headings, keywords, linkwp_create_seo_proposalconcreate_draft: true→ bozza su stagingRestituisce
edit_urlepreview_url— nulla viene pubblicato
Documentazione
Guida | Contenuto |
Panoramica documentazione | |
Design e layer di sicurezza | |
Variabili | |
Utente, Application Password | |
Configurazione MCP | |
Azioni consentite/vietate | |
Scenari operativi | |
Suite test e coverage | |
Mapping REST API | |
Risoluzione problemi |
Struttura progetto
mcp-wordpress/
├── src/
│ ├── index.ts # Entry point
│ ├── config.ts # Validazione ambiente
│ ├── wordpress/ # Client REST (posts, pages, media)
│ ├── mcp/ # Server e tool MCP
│ ├── safety/ # Guardie e permessi
│ ├── seo/ # Analisi SEO
│ ├── logging/ # Audit log
│ └── utils/ # Utility HTML/testo
├── tests/ # 135 test, 100% coverage
├── docs/ # Documentazione completa
├── logs/ # actions.log (auto-generato)
└── .cursor/mcp.json.example # Template configurazioneScript npm
Comando | Descrizione |
| Compila TypeScript → |
| Sviluppo con hot reload |
| Avvia server MCP |
| Esegue test |
| Test con coverage 100% |
| Verifica tipi TypeScript |
Sicurezza in sintesi
✅ Solo ambiente staging (blocco all'avvio)
✅ Solo utente Editor (non admin)
✅ Solo bozze e proposte
✅ Contenuti pubblicati protetti (nuova bozza, no overwrite)
✅ Log locale senza credenziali
❌ Nessun publish, delete, plugin, temi, utenti
Dettagli: docs/security.md
Requisiti
Node.js >= 18
WordPress self-hosted 5.6+ con REST API
Ambiente staging dedicato
Application Password per utente Editor
Licenza
MIT
Available Tools
22 toolswp_analyze_page_seoA
Analyze a page for SEO issues: headings, keywords, meta, internal links, readability.
Inputs: id, search.
wp_analyze_post_seoC
Analyze a post for SEO issues.
Inputs: id, search.
wp_check_internal_linksC
Check internal and external links in a post or page.
Inputs: id (required), type (required).
wp_create_draft_pageB
Create a new page as DRAFT only. Never publishes. Staging only.
Inputs: title (required), slug, parent, content, +1 more.
wp_create_draft_postB
Create a new post as DRAFT only. Never publishes. Staging only.
Inputs: title (required), slug, tags, content, +2 more.
wp_create_revision_noteC
Create a revision draft with an editorial note. Original content is not modified.
Inputs: id (required), note (required), type (required).
wp_create_seo_proposalC
Generate SEO improvement proposal for a post or page. Optionally save as draft.
Inputs: id (required), type (required), create_draft, improved_content.
wp_find_old_contentC
Find published content not updated within a given number of days.
Inputs: days, type.
wp_generate_content_reportB
Generate a summary report of all posts and pages on the site.
Inputs: no named parameters.
wp_get_categoriesA
List all post categories. Read-only.
Inputs: no named parameters.
wp_get_mediaB
Get media item by ID or list recent media. Read-only.
Inputs: id, per_page.
wp_get_pageA
Get a single WordPress page by ID with full content. Read-only.
Inputs: id (required).
wp_get_postA
Get a single WordPress post by ID with full content. Read-only.
Inputs: id (required).
wp_get_site_infoA
Get WordPress site information (name, URL, description). Read-only.
Inputs: no named parameters.
wp_get_tagsA
List all post tags. Read-only.
Inputs: no named parameters.
wp_list_pagesA
List WordPress pages. Supports pagination, status filter, and search. Read-only.
Inputs: page, search, status, per_page.
wp_list_postsB
List WordPress posts. Supports pagination, status filter, and search. Read-only.
Inputs: page, search, status, per_page.
wp_search_contentB
Search posts and pages by keyword. Read-only.
Inputs: query (required), type, per_page.
wp_suggest_content_improvementsC
Get editorial and SEO improvement suggestions for a post or page.
Inputs: id (required), type (required).
wp_update_draft_pageA
Update an existing DRAFT page. If page is published, creates a new draft instead. Never publishes.
Inputs: id (required), slug, title, parent, +2 more.
wp_update_draft_postA
Update an existing DRAFT post. If post is published, creates a new draft instead. Never publishes.
Inputs: id (required), slug, tags, title, +3 more.
wp_upload_mediaC
Upload media to WordPress staging. Staging only.
Inputs: alt_text, filename, file_path, mime_type, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 22 tools
Each tool targets a distinct resource-action combination. Tools are differentiated by content type (post/page) or operation (analyze, create, update, list, etc.), with clear descriptions preventing overlap.
All tools follow the consistent pattern `wp_verb_noun` (or `wp_verb_prep_noun`) with snake_case, e.g., `wp_create_draft_post`, `wp_find_old_content`. No mixing of conventions.
22 tools is well-scoped for a WordPress management server focusing on safe content operations and SEO. Each tool serves a clear purpose without being overwhelming or too sparse.
The server covers core content workflows: create drafts, read, update drafts, search, analyze SEO, and manage media. Missing delete operations, but this aligns with the 'safe' design. Minor gap for publishing.
Related MCP Connectors
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
SEO MCP server for keyword research, SERP analysis, audits, and Search Console workflows.
Search Console MCP server: 8 tools for queries, traffic drops, indexing. Writes preview first.
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for WordPress content management that provides a secure interface for AI assistants to interact with WordPress sites, enabling content creation, editing, and media management without destructive operations.MIT
- AlicenseAqualityDmaintenanceMCP server for SEO content factory and blog growth cycle, enabling content publishing with validation, interlinking, search query mining, and content audits.138 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables safe reconnaissance, mutation, and verification of WordPress sites through guarded, typed verbs with dry-run previews and change-packet audit records.MIT
- FlicenseCqualityDmaintenanceWordPress MCP server with versioned capability-based tools, safe REST write policies, W3C validation, playbooks, SEO checklists, and A/B benchmark reporting for managing WordPress content and sites.32-