#!/usr/bin/env bash set -u URLS=("http://192.168.68.123/api/mcp" "http://192.168.68.137/api/mcp") for URL in "${URLS[@]}"; do for name in speak text_to_speech say play_text; do payload=$(printf '{"jsonrpc":"2.0","id":"say-no","method":"tools/call","params":{"name":"%s","arguments":{"text":"no","message":"no","volume":80}}}' "$name") out=$(curl -fsS -m 5 -X POST "$URL" -H 'Content-Type: application/json' --data "$payload" 2>&1) rc=$? if [ $rc -eq 0 ] && ! echo "$out" | grep -qi 'error'; then echo "Said no on $URL using $name" exit 0 fi done curl -fsS -m 5 -X POST "$URL" -H 'Content-Type: application/json' --data '{"jsonrpc":"2.0","id":"clear","method":"tools/call","params":{"name":"clear_screen","arguments":{"color":0}}}' >/dev/null 2>&1 || true out=$(curl -fsS -m 5 -X POST "$URL" -H 'Content-Type: application/json' --data '{"jsonrpc":"2.0","id":"draw","method":"tools/call","params":{"name":"draw_text","arguments":{"text":"no","x":130,"y":105,"size":4}}}' 2>&1) rc=$? if [ $rc -eq 0 ] && ! echo "$out" | grep -qi 'error'; then echo "Displayed no on $URL" exit 0 fi done exit 1