fix(tools): harden OpenWebUI tool workflows
This commit is contained in:
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/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://mike-ai-mcp-web:8000/mcp \
|
||||
--max-tools 8 --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
|
||||
Reference in New Issue
Block a user