loading…
Search for a command to run...
loading…
An MCP server and Telegram bot that enables natural language management of WooCommerce stores, including products, orders, customers, and sales reports. It supp
An MCP server and Telegram bot that enables natural language management of WooCommerce stores, including products, orders, customers, and sales reports. It supports multiple LLM providers, voice commands via Whisper transcription, and deployment on Cloudflare Workers.
Servidor MCP + Bot de Telegram para gestionar tu tienda WooCommerce con IA.
Dos modos de uso:
| Categoría | Herramienta | Descripción |
|---|---|---|
| Productos | list_products |
Listar con filtros (búsqueda, categoría, estado) |
get_product |
Detalle de un producto por ID | |
create_product |
Crear producto nuevo | |
update_product |
Editar precio, stock, descripción, estado | |
delete_product |
Eliminar producto | |
| Pedidos | list_orders |
Pedidos recientes con filtros |
get_order |
Detalle de un pedido | |
update_order_status |
Cambiar estado del pedido | |
| Clientes | list_customers |
Buscar por nombre o email |
get_customer |
Detalle y historial de compras | |
| Reportes | sales_report |
Ventas del día/semana/mes |
top_products |
Productos más vendidos | |
revenue_summary |
Resumen de ingresos completo |
git clone https://github.com/tu-usuario/mcp-woocommerce.git
cd mcp-woocommerce
npm install
MCP Botck_...) y Consumer Secret (cs_...)Conectá las herramientas de WooCommerce directamente a Claude sin intermediarios.
Editá tu archivo de configuración de Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["tsx", "src/mcp-server.ts"],
"cwd": "/ruta/a/mcp-woocommerce",
"env": {
"WC_URL": "https://tu-tienda.com",
"WC_CONSUMER_KEY": "ck_xxxxxxxxxxxxxxxxxxxxx",
"WC_CONSUMER_SECRET": "cs_xxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
claude mcp add woocommerce \
-e WC_URL=https://tu-tienda.com \
-e WC_CONSUMER_KEY=ck_xxxxxxxxxxxxxxxxxxxxx \
-e WC_CONSUMER_SECRET=cs_xxxxxxxxxxxxxxxxxxxxx \
-- npx tsx src/mcp-server.ts
WC_URL=https://tu-tienda.com \
WC_CONSUMER_KEY=ck_xxx \
WC_CONSUMER_SECRET=cs_xxx \
npm run mcp
Bot interactivo que responde mensajes de texto y voz usando IA.
Telegram (vos) → Cloudflare Worker (webhook) → LLM (tool calling) → WooCommerce API
← respuesta formateada ← datos/confirmación ←
/newbot y seguí las instruccioneshttps://api.telegram.org/bot<TOKEN>/getUpdates para obtener tu Chat IDCopiá el archivo de ejemplo:
cp .dev.vars.example .dev.vars
Editá .dev.vars con tus credenciales:
# Telegram
TELEGRAM_BOT_TOKEN=tu-token
TELEGRAM_CHAT_ID=tu-chat-id
# WooCommerce
WC_URL=https://tu-tienda.com
WC_CONSUMER_KEY=ck_xxx
WC_CONSUMER_SECRET=cs_xxx
# LLM - Modo simple (un solo proveedor)
LLM_PROVIDER=openai
LLM_API_KEY=sk-xxx
# LLM - Modo dual (recomendado)
LLM_QUERY_PROVIDER=openai # Para consultas: rápido y barato
LLM_QUERY_API_KEY=sk-xxx
LLM_EDIT_PROVIDER=claude # Para edición: preciso y confiable
LLM_EDIT_API_KEY=sk-ant-xxx
El bot puede usar dos LLMs diferentes según el tipo de operación:
| Tipo | Proveedor recomendado | Modelo | Para qué |
|---|---|---|---|
| Consultas | OpenAI | gpt-4o-mini / gpt-5.3 | Listar, buscar, reportes |
| Edición | Anthropic | claude-sonnet-4 | Crear, actualizar, eliminar |
El routing es automático: detecta si tu mensaje contiene palabras como "crear", "editar", "cambiar precio", etc.
Si configurás solo LLM_PROVIDER y LLM_API_KEY, usa un único modelo para todo.
Enviá un mensaje de voz al bot y:
gpt-4o-mini-transcribe)Requiere LLM_QUERY_API_KEY con una API key de OpenAI (Whisper usa la misma key).
| Proveedor | Valor de config | Modelos |
|---|---|---|
| OpenAI | openai |
gpt-4o, gpt-4o-mini, gpt-5.3-chat-latest |
| Anthropic | claude |
claude-sonnet-4, claude-haiku-4 |
gemini |
gemini-2.0-flash |
npx wrangler login
npm run deploy
npx wrangler secret put TELEGRAM_BOT_TOKEN
npx wrangler secret put TELEGRAM_CHAT_ID
npx wrangler secret put WC_URL
npx wrangler secret put WC_CONSUMER_KEY
npx wrangler secret put WC_CONSUMER_SECRET
npx wrangler secret put LLM_QUERY_PROVIDER
npx wrangler secret put LLM_QUERY_API_KEY
npx wrangler secret put LLM_EDIT_PROVIDER
npx wrangler secret put LLM_EDIT_API_KEY
curl "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://<tu-worker>.workers.dev/webhook"
O con el script incluido:
TELEGRAM_BOT_TOKEN=xxx WORKER_URL=https://tu-worker.workers.dev npx tsx scripts/set-webhook.ts
npm run dev
Usa las variables de .dev.vars automáticamente.
mcp-woocommerce/
├── src/
│ ├── index.ts # Entry point Cloudflare Worker
│ ├── mcp-server.ts # MCP Server (Claude Desktop/Code)
│ ├── bot/
│ │ ├── handler.ts # Bot Telegram + webhook + tool execution
│ │ └── auth.ts # Validación de Chat ID
│ ├── llm/
│ │ ├── provider.ts # Abstracción LLM (Claude/OpenAI/Gemini)
│ │ └── tools.ts # Definición de herramientas
│ ├── woocommerce/
│ │ ├── client.ts # Cliente REST API v3
│ │ ├── products.ts # Operaciones de productos
│ │ ├── orders.ts # Operaciones de pedidos
│ │ ├── customers.ts # Operaciones de clientes
│ │ └── reports.ts # Reportes y análisis
│ └── utils/
│ └── formatter.ts # Formateo para Telegram
├── scripts/
│ └── set-webhook.ts # Script para configurar webhook
├── wrangler.toml # Config Cloudflare Workers
├── .dev.vars.example # Ejemplo de variables de entorno
└── package.json
.dev.vars está en .gitignoreMIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-woocommerce": {
"command": "npx",
"args": []
}
}
}