Servidor MCP de WooCommerce
Un servidor de Protocolo de contexto de modelo (MCP) para la integración de WooCommerce, compatible con Windows, macOS y Linux.
Descripción general
Este servidor MCP permite la interacción con tiendas WooCommerce a través de la API REST de WordPress. Proporciona herramientas integrales para gestionar todos los aspectos de productos, pedidos, clientes, envíos, impuestos, descuentos y configuración de la tienda mediante el protocolo JSON-RPC 2.0.
Instalación
- Clonar el repositorio
- Instalar dependencias:
- Construir el proyecto:
Configuración
Agregue el servidor a su archivo de configuración de MCP con variables de entorno para las credenciales:
{
"mcpServers": {
"woocommerce": {
"command": "node",
"args": ["path/to/build/index.js"],
"env": {
"WORDPRESS_SITE_URL": "https://your-wordpress-site.com",
"WOOCOMMERCE_CONSUMER_KEY": "your-woocommerce-consumer-key",
"WOOCOMMERCE_CONSUMER_SECRET": "your-woocommerce-consumer-secret",
"WORDPRESS_USERNAME": "your-wordpress-username",
"WORDPRESS_PASSWORD": "your-wordpress-password"
}
}
}
}
Variables de entorno
Necesario para acceder a la API de WooCommerce:
WORDPRESS_SITE_URL
: URL de su sitio de WordPress (WooCommerce es un complemento de WordPress)WOOCOMMERCE_CONSUMER_KEY
: Clave de consumidor de la API REST de WooCommerceWOOCOMMERCE_CONSUMER_SECRET
: Secreto del consumidor de la API REST de WooCommerce
Requerido solo para los métodos de API de WordPress:
WORDPRESS_USERNAME
: Nombre de usuario de WordPress con los permisos adecuadosWORDPRESS_PASSWORD
: Contraseña de WordPress para autenticación
También puede proporcionar estas credenciales en los parámetros de solicitud si prefiere no utilizar variables de entorno.
Opciones de autenticación
Autenticación de WooCommerce
El acceso a la API de WooCommerce requiere claves de consumidor que puedes generar en tu panel de WordPress en WooCommerce → Configuración → Avanzado → API REST.
Autenticación de WordPress
Para los métodos específicos de WordPress (como administrar publicaciones), debes proporcionar:
- Credenciales de usuario/contraseña para autenticación básica
- La API REST de WordPress debe estar habilitada en su sitio
Métodos API
El servidor admite los métodos de la API de WordPress y WooCommerce. A continuación, se muestra una lista de los métodos disponibles, agrupados por categoría:
Gestión de contenido de WordPress
Estos métodos requieren credenciales de nombre de usuario y contraseña de WordPress y son independientes de la API de WooCommerce.
Método | Descripción |
---|
create_post | Crear una nueva publicación en WordPress |
get_posts | Recuperar publicaciones de WordPress |
update_post | Actualizar una publicación existente de WordPress |
get_post_meta | Obtener metadatos de la publicación |
update_post_meta | Actualizar metadatos de la publicación |
create_post_meta | Crear metadatos de publicaciones |
delete_post_meta | Eliminar metadatos de la publicación |
Productos WooCommerce
Método | Descripción |
---|
get_products | Recuperar una lista de productos |
get_product | Obtenga un solo producto por ID |
create_product | Crear un nuevo producto |
update_product | Actualizar un producto existente |
delete_product | Eliminar un producto |
get_product_meta | Obtener metadatos del producto |
create_product_meta | Crear/actualizar metadatos del producto |
update_product_meta | Actualizar metadatos del producto (alias para crear) |
delete_product_meta | Eliminar metadatos del producto |
Categorías de productos
Método | Descripción |
---|
get_product_categories | Recuperar categorías de productos |
get_product_category | Obtenga una única categoría de producto |
create_product_category | Crear una nueva categoría de producto |
update_product_category | Actualizar una categoría de producto |
delete_product_category | Eliminar una categoría de producto |
Etiquetas de productos
Método | Descripción |
---|
get_product_tags | Recuperar etiquetas de productos |
get_product_tag | Obtenga una sola etiqueta de producto |
create_product_tag | Crear una nueva etiqueta de producto |
update_product_tag | Actualizar una etiqueta de producto |
delete_product_tag | Eliminar una etiqueta de producto |
Atributos del producto
Método | Descripción |
---|
get_product_attributes | Recuperar atributos del producto |
get_product_attribute | Obtener un único atributo del producto |
create_product_attribute | Crear un nuevo atributo de producto |
update_product_attribute | Actualizar un atributo de producto |
delete_product_attribute | Eliminar un atributo de producto |
get_attribute_terms | Recuperar términos de atributos |
get_attribute_term | Obtener un único término de atributo |
create_attribute_term | Crear un nuevo término de atributo |
update_attribute_term | Actualizar un término de atributo |
delete_attribute_term | Eliminar un término de atributo |
Variaciones del producto
Método | Descripción |
---|
get_product_variations | Recuperar variaciones de producto |
get_product_variation | Obtenga una única variación del producto |
create_product_variation | Crear una nueva variación de producto |
update_product_variation | Actualizar una variación de producto |
delete_product_variation | Eliminar una variación de producto |
Reseñas de productos
Método | Descripción |
---|
get_product_reviews | Recuperar reseñas de productos |
get_product_review | Obtenga una reseña de un solo producto |
create_product_review | Crear una nueva reseña de producto |
update_product_review | Actualizar una reseña de un producto |
delete_product_review | Eliminar una reseña de un producto |
Pedidos de WooCommerce
Método | Descripción |
---|
get_orders | Recuperar una lista de pedidos |
get_order | Obtenga un pedido único por ID |
create_order | Crear un nuevo pedido |
update_order | Actualizar un pedido existente |
delete_order | Eliminar un pedido |
get_order_meta | Obtener metadatos del pedido |
create_order_meta | Crear/actualizar metadatos de pedidos |
update_order_meta | Actualizar metadatos de la orden (alias para crear) |
delete_order_meta | Eliminar metadatos de pedidos |
Notas del pedido
Método | Descripción |
---|
get_order_notes | Recuperar notas de pedidos |
get_order_note | Obtener una nota de pedido única |
create_order_note | Crear una nueva nota de pedido |
delete_order_note | Eliminar una nota de pedido |
Reembolsos de pedidos
Método | Descripción |
---|
get_order_refunds | Recuperar reembolsos de pedidos |
get_order_refund | Obtenga un reembolso de un solo pedido |
create_order_refund | Crear un nuevo reembolso de pedido |
delete_order_refund | Eliminar un reembolso de pedido |
Clientes de WooCommerce
Método | Descripción |
---|
get_customers | Recuperar una lista de clientes |
get_customer | Obtener un solo cliente por ID |
create_customer | Crear un nuevo cliente |
update_customer | Actualizar un cliente existente |
delete_customer | Eliminar un cliente |
get_customer_meta | Obtener metadatos del cliente |
create_customer_meta | Crear/actualizar metadatos del cliente |
update_customer_meta | Actualizar metadatos del cliente (alias para crear) |
delete_customer_meta | Eliminar metadatos del cliente |
Envío
Método | Descripción |
---|
get_shipping_zones | Recuperar zonas de envío |
get_shipping_zone | Obtenga una única zona de envío |
create_shipping_zone | Crear una nueva zona de envío |
update_shipping_zone | Actualizar una zona de envío |
delete_shipping_zone | Eliminar una zona de envío |
get_shipping_methods | Recuperar métodos de envío |
get_shipping_zone_methods | Obtener métodos de envío para una zona |
create_shipping_zone_method | Crear un nuevo método de envío para una zona |
update_shipping_zone_method | Actualizar un método de envío para una zona |
delete_shipping_zone_method | Eliminar un método de envío de una zona |
get_shipping_zone_locations | Obtener ubicaciones para una zona de envío |
update_shipping_zone_locations | Actualizar ubicaciones para una zona de envío |
Impuestos
Método | Descripción |
---|
get_tax_classes | Recuperar clases de impuestos |
create_tax_class | Crear una nueva clase de impuesto |
delete_tax_class | Eliminar una clase de impuesto |
get_tax_rates | Recuperar tasas de impuestos |
get_tax_rate | Obtener una tasa impositiva única |
create_tax_rate | Crear una nueva tasa impositiva |
update_tax_rate | Actualizar una tasa impositiva |
delete_tax_rate | Eliminar una tasa impositiva |
Descuentos/Cupones
Método | Descripción |
---|
get_coupons | Recuperar cupones |
get_coupon | Obtenga un solo cupón |
create_coupon | Crear un nuevo cupón |
update_coupon | Actualizar un cupón |
delete_coupon | Eliminar un cupón |
Pasarelas de pago
Método | Descripción |
---|
get_payment_gateways | Recuperar pasarelas de pago |
get_payment_gateway | Obtenga una única pasarela de pago |
update_payment_gateway | Actualizar una pasarela de pago |
Método | Descripción |
---|
get_sales_report | Recuperar informes de ventas |
get_products_report | Recuperar informes de productos |
get_orders_report | Recuperar informes de pedidos |
get_categories_report | Recuperar informes de categorías |
get_customers_report | Recuperar informes de clientes |
get_stock_report | Recuperar informes de stock |
get_coupons_report | Recuperar informes de cupones |
get_taxes_report | Recuperar informes de impuestos |
Ajustes
Método | Descripción |
---|
get_settings | Recuperar todas las configuraciones |
get_setting_options | Recuperar opciones para una configuración |
update_setting_option | Actualizar una opción de configuración |
Estado del sistema
Método | Descripción |
---|
get_system_status | Recuperar el estado del sistema |
get_system_status_tools | Recuperar herramientas de estado del sistema |
run_system_status_tool | Ejecutar una herramienta de estado del sistema |
Datos
Método | Descripción |
---|
get_data | Recuperar datos de la tienda |
get_continents | Recuperar datos de los continentes |
get_countries | Recuperar datos de países |
get_currencies | Recuperar datos de divisas |
get_current_currency | Obtenga la moneda actual |
Parámetros del método
Todos los métodos siguen una estructura de parámetros similar. A continuación, se muestran algunos ejemplos:
Parámetros comunes para todos los métodos
siteUrl
: (opcional si se configura en env) URL del sitio de WordPress
Parámetros adicionales para los métodos de WooCommerce
consumerKey
: (opcional si se configura en env) Clave de consumidor de WooCommerceconsumerSecret
: (opcional si se configura en env) Secreto del consumidor de WooCommerce
Parámetros adicionales para los métodos de WordPress
username
: (opcional si se configura en el entorno) nombre de usuario de WordPresspassword
: (opcional si se configura en el entorno) Contraseña de WordPress
Ejemplo de uso
Ejemplo de API de WordPress
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"siteUrl": "https://your-wordpress-site.com",
"username": "your-wordpress-username",
"password": "your-wordpress-password",
"title": "My New Blog Post",
"content": "This is the content of my new blog post.",
"status": "publish"
}
}
Ejemplo de productos de WooCommerce
{
"jsonrpc": "2.0",
"id": 1,
"method": "get_products",
"params": {
"perPage": 20,
"page": 1,
"filters": {
"category": 19,
"status": "publish"
}
}
}
Crear ejemplo de producto
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_product",
"params": {
"productData": {
"name": "Premium T-Shirt",
"type": "simple",
"regular_price": "29.99",
"description": "Comfortable cotton t-shirt, available in various sizes.",
"short_description": "Premium quality t-shirt.",
"categories": [
{
"id": 19
}
],
"images": [
{
"src": "http://example.com/wp-content/uploads/2022/06/t-shirt.jpg"
}
]
}
}
}
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_product_meta",
"params": {
"productId": 456,
"metaKey": "_custom_product_field",
"metaValue": {
"special_attribute": "value",
"another_attribute": 42
}
}
}
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_order_meta",
"params": {
"orderId": 789,
"metaKey": "_delivery_instructions",
"metaValue": "Leave package at the back door"
}
}
Nota de seguridad
Para acceder a la API REST de WooCommerce, necesitas generar claves API. Puedes crearlas en tu panel de WordPress, en WooCommerce → Configuración → Avanzado → API REST.
Requisitos
- Node.js 20.0.0 o superior
- Sitio de WordPress con el complemento WooCommerce instalado
- Claves API REST de WooCommerce
Licencia
Licencia MIT: consulte el archivo LICENCIA para obtener más detalles