← 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.