addrbookFor publishers
← The evidence ledger

Evidence row 2094744

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint fc57bab3-f77a-4b6f-8bfa-9a08f684f117
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
2d1170d48f584a02f066010f53aa94c7e3ece627f0f2121f1a85026bab5b86a1
Leaf
0x577d90dd1f69a34b567adbbccfc7d46ebf0028da3c40d5ec9f02cd606e2cb0ea

What was observed

{
  "count": 20,
  "tools": [
    {
      "description": "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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "action_app_key": {
            "default": "whatsapp",
            "type": "string"
          },
          "action_config": {
            "type": "object"
          },
          "action_instance_id": {
            "description": "Action app instance_id from list_connected_apps; needed when there are multiple stores.",
            "type": "integer"
          },
          "action_type": {
            "type": "string"
          },
          "app_key": {
            "description": "App key from list_connected_apps.",
            "type": "string"
          },
          "condition_match": {
            "enum": [
              "all",
              "any"
            ],
            "type": "string"
          },
          "conditions": {
            "type": "array"
          },
          "event_key": {
            "description": "Event key from list_connected_apps.",
            "type": "string"
          },
          "field_mapping": {
            "description": "Template variable number to event field path.",
            "type": "object"
          },
          "instance_id": {
            "description": "instance_id from list_connected_apps; needed when the account has more than one store of that app.",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "recipient_mode": {
            "enum": [
              "auto",
              "manual"
            ],
            "type": "string"
          },
          "recipient_phone": {
            "type": "string"
          },
          "schedule_delay_unit": {
            "enum": [
              "minutes",
              "hours",
              "days"
            ],
            "type": "string"
          },
          "schedule_delay_value": {
            "type": "integer"
          },
          "schedule_type": {
            "enum": [
              "immediate",
              "delay"
            ],
            "type": "string"
          },
          "stage": {
            "type": "string"
          },
          "template_id": {
            "description": "WALoops template id from list_templates.",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "app_key",
          "event_key"
        ],
        "type": "object"
      },
      "name": "create_automation_draft"
    },
    {
      "description": "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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "body": {
            "description": "Template body; may use {{1}}, {{2}} variables.",
            "type": "string"
          },
          "buttons": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "phone_number": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "type": {
                  "enum": [
                    "QUICK_REPLY",
                    "URL",
                    "PHONE_NUMBER"
                  ],
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "text"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "category": {
            "enum": [
              "MARKETING",
              "UTILITY"
            ],
            "type": "string"
          },
          "examples": {
            "description": "Sample values for body variables; required by Meta when variables are used.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "footer": {
            "type": "string"
          },
          "header": {
            "additionalProperties": true,
            "properties": {
              "format": {
                "type": "string"
              },
              "media_url": {
                "type": "string"
              },
              "text": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "language": {
            "default": "en",
            "type": "string"
          },
          "name": {
            "description": "Lowercase letters, digits, and underscores only.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "category",
          "body"
        ],
        "type": "object"
      },
      "name": "create_template"
    },
    {
      "description": "Requires an Advance plan key. List messages in a conversation.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Conversation id from list_conversations.",
            "type": "integer"
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "page": {
            "type": "integer"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_conversation_messages"
    },
    {
      "description": "Requires an Advance plan key. Messages, conversations, automations and plan usage overview.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "get_dashboard_stats"
    },
    {
      "description": "Read OTP usage for the API key, including available usage or limits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "site_url": {
            "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.",
            "type": "string"
          }
        },
        "required": [
          "site_url"
        ],
        "type": "object"
      },
      "name": "get_otp_usage"
    },
    {
      "description": "Explain WALoops setup, key types, available tool groups, API docs, and example OTP requests.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "get_started"
    },
    {
      "description": "Requires an Advance plan key. Installs a recipe as a switched-off draft for the owner to review.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "action_instance_id": {
            "description": "Optional action app instance_id from list_connected_apps.",
            "type": "integer"
          },
          "instance_id": {
            "description": "Optional trigger app instance_id from list_connected_apps.",
            "type": "integer"
          },
          "name": {
            "description": "Optional draft name.",
            "type": "string"
          },
          "recipe_key": {
            "description": "Recipe key from list_recipes.",
            "type": "string"
          },
          "template_id": {
            "description": "Optional approved template id from list_templates.",
            "type": "integer"
          }
        },
        "required": [
          "recipe_key"
        ],
        "type": "object"
      },
      "name": "install_recipe_draft"
    },
    {
      "description": "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.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_actions"
    },
    {
      "description": "Requires an Advance plan key. List automations, or fetch one automation with its run stats by id.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Optional automation id.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "list_automations"
    },
    {
      "description": "Requires an Advance plan key. List bot flows available as automation actions.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_bot_flows"
    },
    {
      "description": "Requires an Advance plan key. List campaigns, or fetch one campaign by id.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Optional campaign id.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "list_campaigns"
    },
    {
      "description": "Requires an Advance plan key. Connected apps (Shopify, WooCommerce, etc.) with their app_key and available event_key triggers; call before create_automation_draft.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_connected_apps"
    },
    {
      "description": "Requires an Advance plan key. List and search inbox conversations.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "search": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_conversations"
    },
    {
      "description": "Requires an Advance plan key. List proven ready-made automations that can be installed as safe drafts.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_recipes"
    },
    {
      "description": "Requires an Advance plan key. List tags available as automation actions.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_tags"
    },
    {
      "description": "Requires an Advance plan key. List the client’s approved WhatsApp templates and their variables.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_templates"
    },
    {
      "description": "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.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Automation id.",
            "type": "integer"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "pause_automation"
    },
    {
      "description": "Send an OTP to an international phone number. A free OTP key sends from the WALoops WhatsApp number; channel may be whatsapp or sms.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "enum": [
              "whatsapp",
              "sms"
            ],
            "type": "string"
          },
          "phone": {
            "description": "International digits, for example 919876543210.",
            "type": "string"
          },
          "purpose": {
            "default": "login",
            "description": "OTP purpose; defaults to login.",
            "type": "string"
          },
          "site_url": {
            "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.",
            "type": "string"
          }
        },
        "required": [
          "phone",
          "site_url"
        ],
        "type": "object"
      },
      "name": "send_otp"
    },
    {
      "description": "Requires an Advance plan key. Send an approved WhatsApp template; call list_templates first to confirm the template name and variables.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "template": {
            "description": "Name of an approved template.",
            "type": "string"
          },
          "to": {
            "description": "Recipient phone number in digits.",
            "type": "string"
          },
          "variables": {
            "description": "Template variables as an object or an array of strings.",
            "oneOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "to",
          "template"
        ],
        "type": "object"
      },
      "name": "send_template"
    },
    {
      "description": "Verify a previously sent OTP using the recipient’s phone number and code.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "The OTP code received by the user.",
            "type": "string"
          },
          "phone": {
            "description": "International phone number in digits.",
            "type": "string"
          },
          "site_url": {
            "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.",
            "type": "string"
          }
        },
        "required": [
          "phone",
          "code",
          "site_url"
        ],
        "type": "object"
      },
      "name": "verify_otp"
    }
  ]
}

What the leaf hashes

{"body":"2d1170d48f584a02f066010f53aa94c7e3ece627f0f2121f1a85026bab5b86a1","id":2094744,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793609077155036,"prev":null,"subject":"fc57bab3-f77a-4b6f-8bfa-9a08f684f117","subject_kind":"endpoint"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON