File size: 1,847 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
89
90
91
92
93
#!/usr/bin/env bash
set -Eeuo pipefail

HF_URL="${HF_URL:-https://daviddolor-website-builder-backend.hf.space}"

OPENAPI="${HF_URL}/openapi.json"
MCP="${HF_URL}/mcp"

mkdir -p mcp reports

echo "[1/12] Downloading OpenAPI..."
curl -fsSL "$OPENAPI" -o mcp/openapi.json

echo "[2/12] Reading API endpoints..."

jq -r '
.paths
| to_entries[]
| select(.key|startswith("/api/"))
| "\(.key)"
' mcp/openapi.json > mcp/api_routes.txt

echo "[3/12] Building MCP tool definitions..."

jq '
.paths
| to_entries
| map(
    select(.key|startswith("/api/"))
    | {
        name:(.key
            | sub("^/api/";"")
            | gsub("/";"_")
            | gsub("[{}]";"")
        ),
        path:.key,
        methods:(.value|keys),
        description:(
            .value
            | to_entries[0].value.summary // ""
        )
    }
)
' mcp/openapi.json > mcp/generated_tools.json

echo "[4/12] Existing MCP tools..."

curl -fsSL \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
"$MCP" \
> mcp/current_tools.json

echo "[5/12] Comparing..."

jq '.result.tools|length' mcp/current_tools.json > mcp/current.count
jq 'length' mcp/generated_tools.json > mcp/generated.count

CURRENT=$(cat mcp/current.count)
GENERATED=$(cat mcp/generated.count)

echo "[6/12] Creating sync report..."

cat > reports/mcp_sync_report.txt <<REPORT
HF Backend : $HF_URL

Current MCP Tools : $CURRENT

Generated Tools : $GENERATED

OpenAPI : mcp/openapi.json

Generated Registry :
mcp/generated_tools.json
REPORT

echo "[7/12] Preview Generated..."

jq '.[0:20]' mcp/generated_tools.json

echo "[8/12] Preview Existing..."

jq '.result.tools' mcp/current_tools.json

echo "[9/12] API routes:"
wc -l mcp/api_routes.txt

echo "[10/12] Generated registry ready."

echo "[11/12] Sync report written."

echo "[12/12] Complete."