WALoops

WhatsApp OTP and WhatsApp Business automation tools for AI assistants

我该使用它吗

质量与安全性

A
描述质量
98%
模式完整度
67%
命名质量
99%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'get_dashboard_stats' description lacks action verb在 get_dashboard_stats 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,123token 数(工具定义)
~834 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.66%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(20)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢get_started

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

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

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

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

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

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

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

输入模式

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

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

输入模式

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

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

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本20 个工具