Talandor
Public MCP report

SMS and WhatsApp Messaging

https://hatchloop.dev/mcp/sms-whatsapp-messaging

Official Registry

Official Registry · dev.hatchloop/sms-whatsapp-messaging · Publisher namespace: dev.hatchloop

Server checked today at 20:36 UTC

Catalog verified today at 20:36 UTC

10 public tools observed. Tools were not executed.

Reachable · public catalog

What Talandor observed

The server answered

Add the endpoint to a compatible client below. A Watch can alert you if this public catalog changes.

This is a public protocol and tools/list check, not a functional validation.

https://hatchloop.dev/mcp/sms-whatsapp-messaging
AvailabilityReachablemeasured
Tools10 public tools observedmeasured
CompatibilityEstimated from published client rules · not a hands-on testestimated
Recent changefind_business changed its input schemaHistorical

Configure your assistant · Check details

How to use this MCP

Talandor checks the server; it does not connect the server to your assistant.

Choose your assistant, then copy the configuration shown for that client. Authentication is completed with the MCP provider, never inside Talandor.

    Open the official client guide (opens in a new tab)
    Compatibility evidence by assistant

    Compatibility is estimated from published configuration rules and is not a hands-on test in each client.

    Claude
    Observed 2025-11-25.
    Likely compatible · inferred
    Cursor
    Streamable HTTP and public HTTPS were observed.
    Likely compatible · inferred
    ChatGPT
    Public tool names, descriptions and schemas were observed. Plan and workspace access still apply.
    Likely compatible · inferred
    VS Code
    Public remote HTTP configuration can be assessed.
    Likely compatible · inferred
    Generic MCP
    Observed 2025-11-25.
    Likely compatible · inferred

    Rule evidence: Remote HTTPS rule v0.2 · reviewed 2026-09-12 · Remote HTTP rule v0.2 · reviewed 2026-09-12 · Remote app rule v0.2 · reviewed 2026-09-12 · Protocol and transport rule v0.2 · reviewed 2026-09-12

    Check details

    What changed

    find_business changed its input schema
    Historical change · warning · medium confidence · find_business · Rule: input-schema-changed
    Warning
    find_business changed its input schema
    Historical change · warning · medium confidence · find_business · Rule: input-schema-changed
    Warning

    A Watch would alert only if this change may affect uses of the selected client that depend on the changed tools.

    This public timeline shows the latest check, the last 24 hours, and the most recent important change. Watch keeps 30 days.

    See earlier changes
    send_message changed its title or description
    Historical change · info · high confidence · send_message · Rule: documentation-changed
    Info
    get_conversation changed its title or description
    Historical change · info · high confidence · get_conversation · Rule: documentation-changed
    Info
    check_compliance changed its title or description
    Historical change · info · high confidence · check_compliance · Rule: documentation-changed
    Info
    send_message changed its title or description
    Historical change · info · high confidence · send_message · Rule: documentation-changed
    Info
    find_business added an optional input field city
    Historical change · info · high confidence · find_business · Rule: optional-input-added
    Info
    find_business added an optional input field region
    Historical change · info · high confidence · find_business · Rule: optional-input-added
    Info

    The notes above are for this connector.

    Server-provided content. Tool names, descriptions and schemas below are copied from the MCP server. They may be in another language. Talandor does not translate or verify them.
    Tools and declared exposure

    Server annotations are declarations, not verified behavior.

    Show 10 of 10 server-provided tool definitions
    check_compliance
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Free, instant pre-flight for the compliance gate: runs the SAME TCPA/GDPR/CASL/CAN-SPAM/10DLC checks as send_message and call_business, in preview mode -- nothing is sent, nothing changes. Tells you whether a send would be permitted before you pay, and if not, names the exact rule and how to fix it. De-risks a paid send the way check_booking_link de-risks a paid booking. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "content",
        "recipient_id"
      ],
      "properties": {
        "channel": {
          "enum": [
            "sms",
            "email",
            "voice"
          ],
          "type": "string",
          "description": "Delivery channel. Omit to auto-infer sms/email from recipient_id; set 'voice'…"
        },
        "content": {
          "type": "string",
          "description": "The actual message body you intend to send. The gate classifies the real text,…"
        },
        "state_code": {
          "type": "string",
          "description": "US state code (e.g. 'CA') for state-specific rules."
        },
        "country_code": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 (e.g. 'US', 'DE', 'CA'). Auto-inferred from phone if…"
        },
        "message_type": {
          "type": "string",
          "default": "transactional",
          "description": "Intent tag: transactional, marketing, reminder, follow_up, notification.…"
        },
        "recipient_id": {
          "type": "string",
          "description": "Phone in E.164 (e.g. '+14045550100') or email address the message would go to."
        }
      }
    }
    find_business
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Given criteria (vertical, location, capability, price band, availability window), return ranked candidate businesses from our supply network. THE NETWORK IS SMALL AND STILL MOSTLY SAMPLE DATA: entries that are not real are named [DEMO] and flagged is_demo - check that field before acting on a result. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "location",
        "vertical"
      ],
      "properties": {
        "location": {
          "type": "object",
          "required": [
            "zip_or_city"
          ],
          "properties": {
            "zip_or_city": {
              "type": "string"
            },
            "radius_miles": {
              "type": "number",
              "minimum": 0,
              "description": "Accepted but NOT applied - no coordinates exist, so results are not restricted to this radius. Disclosed back as radius_miles_applied: false."
            }
          },
          "description": "Where to search. Matched against the business's city, state and ZIP as text -…"
        },
        "vertical": {
          "enum": [
            "personal_services",
            "home_services",
            "professional_services"
          ],
          "type": "string"
        },
        "capability": {
          "type": "string",
          "description": "Specific service capability required, e.g. 'haircut', 'plumbing',…"
        },
        "price_band": {
          "type": "object",
          "properties": {
            "max_usd": {
              "type": "number"
            }
          }
        },
        "max_results": {
          "type": "integer",
          "default": 5,
          "maximum": 20,
          "minimum": 1
        },
        "availability_window": {
          "type": "object",
          "properties": {
            "end_iso": {
              "type": "string",
              "format": "date-time"
            },
            "start_iso": {
              "type": "string",
              "format": "date-time"
            }
          },
          "description": "Accepted but NOT APPLIED - it does not narrow results. We do not hold live…"
        }
      }
    }
    get_conversation
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Read a two-way conversation thread you started: its state, every message exchanged, and how many replies the business has sent. [free, requires key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "properties": {
        "reference": {
          "type": "string",
          "description": "The 4-digit request reference, e.g. '4821'. Requires business_number."
        },
        "business_number": {
          "type": "string",
          "description": "Scopes a `reference` to one business (references are reused across businesses)."
        },
        "conversation_id": {
          "type": "string",
          "description": "From the send_message receipt (preferred)."
        }
      }
    }
    get_outcome
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Retrieve the final OutcomeReceipt for a completed operation. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "operation_id"
      ],
      "properties": {
        "operation_id": {
          "type": "string"
        }
      }
    }
    get_status
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Query the current state of any in-flight async operation by operation_id. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "operation_id"
      ],
      "properties": {
        "operation_id": {
          "type": "string"
        }
      }
    }
    preview_cost
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Return an expected cost estimate, latency estimate, and success-probability estimate for a proposed call before execution. Returns the exact price when it is fixed, and a min/max range when the cost depends on channel or outcome. It does not promise an accuracy percentage - check cost_range. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "operation",
        "params"
      ],
      "properties": {
        "params": {
          "type": "object",
          "description": "The same request body you would pass to the operation"
        },
        "operation": {
          "type": "string"
        }
      }
    }
    self_test
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Service health probe: runs 6 internal checks and reports how many passed. Confirms the server is up and responding - it does NOT probe each tool individually. Use to verify connectivity before production use. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "properties": {}
    }
    send_message
    Declared destructive
    Show server-provided details
    Server description (copied; language not verified)
    Send a message on behalf of an agent's user or an SMB via WhatsApp or email — both live. SMS and voice are advertised but NOT wired on this deployment: they always fail honestly (channel_not_configured), uncharged. Sent immediately, no scheduling. Every send passes a non-bypassable gate (TCPA, GDPR, CASL, PDPL, 26 jurisdictions): marketing without recorded consent gets a structured compliance_violation receipt. [from $0.02/call, variable] [async→get_outcome]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "content",
        "message_type",
        "recipient"
      ],
      "properties": {
        "content": {
          "type": "object",
          "required": [
            "body"
          ],
          "properties": {
            "body": {
              "type": "string"
            },
            "subject": {
              "type": "string",
              "description": "For email channel"
            },
            "template_id": {
              "type": "string"
            },
            "template_vars": {
              "type": "object"
            }
          }
        },
        "recipient": {
          "type": "object",
          "required": [
            "id_type",
            "id_value"
          ],
          "properties": {
            "id_type": {
              "enum": [
                "phone",
                "email",
                "smb_id",
                "customer_id"
              ],
              "type": "string"
            },
            "id_value": {
              "type": "string"
            },
            "country_code": {
              "type": "string",
              "description": "ISO 3166-1 alpha-2, required for compliance routing"
            }
          }
        },
        "business_id": {
          "type": "string",
          "description": "Stable id for the recipient business; used for global demand shaping."
        },
        "message_type": {
          "enum": [
            "transactional",
            "marketing",
            "reminder",
            "follow_up",
            "notification"
          ],
          "type": "string",
          "description": "Intent tag for the message. Five permitted types. 'marketing' is allowed only…"
        },
        "on_behalf_of": {
          "type": "string",
          "description": "Who this message is FOR (your end-user's name/label). On WhatsApp this opens a…"
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 128,
          "description": "Retry key: a 24h replay returns the original receipt, not re-run or charged."
        },
        "preferred_channel": {
          "enum": [
            "whatsapp",
            "sms",
            "email",
            "voice",
            "auto"
          ],
          "type": "string",
          "default": "auto"
        }
      }
    }
    send_transactional_confirmation
    Declared destructive
    Show server-provided details
    Server description (copied; language not verified)
    Idempotent transactional messages: OTPs, booking confirmations, payment receipts, cancellation notices. Falls back across configured channels; an unconfigured channel fails honestly rather than reporting a delivery that did not happen. [$0.02/per_call] [async→get_outcome]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "confirmation_type",
        "data",
        "recipient"
      ],
      "properties": {
        "data": {
          "type": "object",
          "description": "Type-specific payload; e.g., {otp_code} for otp, {appointment_time, smb_name}…"
        },
        "recipient": {
          "type": "object",
          "required": [
            "phone_or_email"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "phone_or_email": {
              "type": "string"
            }
          }
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 128,
          "description": "Retry key: a 24h replay returns the original receipt, not re-run or charged."
        },
        "confirmation_type": {
          "enum": [
            "otp",
            "booking_confirmation",
            "payment_receipt",
            "cancellation_notice",
            "reminder"
          ],
          "type": "string"
        },
        "preferred_channel": {
          "enum": [
            "sms",
            "email",
            "auto"
          ],
          "type": "string",
          "default": "sms"
        }
      }
    }
    verify_business
    Declared read-only
    Show server-provided details
    Server description (copied; language not verified)
    Look up what we know about a business in our supply network: its contact channels, capabilities, and when the record was last verified. This is a DIRECTORY LOOKUP - it does not contact the business. [free, no key]
    Input schema (server-provided preview — do not copy)
    {
      "type": "object",
      "required": [
        "smb_id"
      ],
      "properties": {
        "smb_id": {
          "type": "string"
        },
        "capability_to_verify": {
          "type": "string"
        }
      }
    }
    Evidence and limitations

    Method: anonymous Streamable HTTP probe. We never invoke a tool.

    Attempted protocols: 2026-07-28, 2025-11-25

    Protocol2025-11-25
    TransportStreamable HTTP
    AuthNo authentication challenge observed
    EvidencePublic contract observed
    Total latency4838 ms
    Response bytes9248

    No diagnostic errors.

    Observation history
    Operational
    2025-11-25 · 10 tools
    Operational
    2025-11-25 · 10 tools
    Operational
    · stable since
    2025-11-25 · 10 tools · no change · 2 checks
    Operational
    2025-11-25 · 10 tools
    Operational
    · stable since
    2025-11-25 · 10 tools · no change · 21 checks
    Operational
    · stable since
    2025-11-25 · 10 tools · no change · 21 checks
    Complete public contract · 2025-11-25 · 10 tools
    7c7ae115fb78
    Complete public contract · 2025-11-25 · 10 tools
    124c77105660
    Complete public contract · 2025-11-25 · 10 tools
    b2e6994ad73a
    Complete public contract · 2025-11-25 · 10 tools
    ea2af539da3a
    Complete public contract · 2025-11-25 · 10 tools
    de410f8fdd44
    Complete public contract · 2025-11-25 · 10 tools
    b64f5e563d30

    Deep monitoring eligibility

    Eligible for deep monitoring

    A complete public tools/list contract was observed, so a future deep-monitoring baseline can be compared safely.

    Personal Watch is not open yet. This report does not start a Watch or a payment.

    See public monitoring

    Automatic monitoring later

    Saving this connector does not start a Watch. Watch is a future offer; subscriptions and alerts are not available yet.

    Full Watch. Availability, protocol, auth and public tool contract changes can be compared.