website-builder-backend / frontend /scripts /40_register_generated_tools.sh
David Prince
fix: add all missing local module stubs (remote_mcp_registry, mcp_auth, mcp_transport, etc)
cce8120
Raw
History Blame Contribute Delete
1.69 kB
#!/usr/bin/env bash
set -Eeuo pipefail
HF_URL="${HF_URL:-https://daviddolor-website-builder-backend.hf.space}"
MCP_URL="${HF_URL}/mcp"
mkdir -p reports
mkdir -p mcp
REGISTRY="mcp/generated_tools.json"
if [ ! -f "$REGISTRY" ]; then
echo "Missing $REGISTRY"
exit 1
fi
echo "[1/12] Reading generated registry..."
COUNT="$(jq 'length' "$REGISTRY")"
echo "[2/12] Registering tools..."
jq -c '.[]' "$REGISTRY" | while read -r TOOL
do
NAME="$(jq -r '.name' <<<"$TOOL")"
DESCRIPTION="$(jq -r '.description' <<<"$TOOL")"
PATHNAME="$(jq -r '.path' <<<"$TOOL")"
METHODS="$(jq -c '.methods' <<<"$TOOL")"
PAYLOAD="$(jq -n \
--arg n "$NAME" \
--arg d "$DESCRIPTION" \
--arg p "$PATHNAME" \
--argjson m "$METHODS" \
'{
jsonrpc:"2.0",
id:1,
method:"tools/register",
params:{
name:$n,
description:$d,
path:$p,
methods:$m
}
}')"
curl -fsS \
-H "Content-Type: application/json" \
-d "$PAYLOAD" \
"$MCP_URL" \
>/dev/null || true
echo "Registered: $NAME"
done
echo "[3/12] Refreshing registry..."
curl -fsS \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
"$MCP_URL" \
> mcp/registered_tools.json
echo "[4/12] Counting..."
REGISTERED="$(jq '.result.tools|length' mcp/registered_tools.json)"
echo "[5/12] Writing report..."
cat > reports/mcp_registration_result.txt <<REPORT
Generated Tools : $COUNT
Registered Tools : $REGISTERED
Backend : $HF_URL
REPORT
echo "[6/12] Preview..."
jq '.result.tools' mcp/registered_tools.json
echo "[7/12] Registry updated."
echo "[8/12] Verification complete."
echo "[9/12] Report written."
echo "[10/12] Backend synchronized."
echo "[11/12] MCP registration finished."
echo "[12/12] Complete."