#!/usr/bin/env bash set -euo pipefail # Read-only MCP catalogue TÜV. It copies the verifier into Open WebUI's # temporary filesystem and only performs initialize + tools/list. No business # tool is ever invoked and no prompt, chat or secret is read. OWUI_CONTAINER="${OWUI_CONTAINER:-mike-ai-open-webui}" VERIFY_REMOTE=/tmp/verify_mcp_catalog.py docker inspect "$OWUI_CONTAINER" >/dev/null docker cp "$(dirname "$0")/verify_mcp_catalog.py" "$OWUI_CONTAINER:$VERIFY_REMOTE" verify() { docker exec "$OWUI_CONTAINER" python3 "$VERIFY_REMOTE" "$@" } verify http://mike-ai-mcp-platform-context:8000/mcp \ --max-tools 12 --max-schema-chars 12000 verify http://mike-ai-mcp-athena-operator:8000/mcp \ --max-tools 8 --max-schema-chars 12000 verify http://tinysearch:8000/mcp \ --require search \ --require scrape_urls \ --require research \ --max-tools 6 --max-schema-chars 12000 if docker inspect mike-ai-mcp-github >/dev/null 2>&1; then verify http://mike-ai-mcp-github:8000/mcp \ --require search_repositories \ --require get_file_contents \ --require search_code \ --forbid get_repository_tree \ --max-tools 3 --max-schema-chars 6000 fi if docker inspect mike-ai-mcp-homeassistant >/dev/null 2>&1; then verify http://mike-ai-mcp-homeassistant:8000/mcp \ --max-tools 32 --max-schema-chars 24000 fi if docker inspect mike-ai-mcp-arr >/dev/null 2>&1; then verify http://mike-ai-mcp-arr:8000/mcp \ --max-tools 4 --max-schema-chars 8000 fi if docker inspect mike-ai-mcp-navidrome >/dev/null 2>&1; then verify http://mike-ai-mcp-navidrome:3000/mcp \ --max-tools 50 --max-schema-chars 36000 fi echo MCP_CATALOG_SUITE_OK