File size: 1,694 Bytes
cce8120 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #!/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."
|