WALoops

WhatsApp OTP and WhatsApp Business automation tools for AI assistants

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
67%
Calidad de los nombres
99%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_dashboard_stats' description lacks action verben get_dashboard_stats

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,123Tokens (definiciones de herramientas)
~834 BTamaño de respuesta típico
Impacto moderado en la atención (1.66% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "waloops-mcp": {
      "url": "https://app.waloops.com/api/mcp.php"
    }
  }
}

Puntos de conexión remotos

https://app.waloops.com/api/mcp.phpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (20)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_started

Explain WALoops setup, key types, available tool groups, API docs, and example OTP requests.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟡send_otp(phone, channel, purpose, site_url)

Send an OTP to an international phone number. A free OTP key sends from the WALoops WhatsApp number; channel may be whatsapp or sms.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "description": "International digits, for example 919876543210."
    },
    "channel": {
      "type": "string",
      "enum": [
        "whatsapp",
        "sms"
      ]
    },
    "purpose": {
      "type": "string",
      "default": "login",
      "description": "OTP purpose; defaults to login."
    },
    "site_url": {
      "type": "string",
      "description": "URL of the app or site this OTP is for, e.g. https://myapp.com. Required by the OTP API so every key has a known site."
    }
  },
  "required": [
    "phone",
    "site_url"
  ],
  "additionalProperties": false
}
⚪verify_otp(phone, code, site_url)

Verify a previously sent OTP using the recipient’s phone number and code.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "description": "International phone number in digits."
    },
    "code": {
      "type": "string",
      "description": "The OTP code received by the user."
    },
    "site_url": {
      "type": "string",
      "description": "URL of the app or site this OTP is for, e.g. https://myapp.com. Required by the OTP API so every key has a known site."
    }
  },
  "required": [
    "phone",
    "code",
    "site_url"
  ],
  "additionalProperties": false
}
🟢get_otp_usage(site_url)

Read OTP usage for the API key, including available usage or limits.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "site_url": {
      "type": "string",
      "description": "URL of the app or site this OTP is for, e.g. https://myapp.com. Required by the OTP API so every key has a known site."
    }
  },
  "required": [
    "site_url"
  ],
  "additionalProperties": false
}
🟢list_templates

Requires an Advance plan key. List the client’s approved WhatsApp templates and their variables.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟡send_template(to, template, variables)

Requires an Advance plan key. Send an approved WhatsApp template; call list_templates first to confirm the template name and variables.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Recipient phone number in digits."
    },
    "template": {
      "type": "string",
      "description": "Name of an approved template."
    },
    "variables": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "Template variables as an object or an array of strings."
    }
  },
  "required": [
    "to",
    "template"
  ],
  "additionalProperties": false
}
🟢get_dashboard_stats

Requires an Advance plan key. Messages, conversations, automations and plan usage overview.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟢list_conversations(page, limit, search)

Requires an Advance plan key. List and search inbox conversations.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "search": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢get_conversation_messages(id, page, limit)

Requires an Advance plan key. List messages in a conversation.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Conversation id from list_conversations."
    },
    "page": {
      "type": "integer"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢list_automations(id)

Requires an Advance plan key. List automations, or fetch one automation with its run stats by id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Optional automation id."
    }
  },
  "additionalProperties": false
}
🟢list_connected_apps

Requires an Advance plan key. Connected apps (Shopify, WooCommerce, etc.) with their app_key and available event_key triggers; call before create_automation_draft.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟢list_actions

Every action an automation can run (WhatsApp, Shopify, WooCommerce, webhook to any external tool, bot flows, tags) with the action_config each needs. Combine any trigger from list_connected_apps with any action.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟢list_recipes

Requires an Advance plan key. List proven ready-made automations that can be installed as safe drafts.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟢list_bot_flows

Requires an Advance plan key. List bot flows available as automation actions.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
🟢list_tags

Requires an Advance plan key. List tags available as automation actions.

Esquema de entrada

{
  "type": "object",
  "additionalProperties": false
}
⚪install_recipe_draft(recipe_key, template_id, instance_id, action_instance_id, name)

Requires an Advance plan key. Installs a recipe as a switched-off draft for the owner to review.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "recipe_key": {
      "type": "string",
      "description": "Recipe key from list_recipes."
    },
    "template_id": {
      "type": "integer",
      "description": "Optional approved template id from list_templates."
    },
    "instance_id": {
      "type": "integer",
      "description": "Optional trigger app instance_id from list_connected_apps."
    },
    "action_instance_id": {
      "type": "integer",
      "description": "Optional action app instance_id from list_connected_apps."
    },
    "name": {
      "type": "string",
      "description": "Optional draft name."
    }
  },
  "required": [
    "recipe_key"
  ],
  "additionalProperties": false
}
🟢list_campaigns(id)

Requires an Advance plan key. List campaigns, or fetch one campaign by id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Optional campaign id."
    }
  },
  "additionalProperties": false
}
🟡create_template(name, category, body, language, examples, ...)

Requires an Advance plan key. Creates a WhatsApp template and submits it to Meta for approval (usually minutes to a few hours). Check status later with list_templates.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Lowercase letters, digits, and underscores only."
    },
    "category": {
      "type": "string",
      "enum": [
        "MARKETING",
        "UTILITY"
      ]
    },
    "body": {
      "type": "string",
      "description": "Template body; may use {{1}}, {{2}} variables."
    },
    "language": {
      "type": "string",
      "default": "en"
    },
    "examples": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sample values for body variables; required by Meta when variables are used."
    },
    "header": {
      "type": "object",
      "properties": {
        "format": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "media_url": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "footer": {
      "type": "string"
    },
    "buttons": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "QUICK_REPLY",
              "URL",
              "PHONE_NUMBER"
            ]
          },
          "text": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "text"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "name",
    "category",
    "body"
  ],
  "additionalProperties": false
}
⚪pause_automation(id)

Requires an Advance plan key. Switches an automation OFF. For safety, automations can only be turned ON by the account owner inside the WALoops app.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Automation id."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟡create_automation_draft(name, app_key, instance_id, event_key, template_id, ...)

Requires an Advance plan key. Creates an automation as a DRAFT: saved switched OFF and named "[AI draft] ...". Nothing is sent until the account owner reviews it and turns it on in the WALoops app (Automations page). Tell the user this.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "app_key": {
      "type": "string",
      "description": "App key from list_connected_apps."
    },
    "instance_id": {
      "type": "integer",
      "description": "instance_id from list_connected_apps; needed when the account has more than one store of that app."
    },
    "event_key": {
      "type": "string",
      "description": "Event key from list_connected_apps."
    },
    "template_id": {
      "type": "integer",
      "description": "WALoops template id from list_templates."
    },
    "field_mapping": {
      "type": "object",
      "description": "Template variable number to event field path."
    },
    "conditions": {
      "type": "array"
    },
    "condition_match": {
      "type": "string",
      "enum": [
        "all",
        "any"
      ]
    },
    "schedule_type": {
      "type": "string",
      "enum": [
        "immediate",
        "delay"
      ]
    },
    "schedule_delay_value": {
      "type": "integer"
    },
    "schedule_delay_unit": {
      "type": "string",
      "enum": [
        "minutes",
        "hours",
        "days"
      ]
    },
    "recipient_mode": {
      "type": "string",
      "enum": [
        "auto",
        "manual"
      ]
    },
    "recipient_phone": {
      "type": "string"
    },
    "action_app_key": {
      "type": "string",
      "default": "whatsapp"
    },
    "action_instance_id": {
      "type": "integer",
      "description": "Action app instance_id from list_connected_apps; needed when there are multiple stores."
    },
    "action_type": {
      "type": "string"
    },
    "action_config": {
      "type": "object"
    },
    "stage": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "app_key",
    "event_key"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada20 herramientas