Files
AI-Profile-Router/dev/verify_mcp_catalogs.sh
T

52 lines
1.6 KiB
Bash
Executable File

#!/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