send_location
Share location coordinates via WhatsApp messages to provide directions or meeting points using latitude and longitude data.
Instructions
Send a location message.
Args: to: Phone number or WhatsApp ID latitude: Latitude of the location longitude: Longitude of the location name: Optional location name address: Optional location address reply_to_message_id: Message ID to reply to
Returns: Dictionary with success status and message ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| latitude | Yes | ||
| longitude | Yes | ||
| name | No | ||
| address | No | ||
| reply_to_message_id | No |
Implementation Reference
- tools/messaging.py:248-287 (handler)The send_location tool handler function registered with @mcp.tool() decorator. Takes parameters (to, latitude, longitude, name, address, reply_to_message_id), calls wa_client.send_location(), and returns success status with message ID.@mcp.tool() async def send_location( to: str, latitude: float, longitude: float, name: Optional[str] = None, address: Optional[str] = None, *, reply_to_message_id: Optional[str] = None, ) -> dict: """ Send a location message. Args: to: Phone number or WhatsApp ID latitude: Latitude of the location longitude: Longitude of the location name: Optional location name address: Optional location address reply_to_message_id: Message ID to reply to Returns: Dictionary with success status and message ID """ try: result = wa_client.send_location( to=to, latitude=latitude, longitude=longitude, name=name, address=address, reply_to_message_id=reply_to_message_id, ) logger.info(f"Location sent to {to}") message_id = getattr(result, 'id', str(result)) if result else None return {"success": True, "message_id": message_id} except Exception as e: logger.error(f"Failed to send location: {str(e)}") return {"success": False, "error": str(e)}