Adaptateur MCP WordPress : Rendez votre site compatible avec les agents IA

WordPress rencontre les agents IA. Le nouvel adaptateur MCP rend votre site WordPress compatible avec les agents, permettant aux outils IA comme Cursor et Claude Desktop de decouvrir et executer les "Abilities" WordPress directement.
Ce que vous apprendrez
Dans ce tutoriel, vous apprendrez a :
- Comprendre ce qu'est l'adaptateur MCP WordPress et pourquoi il est important
- Installer et configurer l'adaptateur MCP sur votre site WordPress
- Connecter des agents IA (Cursor, Claude Desktop) a votre site WordPress
- Explorer des cas d'usage pratiques pour l'integration IA-WordPress
- Implementer les meilleures pratiques de securite pour l'acces agent
Prerequis
Avant de commencer, assurez-vous d'avoir :
- WordPress 6.4+ installe et fonctionnel
- PHP 8.1+ sur votre serveur
- Acces administrateur au tableau de bord WordPress
- Cursor IDE ou Claude Desktop (pour les tests)
- Connaissance basique des plugins WordPress et de l'API REST
Qu'est-ce que l'adaptateur MCP WordPress ?
L'adaptateur MCP WordPress est un plugin qui implemente le Model Context Protocol (MCP) pour WordPress, permettant aux agents IA de :
- Decouvrir les capacites WordPress disponibles ("Abilities")
- Executer des actions comme creer des articles, gerer les utilisateurs ou recuperer les donnees du site
- Interagir avec votre site de maniere programmatique via un protocole standardise
Pourquoi c'est important
| Integration traditionnelle | Avec l'adaptateur MCP |
|---|---|
| Developpement API personnalise pour chaque outil IA | Un seul protocole standardise |
| Flux d'authentification complexes | Handshake securise integre |
| Limite a des fournisseurs IA specifiques | Fonctionne avec tout agent compatible MCP |
| Documentation manuelle des capacites | Capacites auto-decouvertes |
L'adaptateur MCP transforme votre site WordPress en une plateforme prete pour l'IA avec laquelle tout agent compatible MCP peut interagir.
Etape 1 : Installer l'adaptateur MCP WordPress
Option A : Installation via le repertoire des plugins WordPress
- Allez dans Extensions > Ajouter dans votre admin WordPress
- Recherchez "MCP Adapter" ou "Model Context Protocol"
- Cliquez sur Installer maintenant puis Activer
Option B : Installation manuelle
Telechargez et installez manuellement.
# Naviguez vers le repertoire des plugins WordPress
cd /var/www/html/wp-content/plugins
# Clonez le depot de l'adaptateur MCP
git clone https://github.com/developer-wordpress/mcp-adapter.git
# Ou telechargez la derniere version
wget https://github.com/developer-wordpress/mcp-adapter/releases/latest/download/mcp-adapter.zip
unzip mcp-adapter.zipPuis activez depuis le panneau d'administration WordPress.
Etape 2 : Configurer l'adaptateur MCP
Configuration de base
Naviguez vers Reglages > MCP Adapter dans votre admin WordPress.
// wp-config.php - Ajoutez ces constantes pour la configuration MCP
// Activer l'adaptateur MCP
define('MCP_ADAPTER_ENABLED', true);
// Definir le port du serveur MCP (defaut : 3001)
define('MCP_ADAPTER_PORT', 3001);
// Activer la journalisation de debogage
define('MCP_ADAPTER_DEBUG', false);
// Restreindre a des adresses IP specifiques (optionnel)
define('MCP_ADAPTER_ALLOWED_IPS', '127.0.0.1,::1');Generer les identifiants API
- Allez dans Reglages > MCP Adapter > Cles API
- Cliquez sur Generer une nouvelle cle
- Nommez votre cle (ex : "Cursor Developpement Local")
- Definissez les permissions (lecture seule, lecture-ecriture, ou admin complet)
- Copiez la cle API generee de maniere securisee
Stockez votre cle API de maniere securisee. Elle fournit un acces direct a votre site WordPress via les agents IA.
Etape 3 : Comprendre les Abilities WordPress
L'adaptateur MCP expose les fonctionnalites WordPress en tant que "Abilities" que les agents IA peuvent decouvrir et utiliser.
Abilities de base
{
"abilities": [
{
"name": "get_site_info",
"description": "Recuperer les informations de base du site WordPress",
"parameters": {}
},
{
"name": "list_posts",
"description": "Lister les articles publies avec des filtres optionnels",
"parameters": {
"status": "string (publish|draft|pending)",
"category": "string",
"limit": "number",
"offset": "number"
}
},
{
"name": "create_post",
"description": "Creer un nouvel article WordPress",
"parameters": {
"title": "string (requis)",
"content": "string (requis)",
"status": "string",
"categories": "array",
"tags": "array"
}
},
{
"name": "update_post",
"description": "Mettre a jour un article existant",
"parameters": {
"post_id": "number (requis)",
"title": "string",
"content": "string",
"status": "string"
}
},
{
"name": "manage_media",
"description": "Telecharger, lister ou supprimer des fichiers media",
"parameters": {
"action": "string (upload|list|delete)",
"file": "string base64 (pour upload)",
"media_id": "number (pour delete)"
}
}
]
}Abilities personnalisees
Vous pouvez enregistrer des abilities personnalisees pour votre configuration WordPress specifique.
// functions.php ou plugin personnalise
add_action('mcp_adapter_register_abilities', function($adapter) {
// Enregistrer une ability personnalisee
$adapter->register_ability([
'name' => 'get_woocommerce_orders',
'description' => 'Recuperer les commandes WooCommerce avec des filtres',
'parameters' => [
'status' => [
'type' => 'string',
'description' => 'Statut de commande (pending, processing, completed)',
'required' => false
],
'date_from' => [
'type' => 'string',
'description' => 'Date de debut (YYYY-MM-DD)',
'required' => false
],
'limit' => [
'type' => 'integer',
'description' => 'Nombre maximum de commandes a retourner',
'default' => 10
]
],
'handler' => function($params) {
// Votre logique personnalisee ici
$args = [
'limit' => $params['limit'] ?? 10,
'status' => $params['status'] ?? 'any',
];
if (!empty($params['date_from'])) {
$args['date_created'] = '>=' . $params['date_from'];
}
$orders = wc_get_orders($args);
return array_map(function($order) {
return [
'id' => $order->get_id(),
'status' => $order->get_status(),
'total' => $order->get_total(),
'customer' => $order->get_billing_email(),
'date' => $order->get_date_created()->format('Y-m-d H:i:s')
];
}, $orders);
}
]);
});Etape 4 : Connecter Cursor IDE a WordPress
Cursor est un editeur de code alimente par l'IA qui supporte MCP. Voici comment le connecter a votre site WordPress.
Configurer les parametres MCP de Cursor
Creez ou editez votre fichier de configuration MCP Cursor.
// ~/.cursor/mcp.json (macOS/Linux)
// %APPDATA%\Cursor\mcp.json (Windows)
{
"mcpServers": {
"wordpress-local": {
"command": "npx",
"args": [
"mcp-remote-client",
"https://your-wordpress-site.com/wp-json/mcp/v1"
],
"env": {
"MCP_API_KEY": "your-api-key-here"
}
}
}
}Alternative : Transport HTTP direct
Si votre site WordPress supporte le transport HTTP.
{
"mcpServers": {
"wordpress-production": {
"transport": "http",
"url": "https://your-wordpress-site.com/wp-json/mcp/v1",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}Tester la connexion dans Cursor
- Redemarrez Cursor apres avoir sauvegarde la configuration
- Ouvrez le panneau de chat IA
- Demandez a Cursor d'interagir avec votre site WordPress :
"Liste mes articles WordPress recents"
"Cree un brouillon d'article sur l'automatisation IA"
"Quel est le nom et la version de mon site WordPress ?"
Etape 5 : Connecter Claude Desktop a WordPress
Claude Desktop supporte egalement les serveurs MCP. Voici la configuration.
Configurer Claude Desktop
Editez votre fichier de configuration Claude Desktop.
// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
// Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": [
"/path/to/mcp-wordpress-client/index.js"
],
"env": {
"WORDPRESS_URL": "https://your-wordpress-site.com",
"WORDPRESS_MCP_KEY": "your-api-key-here"
}
}
}
}Utiliser le client Node.js
Creez un client MCP simple pour WordPress.
// mcp-wordpress-client/index.js
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const WORDPRESS_URL = process.env.WORDPRESS_URL;
const API_KEY = process.env.WORDPRESS_MCP_KEY;
async function callWordPress(ability, params = {}) {
const response = await fetch(`${WORDPRESS_URL}/wp-json/mcp/v1/execute`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify({ ability, params })
});
if (!response.ok) {
throw new Error(`Erreur API WordPress : ${response.statusText}`);
}
return response.json();
}
const server = new Server(
{ name: "wordpress-mcp-client", version: "1.0.0" },
{ capabilities: { tools: {} } }
);
// Recuperer et enregistrer dynamiquement les abilities WordPress
async function registerAbilities() {
const abilities = await callWordPress('list_abilities');
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: abilities.map(ability => ({
name: ability.name,
description: ability.description,
inputSchema: {
type: "object",
properties: ability.parameters,
required: ability.required || []
}
}))
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => {
const result = await callWordPress(request.params.name, request.params.arguments);
return {
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
};
});
}
async function main() {
await registerAbilities();
const transport = new StdioServerTransport();
await server.connect(transport);
}
main().catch(console.error);Etape 6 : Cas d'usage pratiques
Cas d'usage 1 : Gestion de contenu avec l'IA
Demandez a votre agent IA de gerer le contenu WordPress.
Prompt agent : "Cree un nouvel article de blog sur nos resultats Q1 2026.
Titre : 'Bilan de performance Q1 2026'.
Ajoute-le a la categorie 'Actualites de l'entreprise' et mets-le en brouillon."
L'agent utilisera l'ability create_post.
{
"ability": "create_post",
"params": {
"title": "Bilan de performance Q1 2026",
"content": "<!-- Contenu genere par l'IA ici -->",
"status": "draft",
"categories": ["company-news"]
}
}Cas d'usage 2 : Surveillance et rapports du site
Prompt agent : "Donne-moi un resume de la sante de mon site WordPress :
nombre d'articles, plugins actifs et commentaires recents."
L'agent combine plusieurs abilities.
// Orchestration de l'agent
const siteInfo = await callAbility('get_site_info');
const posts = await callAbility('list_posts', { limit: 1000 });
const comments = await callAbility('list_comments', { limit: 10 });
return {
siteName: siteInfo.name,
totalPosts: posts.length,
activePlugins: siteInfo.active_plugins.length,
recentComments: comments
};Cas d'usage 3 : Integration e-commerce (WooCommerce)
Prompt agent : "Montre-moi les commandes WooCommerce d'aujourd'hui et calcule le chiffre d'affaires total."
{
"ability": "get_woocommerce_orders",
"params": {
"date_from": "2026-02-05",
"status": "completed",
"limit": 100
}
}Cas d'usage 4 : Optimisation SEO automatisee
Prompt agent : "Analyse mes 10 derniers articles pour les problemes SEO
et suggere des ameliorations de meta description."
L'agent recupere les articles et les analyse.
// Ability personnalisee pour l'analyse SEO
$adapter->register_ability([
'name' => 'analyze_seo',
'description' => 'Analyser les articles pour les problemes SEO',
'parameters' => [
'post_ids' => ['type' => 'array', 'required' => true]
],
'handler' => function($params) {
$results = [];
foreach ($params['post_ids'] as $post_id) {
$post = get_post($post_id);
$meta_desc = get_post_meta($post_id, '_yoast_wpseo_metadesc', true);
$results[] = [
'post_id' => $post_id,
'title' => $post->post_title,
'title_length' => strlen($post->post_title),
'has_meta_description' => !empty($meta_desc),
'meta_description' => $meta_desc,
'word_count' => str_word_count(strip_tags($post->post_content)),
'issues' => []
];
// Verifier les problemes SEO courants
if (strlen($post->post_title) > 60) {
$results[count($results)-1]['issues'][] = 'Titre trop long (>60 caracteres)';
}
if (empty($meta_desc)) {
$results[count($results)-1]['issues'][] = 'Meta description manquante';
}
}
return $results;
}
]);Etape 7 : Meilleures pratiques de securite
1. Utilisez des cles API a portee limitee
Creez differentes cles API pour differents usages.
// Dans les parametres de l'adaptateur MCP ou le code
$read_only_key = mcp_generate_key([
'name' => 'Lecture seule - Rapports',
'permissions' => ['get_site_info', 'list_posts', 'list_comments'],
'rate_limit' => 100 // requetes par minute
]);
$content_manager_key = mcp_generate_key([
'name' => 'Gestionnaire de contenu',
'permissions' => ['*_post', 'manage_media', 'list_*'],
'rate_limit' => 50
]);2. Liste blanche d'IP
Restreignez l'acces MCP aux IP connues.
// wp-config.php
define('MCP_ADAPTER_ALLOWED_IPS', implode(',', [
'127.0.0.1', // Developpement local
'::1', // IPv6 localhost
'203.0.113.50', // IP du bureau
'198.51.100.0/24', // Reseau CI/CD
]));3. Journalisation d'audit
Activez la journalisation complete pour les interactions MCP.
// Activer la journalisation d'audit MCP
add_action('mcp_adapter_ability_executed', function($ability, $params, $result, $user) {
$log_entry = [
'timestamp' => current_time('mysql'),
'ability' => $ability,
'params' => json_encode($params),
'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'unknown',
'ip_address' => $_SERVER['REMOTE_ADDR'],
'api_key_name' => $user['key_name'],
'success' => !is_wp_error($result)
];
// Journaliser dans une table personnalisee ou un service externe
global $wpdb;
$wpdb->insert($wpdb->prefix . 'mcp_audit_log', $log_entry);
}, 10, 4);4. Limitation de debit
Protegez contre les abus avec la limitation de debit.
// Configuration de la limitation de debit
add_filter('mcp_adapter_rate_limit', function($limit, $api_key) {
// Limites differentes pour differentes cles
$key_limits = [
'production-key' => 1000,
'development-key' => 100,
'default' => 50
];
return $key_limits[$api_key['name']] ?? $key_limits['default'];
}, 10, 2);Depannage
Problemes de connexion
Probleme : Cursor/Claude ne peut pas se connecter a WordPress
# Testez le point de terminaison MCP directement
curl -X POST https://your-site.com/wp-json/mcp/v1/abilities \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json"
# Verifiez les problemes SSL
curl -v https://your-site.com/wp-json/mcp/v1/abilities 2>&1 | grep -i sslSolution : Assurez-vous que :
- Le certificat SSL est valide
- Le plugin adaptateur MCP est active
- La cle API a les bonnes permissions
- Le pare-feu autorise les connexions
Ability non trouvee
Probleme : L'agent signale "ability non trouvee"
Solution : Verifiez l'enregistrement de l'ability.
// Debogage des abilities enregistrees
add_action('init', function() {
if (defined('WP_DEBUG') && WP_DEBUG) {
$adapter = MCP_Adapter::get_instance();
error_log('Abilities MCP enregistrees : ' . print_r($adapter->get_abilities(), true));
}
});Problemes de performance
Probleme : Reponse lente de WordPress
Solution : Activez la mise en cache pour les operations de lecture.
add_filter('mcp_adapter_cache_ability', function($should_cache, $ability) {
// Mettre en cache les abilities en lecture seule
$cacheable = ['get_site_info', 'list_posts', 'list_categories'];
return in_array($ability, $cacheable);
}, 10, 2);
add_filter('mcp_adapter_cache_ttl', function($ttl, $ability) {
return $ability === 'get_site_info' ? 3600 : 300; // 1 heure vs 5 minutes
}, 10, 2);Resume
Dans ce tutoriel, vous avez appris a :
- Installer le plugin adaptateur MCP WordPress
- Configurer les cles API et les parametres de securite
- Connecter Cursor IDE et Claude Desktop a votre site WordPress
- Utiliser les abilities integrees et personnalisees pour l'interaction IA-WordPress
- Implementer les meilleures pratiques de securite pour les deploiements en production
L'adaptateur MCP WordPress ouvre des possibilites puissantes pour automatiser la gestion de contenu, la surveillance et l'integration des capacites IA directement dans votre workflow WordPress.
Prochaines etapes
- Explorez la documentation officielle MCP
- Consultez notre Guide de demarrage rapide MCP
- Decouvrez les Meilleures pratiques de securite MCP
- Rejoignez la communaute WordPress MCP sur GitHub
Besoin d'aide pour implementer MCP pour votre site WordPress ? Contactez Noqta pour des solutions d'integration IA personnalisees adaptees aux besoins de votre entreprise.
Discutez de votre projet avec nous
Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.
Trouvons les meilleures solutions pour vos besoins.
Articles connexes

Automatisation Agentique Régie par MCP : Comment Déployer des Agents IA en Toute Sécurité en 2026
Un plan pratique pour construire des agents IA avec des serveurs MCP, la gouvernance et l'automatisation des flux de travail—plus un chemin de déploiement sûr pour les équipes de production.

Introduction au MCP : Guide de Demarrage Rapide pour Debutants
Commencez avec le Model Context Protocol (MCP) en 15 minutes. Apprenez les fondamentaux, configurez votre premier serveur MCP et connectez-le a une application IA avec des instructions etape par etape.

Flouci : Le Compte Bancaire Professionnel Gratuit pour Auto-entrepreneurs en Tunisie
Découvrez comment Flouci offre un compte bancaire professionnel gratuit et entièrement digital aux auto-entrepreneurs et professionnels (personne physique) en Tunisie, simplifiant la gestion financière.