MCP Server

Wafle expone un servidor MCP (Model Context Protocol) en mcp.wafle.click. Permite que cualquier cliente MCP — Claude Desktop, Claude Code, n8n, agente custom — ejecute ~80 acciones reales sobre tu tienda: catálogo, órdenes, ads, customers, marketplace, automations, emails, identity.

¿Qué es MCP?
Model Context Protocol es el estándar abierto de Anthropic para conectar modelos a herramientas. Una vez que un cliente sabe hablar MCP, puede usar Wafle igual que cualquier otro server (Slack, GitHub, Google Drive). Sin glue code.

1. Emitir un token tenant-scoped

Andá a /admin/stores/<slug>/integrations/anthropic → tab MCP tokens. Tocá Crear token y elegí:

  • Scopes: read / write / admin por namespace. Ej: solo orders.read + customers.read para un agente de soporte.
  • Expiry: 24 hs / 7 días / 30 días / nunca.
  • Approval policy: cada write requiere approval explícito | rules (auto-aprobar bajo ciertas condiciones) | full auto (no recomendado).

El token tiene formato wmcp_ + 40 chars y solo se muestra una vez. Guardalo en tu password manager.

2. Conectar Claude Desktop

Editá ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

claude_desktop_config.jsonjson
{
  "mcpServers": {
    "wafle": {
      "command": "npx",
      "args": ["-y", "@wafle/mcp-server"],
      "env": {
        "WAFLE_MCP_TOKEN": "wmcp_••••••••••••••••••••••••••••",
        "WAFLE_TENANT": "gamerland"
      }
    }
  }
}

Reiniciá Claude Desktop. Vas a ver el icono de tools con todos los namespaces de Wafle listados.

3. Conectar Claude Code

Wafle está disponible como server MCP HTTP-streaming nativo:

~/.config/claude-code/mcp.jsonjson
{
  "mcpServers": {
    "wafle": {
      "type": "http",
      "url": "https://mcp.wafle.click/sse",
      "headers": {
        "Authorization": "Bearer wmcp_••••••••••••••••••••••••••••",
        "X-Wafle-Tenant": "gamerland"
      }
    }
  }
}

Verificá con claude mcp list. Tools con namespace wafle.* aparecen disponibles para todas las sesiones de Claude Code.

4. Conectar n8n

n8n tiene nodo MCP nativo desde la versión 1.62. Configurá:

n8n credentialtext
Server URL : https://mcp.wafle.click/sse
Auth header: Authorization
Auth value : Bearer wmcp_••••
Extra hdr  : X-Wafle-Tenant=gamerland

5. Cliente custom

tsts
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://mcp.wafle.click/sse'),
  {
    requestInit: {
      headers: {
        Authorization: 'Bearer wmcp_••••',
        'X-Wafle-Tenant': 'gamerland',
      },
    },
  },
);

const client = new Client({ name: 'my-bot', version: '0.1.0' }, { capabilities: {} });
await client.connect(transport);

const tools = await client.listTools();
console.log(tools);

Tools disponibles (~80)

Una línea por tool, agrupadas por namespace:

catalog.* — catálogo

  • catalog.list_products — lista paginada con filtros y facets.
  • catalog.get_product — detalle de un producto + variantes + stock.
  • catalog.create_product — crear con variantes.
  • catalog.update_product — partial update.
  • catalog.archive_product — soft delete.
  • catalog.bulk_update_prices — % o absoluto, con dry-run.
  • catalog.set_stock — set absoluto o delta.
  • catalog.upload_image — sube a R2 y devuelve signed URL.
  • catalog.scrape_marketplace — extrae producto desde URL ML/AliExpress/Amazon.
  • catalog.list_categories, catalog.create_category, catalog.move_category.

orders.* — órdenes

  • orders.list, orders.get, orders.search.
  • orders.fulfill — marcar enviada, attach tracking, notify.
  • orders.refund — total o parcial.
  • orders.cancel — con razón estructurada.
  • orders.add_note — internal o public.
  • orders.update_shipping — cambiar dirección o método.

customers.* — clientes

  • customers.list, customers.get, customers.search.
  • customers.view_360 — vista cross-channel: órdenes, eventos, emails, soporte.
  • customers.tag, customers.untag.
  • customers.merge — unificar duplicados.
  • customers.add_note.

ads.* — Meta & Google Ads

  • ads.list_campaigns, ads.get_insights.
  • ads.update_campaign — budget, status, schedule.
  • ads.duplicate_campaign, ads.duplicate_adset.
  • ads.create_audience — desde segmento de Wafle.
  • ads.lookalike — generar lookalike vía Wafle Network.

marketplace.* — feeds

  • marketplace.list_feeds — Mercado Libre, Google Shopping, Meta catalog.
  • marketplace.sync_feed — push manual.
  • marketplace.list_errors — productos rechazados con motivo.

emails.* — marketing

  • emails.list_flows, emails.activate_flow, emails.pause_flow.
  • emails.send_campaign — broadcast con segmentación.
  • emails.preview_template — render con datos sintéticos.
  • emails.test_send — manda a un email tuyo.
  • emails.get_quota, emails.get_sender_reputation.

identity.* — Wafle Network

  • identity.lookup — qué sabe la red de un email/phone hash.
  • identity.create_audience, identity.lookalike.
  • identity.export — para GDPR.
  • identity.forget — right to be forgotten.

warehouse.* — depósito

  • warehouse.list_locations, warehouse.transfer_stock.
  • warehouse.print_pickslip, warehouse.print_label.
  • warehouse.cycle_count — recuento.

afip.* — AR fiscal

  • afip.emit_invoice — Factura A/B/C.
  • afip.list_invoices, afip.void_invoice.

automation.* — routines

  • automation.list_routines, automation.create_routine.
  • automation.run_now — ejecutar ad hoc.
  • automation.history — runs anteriores con outputs.

Resources (14)

Recursos MCP que el cliente puede inyectar al contexto del modelo:

  • wafle://catalog — snapshot del catálogo.
  • wafle://orders/today, wafle://orders/pending.
  • wafle://kpi/dashboard — KPIs operativos.
  • wafle://emails/quota.
  • wafle://ads/insights/last-7-days.
  • wafle://customers/segments.
  • wafle://identity/network-status.
  • + 7 más, listadas con resources/list.

Prompts pre-armados (5)

  • daily_ops_briefing — resumen del día.
  • ads_optimization — optimización guiada de campañas.
  • support_triage — clasificar y responder consultas.
  • inventory_audit — detectar SKUs problemáticos.
  • weekly_growth_review — review tipo founder.

Approvals

Por default las write-tools requieren approval explícito. Tres formas:

  • UI — notif en /admin → bandeja approvals. Aprobás con un click.
  • Mobile — push notification con botones inline.
  • Rules — definidas por scope en /admin/stores/<slug>/agent → Rules. Ej: “auto-aprobar ads.update_campaign si delta_budget < 20% y campaña no está en learning phase”.
Production mode
Al pasar tu plan a Pro+, podés crear tokens MCP con auto_approve: true para scopes específicos. Útil para cron de routines, no recomendado para tokens humanos.

Siguientes