@opentabs-dev/opentabs-plugin-netlify 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15736 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/index.d.ts +13 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +119 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/netlify-api.d.ts +10 -0
  9. package/dist/netlify-api.d.ts.map +1 -0
  10. package/dist/netlify-api.js +34 -0
  11. package/dist/netlify-api.js.map +1 -0
  12. package/dist/tools/create-build-hook.d.ts +14 -0
  13. package/dist/tools/create-build-hook.d.ts.map +1 -0
  14. package/dist/tools/create-build-hook.js +26 -0
  15. package/dist/tools/create-build-hook.js.map +1 -0
  16. package/dist/tools/create-build.d.ts +12 -0
  17. package/dist/tools/create-build.d.ts.map +1 -0
  18. package/dist/tools/create-build.js +23 -0
  19. package/dist/tools/create-build.js.map +1 -0
  20. package/dist/tools/create-deploy-key.d.ts +7 -0
  21. package/dist/tools/create-deploy-key.d.ts.map +1 -0
  22. package/dist/tools/create-deploy-key.js +19 -0
  23. package/dist/tools/create-deploy-key.js.map +1 -0
  24. package/dist/tools/create-dns-record.d.ts +20 -0
  25. package/dist/tools/create-dns-record.d.ts.map +1 -0
  26. package/dist/tools/create-dns-record.js +38 -0
  27. package/dist/tools/create-dns-record.js.map +1 -0
  28. package/dist/tools/create-dns-zone.d.ts +16 -0
  29. package/dist/tools/create-dns-zone.d.ts.map +1 -0
  30. package/dist/tools/create-dns-zone.js +32 -0
  31. package/dist/tools/create-dns-zone.js.map +1 -0
  32. package/dist/tools/create-env-vars.d.ts +28 -0
  33. package/dist/tools/create-env-vars.d.ts.map +1 -0
  34. package/dist/tools/create-env-vars.js +42 -0
  35. package/dist/tools/create-env-vars.js.map +1 -0
  36. package/dist/tools/create-site.d.ts +30 -0
  37. package/dist/tools/create-site.d.ts.map +1 -0
  38. package/dist/tools/create-site.js +25 -0
  39. package/dist/tools/create-site.js.map +1 -0
  40. package/dist/tools/delete-build-hook.d.ts +8 -0
  41. package/dist/tools/delete-build-hook.d.ts.map +1 -0
  42. package/dist/tools/delete-build-hook.js +25 -0
  43. package/dist/tools/delete-build-hook.js.map +1 -0
  44. package/dist/tools/delete-dns-record.d.ts +8 -0
  45. package/dist/tools/delete-dns-record.d.ts.map +1 -0
  46. package/dist/tools/delete-dns-record.js +25 -0
  47. package/dist/tools/delete-dns-record.js.map +1 -0
  48. package/dist/tools/delete-env-var.d.ts +9 -0
  49. package/dist/tools/delete-env-var.d.ts.map +1 -0
  50. package/dist/tools/delete-env-var.js +27 -0
  51. package/dist/tools/delete-env-var.js.map +1 -0
  52. package/dist/tools/delete-hook.d.ts +7 -0
  53. package/dist/tools/delete-hook.d.ts.map +1 -0
  54. package/dist/tools/delete-hook.js +22 -0
  55. package/dist/tools/delete-hook.js.map +1 -0
  56. package/dist/tools/delete-site.d.ts +7 -0
  57. package/dist/tools/delete-site.d.ts.map +1 -0
  58. package/dist/tools/delete-site.js +22 -0
  59. package/dist/tools/delete-site.js.map +1 -0
  60. package/dist/tools/delete-submission.d.ts +7 -0
  61. package/dist/tools/delete-submission.d.ts.map +1 -0
  62. package/dist/tools/delete-submission.js +22 -0
  63. package/dist/tools/delete-submission.js.map +1 -0
  64. package/dist/tools/get-account.d.ts +20 -0
  65. package/dist/tools/get-account.d.ts.map +1 -0
  66. package/dist/tools/get-account.js +21 -0
  67. package/dist/tools/get-account.js.map +1 -0
  68. package/dist/tools/get-current-user.d.ts +13 -0
  69. package/dist/tools/get-current-user.d.ts.map +1 -0
  70. package/dist/tools/get-current-user.js +19 -0
  71. package/dist/tools/get-current-user.js.map +1 -0
  72. package/dist/tools/get-deploy.d.ts +27 -0
  73. package/dist/tools/get-deploy.d.ts.map +1 -0
  74. package/dist/tools/get-deploy.js +21 -0
  75. package/dist/tools/get-deploy.js.map +1 -0
  76. package/dist/tools/get-dns-zone.d.ts +14 -0
  77. package/dist/tools/get-dns-zone.d.ts.map +1 -0
  78. package/dist/tools/get-dns-zone.js +21 -0
  79. package/dist/tools/get-dns-zone.js.map +1 -0
  80. package/dist/tools/get-env-var.d.ts +18 -0
  81. package/dist/tools/get-env-var.d.ts.map +1 -0
  82. package/dist/tools/get-env-var.js +25 -0
  83. package/dist/tools/get-env-var.js.map +1 -0
  84. package/dist/tools/get-member.d.ts +14 -0
  85. package/dist/tools/get-member.d.ts.map +1 -0
  86. package/dist/tools/get-member.js +22 -0
  87. package/dist/tools/get-member.js.map +1 -0
  88. package/dist/tools/get-site.d.ts +29 -0
  89. package/dist/tools/get-site.d.ts.map +1 -0
  90. package/dist/tools/get-site.js +21 -0
  91. package/dist/tools/get-site.js.map +1 -0
  92. package/dist/tools/list-accounts.d.ts +20 -0
  93. package/dist/tools/list-accounts.d.ts.map +1 -0
  94. package/dist/tools/list-accounts.js +21 -0
  95. package/dist/tools/list-accounts.js.map +1 -0
  96. package/dist/tools/list-audit-events.d.ts +19 -0
  97. package/dist/tools/list-audit-events.d.ts.map +1 -0
  98. package/dist/tools/list-audit-events.js +32 -0
  99. package/dist/tools/list-audit-events.js.map +1 -0
  100. package/dist/tools/list-build-hooks.d.ts +14 -0
  101. package/dist/tools/list-build-hooks.d.ts.map +1 -0
  102. package/dist/tools/list-build-hooks.js +23 -0
  103. package/dist/tools/list-build-hooks.js.map +1 -0
  104. package/dist/tools/list-builds.d.ts +16 -0
  105. package/dist/tools/list-builds.d.ts.map +1 -0
  106. package/dist/tools/list-builds.js +30 -0
  107. package/dist/tools/list-builds.js.map +1 -0
  108. package/dist/tools/list-deploy-keys.d.ts +9 -0
  109. package/dist/tools/list-deploy-keys.d.ts.map +1 -0
  110. package/dist/tools/list-deploy-keys.js +21 -0
  111. package/dist/tools/list-deploy-keys.js.map +1 -0
  112. package/dist/tools/list-deploys.d.ts +31 -0
  113. package/dist/tools/list-deploys.d.ts.map +1 -0
  114. package/dist/tools/list-deploys.js +30 -0
  115. package/dist/tools/list-deploys.js.map +1 -0
  116. package/dist/tools/list-dns-records.d.ts +17 -0
  117. package/dist/tools/list-dns-records.d.ts.map +1 -0
  118. package/dist/tools/list-dns-records.js +23 -0
  119. package/dist/tools/list-dns-records.js.map +1 -0
  120. package/dist/tools/list-dns-zones.d.ts +16 -0
  121. package/dist/tools/list-dns-zones.d.ts.map +1 -0
  122. package/dist/tools/list-dns-zones.js +25 -0
  123. package/dist/tools/list-dns-zones.js.map +1 -0
  124. package/dist/tools/list-env-vars.d.ts +19 -0
  125. package/dist/tools/list-env-vars.d.ts.map +1 -0
  126. package/dist/tools/list-env-vars.js +26 -0
  127. package/dist/tools/list-env-vars.js.map +1 -0
  128. package/dist/tools/list-form-submissions.d.ts +18 -0
  129. package/dist/tools/list-form-submissions.d.ts.map +1 -0
  130. package/dist/tools/list-form-submissions.js +30 -0
  131. package/dist/tools/list-form-submissions.js.map +1 -0
  132. package/dist/tools/list-forms.d.ts +15 -0
  133. package/dist/tools/list-forms.d.ts.map +1 -0
  134. package/dist/tools/list-forms.js +23 -0
  135. package/dist/tools/list-forms.js.map +1 -0
  136. package/dist/tools/list-hooks.d.ts +16 -0
  137. package/dist/tools/list-hooks.d.ts.map +1 -0
  138. package/dist/tools/list-hooks.js +25 -0
  139. package/dist/tools/list-hooks.js.map +1 -0
  140. package/dist/tools/list-members.d.ts +15 -0
  141. package/dist/tools/list-members.d.ts.map +1 -0
  142. package/dist/tools/list-members.js +23 -0
  143. package/dist/tools/list-members.js.map +1 -0
  144. package/dist/tools/list-sites.d.ts +34 -0
  145. package/dist/tools/list-sites.d.ts.map +1 -0
  146. package/dist/tools/list-sites.js +32 -0
  147. package/dist/tools/list-sites.js.map +1 -0
  148. package/dist/tools/lock-deploy.d.ts +27 -0
  149. package/dist/tools/lock-deploy.d.ts.map +1 -0
  150. package/dist/tools/lock-deploy.js +23 -0
  151. package/dist/tools/lock-deploy.js.map +1 -0
  152. package/dist/tools/restore-deploy.d.ts +28 -0
  153. package/dist/tools/restore-deploy.d.ts.map +1 -0
  154. package/dist/tools/restore-deploy.js +24 -0
  155. package/dist/tools/restore-deploy.js.map +1 -0
  156. package/dist/tools/rollback-deploy.d.ts +29 -0
  157. package/dist/tools/rollback-deploy.d.ts.map +1 -0
  158. package/dist/tools/rollback-deploy.js +23 -0
  159. package/dist/tools/rollback-deploy.js.map +1 -0
  160. package/dist/tools/schemas.d.ts +558 -0
  161. package/dist/tools/schemas.d.ts.map +1 -0
  162. package/dist/tools/schemas.js +376 -0
  163. package/dist/tools/schemas.js.map +1 -0
  164. package/dist/tools/unlock-deploy.d.ts +27 -0
  165. package/dist/tools/unlock-deploy.d.ts.map +1 -0
  166. package/dist/tools/unlock-deploy.js +23 -0
  167. package/dist/tools/unlock-deploy.js.map +1 -0
  168. package/dist/tools/update-env-var.d.ts +25 -0
  169. package/dist/tools/update-env-var.d.ts.map +1 -0
  170. package/dist/tools/update-env-var.js +43 -0
  171. package/dist/tools/update-env-var.js.map +1 -0
  172. package/dist/tools/update-site.d.ts +34 -0
  173. package/dist/tools/update-site.d.ts.map +1 -0
  174. package/dist/tools/update-site.js +42 -0
  175. package/dist/tools/update-site.js.map +1 -0
  176. package/dist/tools.json +3751 -0
  177. package/package.json +55 -0
@@ -0,0 +1,3751 @@
1
+ {
2
+ "sdkVersion": "0.0.74",
3
+ "iconSvg": "<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.49 19.04h-.23L5.13 17.9v-.23l1.73-1.71h1.2l.15.15v1.2L6.5 19.04ZM5.13 6.31V6.1l1.13-1.13h.23L8.2 6.68v1.2l-.15.15h-1.2L5.13 6.31Zm9.96 9.09h-1.65l-.14-.13v-3.83c0-.68-.27-1.2-1.1-1.23-.42 0-.9 0-1.43.02l-.07.08v4.96l-.14.14H8.9l-.13-.14V8.73l.13-.14h3.7a2.6 2.6 0 0 1 2.61 2.6v4.08l-.13.14Zm-8.37-2.44H.14L0 12.82v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14Zm17.14 0h-6.58l-.14-.14v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14ZM11.05 6.55V1.64l.14-.14h1.65l.14.14v4.9l-.14.14h-1.65l-.14-.13Zm0 15.81v-4.9l.14-.14h1.65l.14.13v4.91l-.14.14h-1.65l-.14-.14Z\" fill=\"#00C7B7\"/></svg>",
4
+ "iconInactiveSvg": "<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.49 19.04h-.23L5.13 17.9v-.23l1.73-1.71h1.2l.15.15v1.2L6.5 19.04ZM5.13 6.31V6.1l1.13-1.13h.23L8.2 6.68v1.2l-.15.15h-1.2L5.13 6.31Zm9.96 9.09h-1.65l-.14-.13v-3.83c0-.68-.27-1.2-1.1-1.23-.42 0-.9 0-1.43.02l-.07.08v4.96l-.14.14H8.9l-.13-.14V8.73l.13-.14h3.7a2.6 2.6 0 0 1 2.61 2.6v4.08l-.13.14Zm-8.37-2.44H.14L0 12.82v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14Zm17.14 0h-6.58l-.14-.14v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14ZM11.05 6.55V1.64l.14-.14h1.65l.14.14v4.9l-.14.14h-1.65l-.14-.13Zm0 15.81v-4.9l.14-.14h1.65l.14.13v4.91l-.14.14h-1.65l-.14-.14Z\" fill=\"#9c9c9c\"/></svg>",
5
+ "iconDarkSvg": "<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.49 19.04h-.23L5.13 17.9v-.23l1.73-1.71h1.2l.15.15v1.2L6.5 19.04ZM5.13 6.31V6.1l1.13-1.13h.23L8.2 6.68v1.2l-.15.15h-1.2L5.13 6.31Zm9.96 9.09h-1.65l-.14-.13v-3.83c0-.68-.27-1.2-1.1-1.23-.42 0-.9 0-1.43.02l-.07.08v4.96l-.14.14H8.9l-.13-.14V8.73l.13-.14h3.7a2.6 2.6 0 0 1 2.61 2.6v4.08l-.13.14Zm-8.37-2.44H.14L0 12.82v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14Zm17.14 0h-6.58l-.14-.14v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14ZM11.05 6.55V1.64l.14-.14h1.65l.14.14v4.9l-.14.14h-1.65l-.14-.13Zm0 15.81v-4.9l.14-.14h1.65l.14.13v4.91l-.14.14h-1.65l-.14-.14Z\" fill=\"#00C7B7\"/></svg>",
6
+ "iconDarkInactiveSvg": "<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.49 19.04h-.23L5.13 17.9v-.23l1.73-1.71h1.2l.15.15v1.2L6.5 19.04ZM5.13 6.31V6.1l1.13-1.13h.23L8.2 6.68v1.2l-.15.15h-1.2L5.13 6.31Zm9.96 9.09h-1.65l-.14-.13v-3.83c0-.68-.27-1.2-1.1-1.23-.42 0-.9 0-1.43.02l-.07.08v4.96l-.14.14H8.9l-.13-.14V8.73l.13-.14h3.7a2.6 2.6 0 0 1 2.61 2.6v4.08l-.13.14Zm-8.37-2.44H.14L0 12.82v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14Zm17.14 0h-6.58l-.14-.14v-1.64l.14-.14h6.58l.14.14v1.64l-.14.14ZM11.05 6.55V1.64l.14-.14h1.65l.14.14v4.9l-.14.14h-1.65l-.14-.13Zm0 15.81v-4.9l.14-.14h1.65l.14.13v4.91l-.14.14h-1.65l-.14-.14Z\" fill=\"#9c9c9c\"/></svg>",
7
+ "tools": [
8
+ {
9
+ "name": "get_current_user",
10
+ "displayName": "Get Current User",
11
+ "description": "Get the profile of the currently authenticated Netlify user including name, email, site count, MFA status, and login providers.",
12
+ "summary": "Get authenticated user profile",
13
+ "icon": "user",
14
+ "group": "Account",
15
+ "input_schema": {
16
+ "type": "object",
17
+ "properties": {},
18
+ "additionalProperties": false
19
+ },
20
+ "output_schema": {
21
+ "type": "object",
22
+ "properties": {
23
+ "id": {
24
+ "type": "string",
25
+ "description": "User ID"
26
+ },
27
+ "full_name": {
28
+ "type": "string",
29
+ "description": "Full display name"
30
+ },
31
+ "email": {
32
+ "type": "string",
33
+ "description": "Primary email address"
34
+ },
35
+ "avatar_url": {
36
+ "type": "string",
37
+ "description": "Avatar image URL or empty"
38
+ },
39
+ "site_count": {
40
+ "type": "number",
41
+ "description": "Number of sites owned by the user"
42
+ },
43
+ "created_at": {
44
+ "type": "string",
45
+ "description": "Account creation ISO 8601 timestamp"
46
+ },
47
+ "last_login": {
48
+ "type": "string",
49
+ "description": "Last login ISO 8601 timestamp"
50
+ },
51
+ "login_providers": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "string"
55
+ },
56
+ "description": "Authentication providers (e.g. github, email)"
57
+ },
58
+ "mfa_enabled": {
59
+ "type": "boolean",
60
+ "description": "Whether multi-factor authentication is enabled"
61
+ }
62
+ },
63
+ "required": [
64
+ "id",
65
+ "full_name",
66
+ "email",
67
+ "avatar_url",
68
+ "site_count",
69
+ "created_at",
70
+ "last_login",
71
+ "login_providers",
72
+ "mfa_enabled"
73
+ ],
74
+ "additionalProperties": false
75
+ }
76
+ },
77
+ {
78
+ "name": "list_accounts",
79
+ "displayName": "List Accounts",
80
+ "description": "List all Netlify accounts (teams) the authenticated user has access to. Returns account name, slug, plan capabilities, billing info, and owner IDs.",
81
+ "summary": "List all accounts",
82
+ "icon": "list",
83
+ "group": "Account",
84
+ "input_schema": {
85
+ "type": "object",
86
+ "properties": {},
87
+ "additionalProperties": false
88
+ },
89
+ "output_schema": {
90
+ "type": "object",
91
+ "properties": {
92
+ "items": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "object",
96
+ "properties": {
97
+ "id": {
98
+ "type": "string",
99
+ "description": "Account ID"
100
+ },
101
+ "name": {
102
+ "type": "string",
103
+ "description": "Account display name"
104
+ },
105
+ "slug": {
106
+ "type": "string",
107
+ "description": "URL-safe account slug"
108
+ },
109
+ "type": {
110
+ "type": "string",
111
+ "description": "Account type identifier"
112
+ },
113
+ "type_name": {
114
+ "type": "string",
115
+ "description": "Human-readable account type name"
116
+ },
117
+ "capabilities_sites_included": {
118
+ "type": "number",
119
+ "description": "Number of sites included in the plan"
120
+ },
121
+ "capabilities_sites_used": {
122
+ "type": "number",
123
+ "description": "Number of sites currently used"
124
+ },
125
+ "capabilities_collaborators_included": {
126
+ "type": "number",
127
+ "description": "Number of collaborators included in the plan"
128
+ },
129
+ "capabilities_collaborators_used": {
130
+ "type": "number",
131
+ "description": "Number of collaborators currently used"
132
+ },
133
+ "billing_name": {
134
+ "type": "string",
135
+ "description": "Billing contact name"
136
+ },
137
+ "billing_email": {
138
+ "type": "string",
139
+ "description": "Billing contact email"
140
+ },
141
+ "owner_ids": {
142
+ "type": "array",
143
+ "items": {
144
+ "type": "string"
145
+ },
146
+ "description": "User IDs of account owners"
147
+ },
148
+ "created_at": {
149
+ "type": "string",
150
+ "description": "Account creation ISO 8601 timestamp"
151
+ },
152
+ "updated_at": {
153
+ "type": "string",
154
+ "description": "Last update ISO 8601 timestamp"
155
+ }
156
+ },
157
+ "required": [
158
+ "id",
159
+ "name",
160
+ "slug",
161
+ "type",
162
+ "type_name",
163
+ "capabilities_sites_included",
164
+ "capabilities_sites_used",
165
+ "capabilities_collaborators_included",
166
+ "capabilities_collaborators_used",
167
+ "billing_name",
168
+ "billing_email",
169
+ "owner_ids",
170
+ "created_at",
171
+ "updated_at"
172
+ ],
173
+ "additionalProperties": false
174
+ },
175
+ "description": "List of accounts"
176
+ }
177
+ },
178
+ "required": [
179
+ "items"
180
+ ],
181
+ "additionalProperties": false
182
+ }
183
+ },
184
+ {
185
+ "name": "get_account",
186
+ "displayName": "Get Account",
187
+ "description": "Get detailed information about a specific Netlify account (team) by its ID. Returns name, slug, plan capabilities, billing info, and owner IDs.",
188
+ "summary": "Get account details by ID",
189
+ "icon": "building",
190
+ "group": "Account",
191
+ "input_schema": {
192
+ "type": "object",
193
+ "properties": {
194
+ "account_id": {
195
+ "type": "string",
196
+ "description": "The account ID to retrieve"
197
+ }
198
+ },
199
+ "required": [
200
+ "account_id"
201
+ ],
202
+ "additionalProperties": false
203
+ },
204
+ "output_schema": {
205
+ "type": "object",
206
+ "properties": {
207
+ "id": {
208
+ "type": "string",
209
+ "description": "Account ID"
210
+ },
211
+ "name": {
212
+ "type": "string",
213
+ "description": "Account display name"
214
+ },
215
+ "slug": {
216
+ "type": "string",
217
+ "description": "URL-safe account slug"
218
+ },
219
+ "type": {
220
+ "type": "string",
221
+ "description": "Account type identifier"
222
+ },
223
+ "type_name": {
224
+ "type": "string",
225
+ "description": "Human-readable account type name"
226
+ },
227
+ "capabilities_sites_included": {
228
+ "type": "number",
229
+ "description": "Number of sites included in the plan"
230
+ },
231
+ "capabilities_sites_used": {
232
+ "type": "number",
233
+ "description": "Number of sites currently used"
234
+ },
235
+ "capabilities_collaborators_included": {
236
+ "type": "number",
237
+ "description": "Number of collaborators included in the plan"
238
+ },
239
+ "capabilities_collaborators_used": {
240
+ "type": "number",
241
+ "description": "Number of collaborators currently used"
242
+ },
243
+ "billing_name": {
244
+ "type": "string",
245
+ "description": "Billing contact name"
246
+ },
247
+ "billing_email": {
248
+ "type": "string",
249
+ "description": "Billing contact email"
250
+ },
251
+ "owner_ids": {
252
+ "type": "array",
253
+ "items": {
254
+ "type": "string"
255
+ },
256
+ "description": "User IDs of account owners"
257
+ },
258
+ "created_at": {
259
+ "type": "string",
260
+ "description": "Account creation ISO 8601 timestamp"
261
+ },
262
+ "updated_at": {
263
+ "type": "string",
264
+ "description": "Last update ISO 8601 timestamp"
265
+ }
266
+ },
267
+ "required": [
268
+ "id",
269
+ "name",
270
+ "slug",
271
+ "type",
272
+ "type_name",
273
+ "capabilities_sites_included",
274
+ "capabilities_sites_used",
275
+ "capabilities_collaborators_included",
276
+ "capabilities_collaborators_used",
277
+ "billing_name",
278
+ "billing_email",
279
+ "owner_ids",
280
+ "created_at",
281
+ "updated_at"
282
+ ],
283
+ "additionalProperties": false
284
+ }
285
+ },
286
+ {
287
+ "name": "list_audit_events",
288
+ "displayName": "List Audit Events",
289
+ "description": "List audit log events for a Netlify account. Returns actions performed by team members such as site creation, deploy locks, and settings changes. Supports text search and pagination.",
290
+ "summary": "List account audit log events",
291
+ "icon": "shield",
292
+ "group": "Account",
293
+ "input_schema": {
294
+ "type": "object",
295
+ "properties": {
296
+ "account_id": {
297
+ "type": "string",
298
+ "description": "The account ID to query audit events for"
299
+ },
300
+ "query": {
301
+ "description": "Text search query to filter events",
302
+ "type": "string"
303
+ },
304
+ "page": {
305
+ "description": "Page number for pagination (starts at 1)",
306
+ "type": "number"
307
+ },
308
+ "per_page": {
309
+ "description": "Number of events per page (default 20)",
310
+ "type": "number"
311
+ }
312
+ },
313
+ "required": [
314
+ "account_id"
315
+ ],
316
+ "additionalProperties": false
317
+ },
318
+ "output_schema": {
319
+ "type": "object",
320
+ "properties": {
321
+ "items": {
322
+ "type": "array",
323
+ "items": {
324
+ "type": "object",
325
+ "properties": {
326
+ "id": {
327
+ "type": "string",
328
+ "description": "Audit event ID"
329
+ },
330
+ "account_id": {
331
+ "type": "string",
332
+ "description": "Account where the event occurred"
333
+ },
334
+ "actor_id": {
335
+ "type": "string",
336
+ "description": "User ID of the actor"
337
+ },
338
+ "actor_name": {
339
+ "type": "string",
340
+ "description": "Display name of the actor"
341
+ },
342
+ "actor_email": {
343
+ "type": "string",
344
+ "description": "Email address of the actor"
345
+ },
346
+ "action": {
347
+ "type": "string",
348
+ "description": "Action performed (e.g. site:create, deploy:lock)"
349
+ },
350
+ "timestamp": {
351
+ "type": "string",
352
+ "description": "Event ISO 8601 timestamp"
353
+ },
354
+ "log_type": {
355
+ "type": "string",
356
+ "description": "Log classification type"
357
+ }
358
+ },
359
+ "required": [
360
+ "id",
361
+ "account_id",
362
+ "actor_id",
363
+ "actor_name",
364
+ "actor_email",
365
+ "action",
366
+ "timestamp",
367
+ "log_type"
368
+ ],
369
+ "additionalProperties": false
370
+ },
371
+ "description": "List of audit events"
372
+ }
373
+ },
374
+ "required": [
375
+ "items"
376
+ ],
377
+ "additionalProperties": false
378
+ }
379
+ },
380
+ {
381
+ "name": "list_members",
382
+ "displayName": "List Members",
383
+ "description": "List all members of a Netlify account (team). Returns each member with their name, email, role, pending status, and MFA status.",
384
+ "summary": "List account team members",
385
+ "icon": "users",
386
+ "group": "Members",
387
+ "input_schema": {
388
+ "type": "object",
389
+ "properties": {
390
+ "account_slug": {
391
+ "type": "string",
392
+ "description": "The account slug to list members for"
393
+ }
394
+ },
395
+ "required": [
396
+ "account_slug"
397
+ ],
398
+ "additionalProperties": false
399
+ },
400
+ "output_schema": {
401
+ "type": "object",
402
+ "properties": {
403
+ "items": {
404
+ "type": "array",
405
+ "items": {
406
+ "type": "object",
407
+ "properties": {
408
+ "id": {
409
+ "type": "string",
410
+ "description": "Member user ID"
411
+ },
412
+ "full_name": {
413
+ "type": "string",
414
+ "description": "Full display name"
415
+ },
416
+ "email": {
417
+ "type": "string",
418
+ "description": "Email address"
419
+ },
420
+ "avatar": {
421
+ "type": "string",
422
+ "description": "Avatar image URL or empty"
423
+ },
424
+ "role": {
425
+ "type": "string",
426
+ "description": "Team role (e.g. Owner, Collaborator)"
427
+ },
428
+ "pending": {
429
+ "type": "boolean",
430
+ "description": "Whether the membership invitation is pending"
431
+ },
432
+ "mfa_enabled": {
433
+ "type": "boolean",
434
+ "description": "Whether multi-factor authentication is enabled"
435
+ }
436
+ },
437
+ "required": [
438
+ "id",
439
+ "full_name",
440
+ "email",
441
+ "avatar",
442
+ "role",
443
+ "pending",
444
+ "mfa_enabled"
445
+ ],
446
+ "additionalProperties": false
447
+ },
448
+ "description": "List of team members"
449
+ }
450
+ },
451
+ "required": [
452
+ "items"
453
+ ],
454
+ "additionalProperties": false
455
+ }
456
+ },
457
+ {
458
+ "name": "get_member",
459
+ "displayName": "Get Member",
460
+ "description": "Get detailed information about a specific team member in a Netlify account by their member ID. Returns name, email, role, pending status, and MFA status.",
461
+ "summary": "Get member details by ID",
462
+ "icon": "user",
463
+ "group": "Members",
464
+ "input_schema": {
465
+ "type": "object",
466
+ "properties": {
467
+ "account_slug": {
468
+ "type": "string",
469
+ "description": "The account slug the member belongs to"
470
+ },
471
+ "member_id": {
472
+ "type": "string",
473
+ "description": "The member ID to retrieve"
474
+ }
475
+ },
476
+ "required": [
477
+ "account_slug",
478
+ "member_id"
479
+ ],
480
+ "additionalProperties": false
481
+ },
482
+ "output_schema": {
483
+ "type": "object",
484
+ "properties": {
485
+ "id": {
486
+ "type": "string",
487
+ "description": "Member user ID"
488
+ },
489
+ "full_name": {
490
+ "type": "string",
491
+ "description": "Full display name"
492
+ },
493
+ "email": {
494
+ "type": "string",
495
+ "description": "Email address"
496
+ },
497
+ "avatar": {
498
+ "type": "string",
499
+ "description": "Avatar image URL or empty"
500
+ },
501
+ "role": {
502
+ "type": "string",
503
+ "description": "Team role (e.g. Owner, Collaborator)"
504
+ },
505
+ "pending": {
506
+ "type": "boolean",
507
+ "description": "Whether the membership invitation is pending"
508
+ },
509
+ "mfa_enabled": {
510
+ "type": "boolean",
511
+ "description": "Whether multi-factor authentication is enabled"
512
+ }
513
+ },
514
+ "required": [
515
+ "id",
516
+ "full_name",
517
+ "email",
518
+ "avatar",
519
+ "role",
520
+ "pending",
521
+ "mfa_enabled"
522
+ ],
523
+ "additionalProperties": false
524
+ }
525
+ },
526
+ {
527
+ "name": "list_sites",
528
+ "displayName": "List Sites",
529
+ "description": "List sites for a Netlify account. Supports filtering by name and pagination. Returns site name, URL, custom domain, framework, repo info, and SSL status.",
530
+ "summary": "List sites in an account",
531
+ "icon": "list",
532
+ "group": "Sites",
533
+ "input_schema": {
534
+ "type": "object",
535
+ "properties": {
536
+ "account_slug": {
537
+ "type": "string",
538
+ "description": "The account slug to list sites for"
539
+ },
540
+ "name": {
541
+ "description": "Filter sites by name (substring match)",
542
+ "type": "string"
543
+ },
544
+ "page": {
545
+ "description": "Page number for pagination (starts at 1)",
546
+ "type": "number"
547
+ },
548
+ "per_page": {
549
+ "description": "Number of sites per page (default 20)",
550
+ "type": "number"
551
+ }
552
+ },
553
+ "required": [
554
+ "account_slug"
555
+ ],
556
+ "additionalProperties": false
557
+ },
558
+ "output_schema": {
559
+ "type": "object",
560
+ "properties": {
561
+ "items": {
562
+ "type": "array",
563
+ "items": {
564
+ "type": "object",
565
+ "properties": {
566
+ "id": {
567
+ "type": "string",
568
+ "description": "Site ID"
569
+ },
570
+ "name": {
571
+ "type": "string",
572
+ "description": "Site name (subdomain prefix)"
573
+ },
574
+ "state": {
575
+ "type": "string",
576
+ "description": "Site state (e.g. current)"
577
+ },
578
+ "url": {
579
+ "type": "string",
580
+ "description": "Primary site URL"
581
+ },
582
+ "ssl_url": {
583
+ "type": "string",
584
+ "description": "HTTPS site URL"
585
+ },
586
+ "admin_url": {
587
+ "type": "string",
588
+ "description": "Netlify dashboard admin URL"
589
+ },
590
+ "deploy_url": {
591
+ "type": "string",
592
+ "description": "Latest deploy preview URL"
593
+ },
594
+ "screenshot_url": {
595
+ "type": "string",
596
+ "description": "Site screenshot URL or empty"
597
+ },
598
+ "custom_domain": {
599
+ "type": "string",
600
+ "description": "Custom domain name or empty"
601
+ },
602
+ "domain_aliases": {
603
+ "type": "array",
604
+ "items": {
605
+ "type": "string"
606
+ },
607
+ "description": "Additional domain aliases"
608
+ },
609
+ "created_at": {
610
+ "type": "string",
611
+ "description": "Site creation ISO 8601 timestamp"
612
+ },
613
+ "updated_at": {
614
+ "type": "string",
615
+ "description": "Last update ISO 8601 timestamp"
616
+ },
617
+ "account_name": {
618
+ "type": "string",
619
+ "description": "Owning account display name"
620
+ },
621
+ "account_slug": {
622
+ "type": "string",
623
+ "description": "Owning account slug"
624
+ },
625
+ "git_provider": {
626
+ "type": "string",
627
+ "description": "Git hosting provider (e.g. github) or empty"
628
+ },
629
+ "ssl": {
630
+ "type": "boolean",
631
+ "description": "Whether SSL is provisioned"
632
+ },
633
+ "force_ssl": {
634
+ "type": "boolean",
635
+ "description": "Whether HTTPS is enforced"
636
+ },
637
+ "managed_dns": {
638
+ "type": "boolean",
639
+ "description": "Whether DNS is managed by Netlify"
640
+ },
641
+ "build_image": {
642
+ "type": "string",
643
+ "description": "Build image identifier or empty"
644
+ },
645
+ "framework": {
646
+ "type": "string",
647
+ "description": "Detected framework from published deploy or empty"
648
+ },
649
+ "repo_url": {
650
+ "type": "string",
651
+ "description": "Connected Git repository URL or empty"
652
+ },
653
+ "repo_branch": {
654
+ "type": "string",
655
+ "description": "Production branch name or empty"
656
+ },
657
+ "build_cmd": {
658
+ "type": "string",
659
+ "description": "Build command or empty"
660
+ }
661
+ },
662
+ "required": [
663
+ "id",
664
+ "name",
665
+ "state",
666
+ "url",
667
+ "ssl_url",
668
+ "admin_url",
669
+ "deploy_url",
670
+ "screenshot_url",
671
+ "custom_domain",
672
+ "domain_aliases",
673
+ "created_at",
674
+ "updated_at",
675
+ "account_name",
676
+ "account_slug",
677
+ "git_provider",
678
+ "ssl",
679
+ "force_ssl",
680
+ "managed_dns",
681
+ "build_image",
682
+ "framework",
683
+ "repo_url",
684
+ "repo_branch",
685
+ "build_cmd"
686
+ ],
687
+ "additionalProperties": false
688
+ },
689
+ "description": "List of sites"
690
+ }
691
+ },
692
+ "required": [
693
+ "items"
694
+ ],
695
+ "additionalProperties": false
696
+ }
697
+ },
698
+ {
699
+ "name": "get_site",
700
+ "displayName": "Get Site",
701
+ "description": "Get detailed information about a specific Netlify site by its ID. Returns name, URLs, custom domain, framework, repo settings, SSL, and build configuration.",
702
+ "summary": "Get site details by ID",
703
+ "icon": "globe",
704
+ "group": "Sites",
705
+ "input_schema": {
706
+ "type": "object",
707
+ "properties": {
708
+ "site_id": {
709
+ "type": "string",
710
+ "description": "The site ID to retrieve"
711
+ }
712
+ },
713
+ "required": [
714
+ "site_id"
715
+ ],
716
+ "additionalProperties": false
717
+ },
718
+ "output_schema": {
719
+ "type": "object",
720
+ "properties": {
721
+ "id": {
722
+ "type": "string",
723
+ "description": "Site ID"
724
+ },
725
+ "name": {
726
+ "type": "string",
727
+ "description": "Site name (subdomain prefix)"
728
+ },
729
+ "state": {
730
+ "type": "string",
731
+ "description": "Site state (e.g. current)"
732
+ },
733
+ "url": {
734
+ "type": "string",
735
+ "description": "Primary site URL"
736
+ },
737
+ "ssl_url": {
738
+ "type": "string",
739
+ "description": "HTTPS site URL"
740
+ },
741
+ "admin_url": {
742
+ "type": "string",
743
+ "description": "Netlify dashboard admin URL"
744
+ },
745
+ "deploy_url": {
746
+ "type": "string",
747
+ "description": "Latest deploy preview URL"
748
+ },
749
+ "screenshot_url": {
750
+ "type": "string",
751
+ "description": "Site screenshot URL or empty"
752
+ },
753
+ "custom_domain": {
754
+ "type": "string",
755
+ "description": "Custom domain name or empty"
756
+ },
757
+ "domain_aliases": {
758
+ "type": "array",
759
+ "items": {
760
+ "type": "string"
761
+ },
762
+ "description": "Additional domain aliases"
763
+ },
764
+ "created_at": {
765
+ "type": "string",
766
+ "description": "Site creation ISO 8601 timestamp"
767
+ },
768
+ "updated_at": {
769
+ "type": "string",
770
+ "description": "Last update ISO 8601 timestamp"
771
+ },
772
+ "account_name": {
773
+ "type": "string",
774
+ "description": "Owning account display name"
775
+ },
776
+ "account_slug": {
777
+ "type": "string",
778
+ "description": "Owning account slug"
779
+ },
780
+ "git_provider": {
781
+ "type": "string",
782
+ "description": "Git hosting provider (e.g. github) or empty"
783
+ },
784
+ "ssl": {
785
+ "type": "boolean",
786
+ "description": "Whether SSL is provisioned"
787
+ },
788
+ "force_ssl": {
789
+ "type": "boolean",
790
+ "description": "Whether HTTPS is enforced"
791
+ },
792
+ "managed_dns": {
793
+ "type": "boolean",
794
+ "description": "Whether DNS is managed by Netlify"
795
+ },
796
+ "build_image": {
797
+ "type": "string",
798
+ "description": "Build image identifier or empty"
799
+ },
800
+ "framework": {
801
+ "type": "string",
802
+ "description": "Detected framework from published deploy or empty"
803
+ },
804
+ "repo_url": {
805
+ "type": "string",
806
+ "description": "Connected Git repository URL or empty"
807
+ },
808
+ "repo_branch": {
809
+ "type": "string",
810
+ "description": "Production branch name or empty"
811
+ },
812
+ "build_cmd": {
813
+ "type": "string",
814
+ "description": "Build command or empty"
815
+ }
816
+ },
817
+ "required": [
818
+ "id",
819
+ "name",
820
+ "state",
821
+ "url",
822
+ "ssl_url",
823
+ "admin_url",
824
+ "deploy_url",
825
+ "screenshot_url",
826
+ "custom_domain",
827
+ "domain_aliases",
828
+ "created_at",
829
+ "updated_at",
830
+ "account_name",
831
+ "account_slug",
832
+ "git_provider",
833
+ "ssl",
834
+ "force_ssl",
835
+ "managed_dns",
836
+ "build_image",
837
+ "framework",
838
+ "repo_url",
839
+ "repo_branch",
840
+ "build_cmd"
841
+ ],
842
+ "additionalProperties": false
843
+ }
844
+ },
845
+ {
846
+ "name": "create_site",
847
+ "displayName": "Create Site",
848
+ "description": "Create a new Netlify site in the specified account. Provide a site name (used as the subdomain). Returns the created site details.",
849
+ "summary": "Create a new site",
850
+ "icon": "plus",
851
+ "group": "Sites",
852
+ "input_schema": {
853
+ "type": "object",
854
+ "properties": {
855
+ "account_slug": {
856
+ "type": "string",
857
+ "description": "The account slug to create the site in"
858
+ },
859
+ "name": {
860
+ "type": "string",
861
+ "description": "Site name (becomes the subdomain, e.g. \"my-app\" → my-app.netlify.app)"
862
+ }
863
+ },
864
+ "required": [
865
+ "account_slug",
866
+ "name"
867
+ ],
868
+ "additionalProperties": false
869
+ },
870
+ "output_schema": {
871
+ "type": "object",
872
+ "properties": {
873
+ "id": {
874
+ "type": "string",
875
+ "description": "Site ID"
876
+ },
877
+ "name": {
878
+ "type": "string",
879
+ "description": "Site name (subdomain prefix)"
880
+ },
881
+ "state": {
882
+ "type": "string",
883
+ "description": "Site state (e.g. current)"
884
+ },
885
+ "url": {
886
+ "type": "string",
887
+ "description": "Primary site URL"
888
+ },
889
+ "ssl_url": {
890
+ "type": "string",
891
+ "description": "HTTPS site URL"
892
+ },
893
+ "admin_url": {
894
+ "type": "string",
895
+ "description": "Netlify dashboard admin URL"
896
+ },
897
+ "deploy_url": {
898
+ "type": "string",
899
+ "description": "Latest deploy preview URL"
900
+ },
901
+ "screenshot_url": {
902
+ "type": "string",
903
+ "description": "Site screenshot URL or empty"
904
+ },
905
+ "custom_domain": {
906
+ "type": "string",
907
+ "description": "Custom domain name or empty"
908
+ },
909
+ "domain_aliases": {
910
+ "type": "array",
911
+ "items": {
912
+ "type": "string"
913
+ },
914
+ "description": "Additional domain aliases"
915
+ },
916
+ "created_at": {
917
+ "type": "string",
918
+ "description": "Site creation ISO 8601 timestamp"
919
+ },
920
+ "updated_at": {
921
+ "type": "string",
922
+ "description": "Last update ISO 8601 timestamp"
923
+ },
924
+ "account_name": {
925
+ "type": "string",
926
+ "description": "Owning account display name"
927
+ },
928
+ "account_slug": {
929
+ "type": "string",
930
+ "description": "Owning account slug"
931
+ },
932
+ "git_provider": {
933
+ "type": "string",
934
+ "description": "Git hosting provider (e.g. github) or empty"
935
+ },
936
+ "ssl": {
937
+ "type": "boolean",
938
+ "description": "Whether SSL is provisioned"
939
+ },
940
+ "force_ssl": {
941
+ "type": "boolean",
942
+ "description": "Whether HTTPS is enforced"
943
+ },
944
+ "managed_dns": {
945
+ "type": "boolean",
946
+ "description": "Whether DNS is managed by Netlify"
947
+ },
948
+ "build_image": {
949
+ "type": "string",
950
+ "description": "Build image identifier or empty"
951
+ },
952
+ "framework": {
953
+ "type": "string",
954
+ "description": "Detected framework from published deploy or empty"
955
+ },
956
+ "repo_url": {
957
+ "type": "string",
958
+ "description": "Connected Git repository URL or empty"
959
+ },
960
+ "repo_branch": {
961
+ "type": "string",
962
+ "description": "Production branch name or empty"
963
+ },
964
+ "build_cmd": {
965
+ "type": "string",
966
+ "description": "Build command or empty"
967
+ }
968
+ },
969
+ "required": [
970
+ "id",
971
+ "name",
972
+ "state",
973
+ "url",
974
+ "ssl_url",
975
+ "admin_url",
976
+ "deploy_url",
977
+ "screenshot_url",
978
+ "custom_domain",
979
+ "domain_aliases",
980
+ "created_at",
981
+ "updated_at",
982
+ "account_name",
983
+ "account_slug",
984
+ "git_provider",
985
+ "ssl",
986
+ "force_ssl",
987
+ "managed_dns",
988
+ "build_image",
989
+ "framework",
990
+ "repo_url",
991
+ "repo_branch",
992
+ "build_cmd"
993
+ ],
994
+ "additionalProperties": false
995
+ }
996
+ },
997
+ {
998
+ "name": "update_site",
999
+ "displayName": "Update Site",
1000
+ "description": "Update an existing Netlify site. Supports changing the site name, custom domain, repo branch, build command, and SSL settings. Only provided fields are updated.",
1001
+ "summary": "Update site settings",
1002
+ "icon": "pencil",
1003
+ "group": "Sites",
1004
+ "input_schema": {
1005
+ "type": "object",
1006
+ "properties": {
1007
+ "site_id": {
1008
+ "type": "string",
1009
+ "description": "The site ID to update"
1010
+ },
1011
+ "name": {
1012
+ "description": "New site name (subdomain)",
1013
+ "type": "string"
1014
+ },
1015
+ "custom_domain": {
1016
+ "description": "Custom domain name to assign",
1017
+ "type": "string"
1018
+ },
1019
+ "force_ssl": {
1020
+ "description": "Whether to enforce HTTPS",
1021
+ "type": "boolean"
1022
+ },
1023
+ "repo_branch": {
1024
+ "description": "Production branch name",
1025
+ "type": "string"
1026
+ },
1027
+ "build_cmd": {
1028
+ "description": "Build command",
1029
+ "type": "string"
1030
+ }
1031
+ },
1032
+ "required": [
1033
+ "site_id"
1034
+ ],
1035
+ "additionalProperties": false
1036
+ },
1037
+ "output_schema": {
1038
+ "type": "object",
1039
+ "properties": {
1040
+ "id": {
1041
+ "type": "string",
1042
+ "description": "Site ID"
1043
+ },
1044
+ "name": {
1045
+ "type": "string",
1046
+ "description": "Site name (subdomain prefix)"
1047
+ },
1048
+ "state": {
1049
+ "type": "string",
1050
+ "description": "Site state (e.g. current)"
1051
+ },
1052
+ "url": {
1053
+ "type": "string",
1054
+ "description": "Primary site URL"
1055
+ },
1056
+ "ssl_url": {
1057
+ "type": "string",
1058
+ "description": "HTTPS site URL"
1059
+ },
1060
+ "admin_url": {
1061
+ "type": "string",
1062
+ "description": "Netlify dashboard admin URL"
1063
+ },
1064
+ "deploy_url": {
1065
+ "type": "string",
1066
+ "description": "Latest deploy preview URL"
1067
+ },
1068
+ "screenshot_url": {
1069
+ "type": "string",
1070
+ "description": "Site screenshot URL or empty"
1071
+ },
1072
+ "custom_domain": {
1073
+ "type": "string",
1074
+ "description": "Custom domain name or empty"
1075
+ },
1076
+ "domain_aliases": {
1077
+ "type": "array",
1078
+ "items": {
1079
+ "type": "string"
1080
+ },
1081
+ "description": "Additional domain aliases"
1082
+ },
1083
+ "created_at": {
1084
+ "type": "string",
1085
+ "description": "Site creation ISO 8601 timestamp"
1086
+ },
1087
+ "updated_at": {
1088
+ "type": "string",
1089
+ "description": "Last update ISO 8601 timestamp"
1090
+ },
1091
+ "account_name": {
1092
+ "type": "string",
1093
+ "description": "Owning account display name"
1094
+ },
1095
+ "account_slug": {
1096
+ "type": "string",
1097
+ "description": "Owning account slug"
1098
+ },
1099
+ "git_provider": {
1100
+ "type": "string",
1101
+ "description": "Git hosting provider (e.g. github) or empty"
1102
+ },
1103
+ "ssl": {
1104
+ "type": "boolean",
1105
+ "description": "Whether SSL is provisioned"
1106
+ },
1107
+ "force_ssl": {
1108
+ "type": "boolean",
1109
+ "description": "Whether HTTPS is enforced"
1110
+ },
1111
+ "managed_dns": {
1112
+ "type": "boolean",
1113
+ "description": "Whether DNS is managed by Netlify"
1114
+ },
1115
+ "build_image": {
1116
+ "type": "string",
1117
+ "description": "Build image identifier or empty"
1118
+ },
1119
+ "framework": {
1120
+ "type": "string",
1121
+ "description": "Detected framework from published deploy or empty"
1122
+ },
1123
+ "repo_url": {
1124
+ "type": "string",
1125
+ "description": "Connected Git repository URL or empty"
1126
+ },
1127
+ "repo_branch": {
1128
+ "type": "string",
1129
+ "description": "Production branch name or empty"
1130
+ },
1131
+ "build_cmd": {
1132
+ "type": "string",
1133
+ "description": "Build command or empty"
1134
+ }
1135
+ },
1136
+ "required": [
1137
+ "id",
1138
+ "name",
1139
+ "state",
1140
+ "url",
1141
+ "ssl_url",
1142
+ "admin_url",
1143
+ "deploy_url",
1144
+ "screenshot_url",
1145
+ "custom_domain",
1146
+ "domain_aliases",
1147
+ "created_at",
1148
+ "updated_at",
1149
+ "account_name",
1150
+ "account_slug",
1151
+ "git_provider",
1152
+ "ssl",
1153
+ "force_ssl",
1154
+ "managed_dns",
1155
+ "build_image",
1156
+ "framework",
1157
+ "repo_url",
1158
+ "repo_branch",
1159
+ "build_cmd"
1160
+ ],
1161
+ "additionalProperties": false
1162
+ }
1163
+ },
1164
+ {
1165
+ "name": "delete_site",
1166
+ "displayName": "Delete Site",
1167
+ "description": "Permanently delete a Netlify site by its ID. This removes the site, all deploys, and associated configuration. This action cannot be undone.",
1168
+ "summary": "Delete a site permanently",
1169
+ "icon": "trash-2",
1170
+ "group": "Sites",
1171
+ "input_schema": {
1172
+ "type": "object",
1173
+ "properties": {
1174
+ "site_id": {
1175
+ "type": "string",
1176
+ "description": "The site ID to delete"
1177
+ }
1178
+ },
1179
+ "required": [
1180
+ "site_id"
1181
+ ],
1182
+ "additionalProperties": false
1183
+ },
1184
+ "output_schema": {
1185
+ "type": "object",
1186
+ "properties": {
1187
+ "success": {
1188
+ "type": "boolean",
1189
+ "description": "Whether the operation succeeded"
1190
+ }
1191
+ },
1192
+ "required": [
1193
+ "success"
1194
+ ],
1195
+ "additionalProperties": false
1196
+ }
1197
+ },
1198
+ {
1199
+ "name": "list_deploys",
1200
+ "displayName": "List Deploys",
1201
+ "description": "List deploys for a Netlify site. Returns deploy state, branch, commit info, context, framework, and timestamps. Supports pagination.",
1202
+ "summary": "List site deploys",
1203
+ "icon": "list",
1204
+ "group": "Deploys",
1205
+ "input_schema": {
1206
+ "type": "object",
1207
+ "properties": {
1208
+ "site_id": {
1209
+ "type": "string",
1210
+ "description": "The site ID to list deploys for"
1211
+ },
1212
+ "page": {
1213
+ "description": "Page number for pagination (starts at 1)",
1214
+ "type": "number"
1215
+ },
1216
+ "per_page": {
1217
+ "description": "Number of deploys per page (default 20)",
1218
+ "type": "number"
1219
+ }
1220
+ },
1221
+ "required": [
1222
+ "site_id"
1223
+ ],
1224
+ "additionalProperties": false
1225
+ },
1226
+ "output_schema": {
1227
+ "type": "object",
1228
+ "properties": {
1229
+ "items": {
1230
+ "type": "array",
1231
+ "items": {
1232
+ "type": "object",
1233
+ "properties": {
1234
+ "id": {
1235
+ "type": "string",
1236
+ "description": "Deploy ID"
1237
+ },
1238
+ "site_id": {
1239
+ "type": "string",
1240
+ "description": "Parent site ID"
1241
+ },
1242
+ "state": {
1243
+ "type": "string",
1244
+ "description": "Deploy state (e.g. ready, building, error, enqueued)"
1245
+ },
1246
+ "name": {
1247
+ "type": "string",
1248
+ "description": "Site name at the time of deploy"
1249
+ },
1250
+ "url": {
1251
+ "type": "string",
1252
+ "description": "Deploy URL"
1253
+ },
1254
+ "ssl_url": {
1255
+ "type": "string",
1256
+ "description": "Deploy HTTPS URL"
1257
+ },
1258
+ "deploy_url": {
1259
+ "type": "string",
1260
+ "description": "Unique deploy preview URL"
1261
+ },
1262
+ "deploy_ssl_url": {
1263
+ "type": "string",
1264
+ "description": "Unique deploy preview HTTPS URL"
1265
+ },
1266
+ "branch": {
1267
+ "type": "string",
1268
+ "description": "Git branch name or empty"
1269
+ },
1270
+ "commit_ref": {
1271
+ "type": "string",
1272
+ "description": "Git commit SHA or empty"
1273
+ },
1274
+ "commit_url": {
1275
+ "type": "string",
1276
+ "description": "Link to the commit or empty"
1277
+ },
1278
+ "title": {
1279
+ "type": "string",
1280
+ "description": "Deploy title or commit message"
1281
+ },
1282
+ "context": {
1283
+ "type": "string",
1284
+ "description": "Deploy context (e.g. production, deploy-preview, branch-deploy)"
1285
+ },
1286
+ "framework": {
1287
+ "type": "string",
1288
+ "description": "Detected framework or empty"
1289
+ },
1290
+ "error_message": {
1291
+ "type": "string",
1292
+ "description": "Error message if deploy failed or empty"
1293
+ },
1294
+ "created_at": {
1295
+ "type": "string",
1296
+ "description": "Deploy creation ISO 8601 timestamp"
1297
+ },
1298
+ "updated_at": {
1299
+ "type": "string",
1300
+ "description": "Last update ISO 8601 timestamp"
1301
+ },
1302
+ "published_at": {
1303
+ "type": "string",
1304
+ "description": "Publish ISO 8601 timestamp or empty"
1305
+ },
1306
+ "locked": {
1307
+ "type": "boolean",
1308
+ "description": "Whether the deploy is locked (auto-publishing disabled)"
1309
+ },
1310
+ "draft": {
1311
+ "type": "boolean",
1312
+ "description": "Whether this is a draft deploy"
1313
+ },
1314
+ "skipped": {
1315
+ "type": "boolean",
1316
+ "description": "Whether the deploy was skipped"
1317
+ }
1318
+ },
1319
+ "required": [
1320
+ "id",
1321
+ "site_id",
1322
+ "state",
1323
+ "name",
1324
+ "url",
1325
+ "ssl_url",
1326
+ "deploy_url",
1327
+ "deploy_ssl_url",
1328
+ "branch",
1329
+ "commit_ref",
1330
+ "commit_url",
1331
+ "title",
1332
+ "context",
1333
+ "framework",
1334
+ "error_message",
1335
+ "created_at",
1336
+ "updated_at",
1337
+ "published_at",
1338
+ "locked",
1339
+ "draft",
1340
+ "skipped"
1341
+ ],
1342
+ "additionalProperties": false
1343
+ },
1344
+ "description": "List of deploys"
1345
+ }
1346
+ },
1347
+ "required": [
1348
+ "items"
1349
+ ],
1350
+ "additionalProperties": false
1351
+ }
1352
+ },
1353
+ {
1354
+ "name": "get_deploy",
1355
+ "displayName": "Get Deploy",
1356
+ "description": "Get detailed information about a specific Netlify deploy by its ID. Returns state, URLs, branch, commit, context, framework, error message, and lock status.",
1357
+ "summary": "Get deploy details by ID",
1358
+ "icon": "rocket",
1359
+ "group": "Deploys",
1360
+ "input_schema": {
1361
+ "type": "object",
1362
+ "properties": {
1363
+ "deploy_id": {
1364
+ "type": "string",
1365
+ "description": "The deploy ID to retrieve"
1366
+ }
1367
+ },
1368
+ "required": [
1369
+ "deploy_id"
1370
+ ],
1371
+ "additionalProperties": false
1372
+ },
1373
+ "output_schema": {
1374
+ "type": "object",
1375
+ "properties": {
1376
+ "id": {
1377
+ "type": "string",
1378
+ "description": "Deploy ID"
1379
+ },
1380
+ "site_id": {
1381
+ "type": "string",
1382
+ "description": "Parent site ID"
1383
+ },
1384
+ "state": {
1385
+ "type": "string",
1386
+ "description": "Deploy state (e.g. ready, building, error, enqueued)"
1387
+ },
1388
+ "name": {
1389
+ "type": "string",
1390
+ "description": "Site name at the time of deploy"
1391
+ },
1392
+ "url": {
1393
+ "type": "string",
1394
+ "description": "Deploy URL"
1395
+ },
1396
+ "ssl_url": {
1397
+ "type": "string",
1398
+ "description": "Deploy HTTPS URL"
1399
+ },
1400
+ "deploy_url": {
1401
+ "type": "string",
1402
+ "description": "Unique deploy preview URL"
1403
+ },
1404
+ "deploy_ssl_url": {
1405
+ "type": "string",
1406
+ "description": "Unique deploy preview HTTPS URL"
1407
+ },
1408
+ "branch": {
1409
+ "type": "string",
1410
+ "description": "Git branch name or empty"
1411
+ },
1412
+ "commit_ref": {
1413
+ "type": "string",
1414
+ "description": "Git commit SHA or empty"
1415
+ },
1416
+ "commit_url": {
1417
+ "type": "string",
1418
+ "description": "Link to the commit or empty"
1419
+ },
1420
+ "title": {
1421
+ "type": "string",
1422
+ "description": "Deploy title or commit message"
1423
+ },
1424
+ "context": {
1425
+ "type": "string",
1426
+ "description": "Deploy context (e.g. production, deploy-preview, branch-deploy)"
1427
+ },
1428
+ "framework": {
1429
+ "type": "string",
1430
+ "description": "Detected framework or empty"
1431
+ },
1432
+ "error_message": {
1433
+ "type": "string",
1434
+ "description": "Error message if deploy failed or empty"
1435
+ },
1436
+ "created_at": {
1437
+ "type": "string",
1438
+ "description": "Deploy creation ISO 8601 timestamp"
1439
+ },
1440
+ "updated_at": {
1441
+ "type": "string",
1442
+ "description": "Last update ISO 8601 timestamp"
1443
+ },
1444
+ "published_at": {
1445
+ "type": "string",
1446
+ "description": "Publish ISO 8601 timestamp or empty"
1447
+ },
1448
+ "locked": {
1449
+ "type": "boolean",
1450
+ "description": "Whether the deploy is locked (auto-publishing disabled)"
1451
+ },
1452
+ "draft": {
1453
+ "type": "boolean",
1454
+ "description": "Whether this is a draft deploy"
1455
+ },
1456
+ "skipped": {
1457
+ "type": "boolean",
1458
+ "description": "Whether the deploy was skipped"
1459
+ }
1460
+ },
1461
+ "required": [
1462
+ "id",
1463
+ "site_id",
1464
+ "state",
1465
+ "name",
1466
+ "url",
1467
+ "ssl_url",
1468
+ "deploy_url",
1469
+ "deploy_ssl_url",
1470
+ "branch",
1471
+ "commit_ref",
1472
+ "commit_url",
1473
+ "title",
1474
+ "context",
1475
+ "framework",
1476
+ "error_message",
1477
+ "created_at",
1478
+ "updated_at",
1479
+ "published_at",
1480
+ "locked",
1481
+ "draft",
1482
+ "skipped"
1483
+ ],
1484
+ "additionalProperties": false
1485
+ }
1486
+ },
1487
+ {
1488
+ "name": "lock_deploy",
1489
+ "displayName": "Lock Deploy",
1490
+ "description": "Lock a deploy to prevent auto-publishing of new deploys. The locked deploy stays published until it is unlocked. Useful for pinning a known-good deploy in production.",
1491
+ "summary": "Lock a deploy to prevent auto-publish",
1492
+ "icon": "lock",
1493
+ "group": "Deploys",
1494
+ "input_schema": {
1495
+ "type": "object",
1496
+ "properties": {
1497
+ "deploy_id": {
1498
+ "type": "string",
1499
+ "description": "The deploy ID to lock"
1500
+ }
1501
+ },
1502
+ "required": [
1503
+ "deploy_id"
1504
+ ],
1505
+ "additionalProperties": false
1506
+ },
1507
+ "output_schema": {
1508
+ "type": "object",
1509
+ "properties": {
1510
+ "id": {
1511
+ "type": "string",
1512
+ "description": "Deploy ID"
1513
+ },
1514
+ "site_id": {
1515
+ "type": "string",
1516
+ "description": "Parent site ID"
1517
+ },
1518
+ "state": {
1519
+ "type": "string",
1520
+ "description": "Deploy state (e.g. ready, building, error, enqueued)"
1521
+ },
1522
+ "name": {
1523
+ "type": "string",
1524
+ "description": "Site name at the time of deploy"
1525
+ },
1526
+ "url": {
1527
+ "type": "string",
1528
+ "description": "Deploy URL"
1529
+ },
1530
+ "ssl_url": {
1531
+ "type": "string",
1532
+ "description": "Deploy HTTPS URL"
1533
+ },
1534
+ "deploy_url": {
1535
+ "type": "string",
1536
+ "description": "Unique deploy preview URL"
1537
+ },
1538
+ "deploy_ssl_url": {
1539
+ "type": "string",
1540
+ "description": "Unique deploy preview HTTPS URL"
1541
+ },
1542
+ "branch": {
1543
+ "type": "string",
1544
+ "description": "Git branch name or empty"
1545
+ },
1546
+ "commit_ref": {
1547
+ "type": "string",
1548
+ "description": "Git commit SHA or empty"
1549
+ },
1550
+ "commit_url": {
1551
+ "type": "string",
1552
+ "description": "Link to the commit or empty"
1553
+ },
1554
+ "title": {
1555
+ "type": "string",
1556
+ "description": "Deploy title or commit message"
1557
+ },
1558
+ "context": {
1559
+ "type": "string",
1560
+ "description": "Deploy context (e.g. production, deploy-preview, branch-deploy)"
1561
+ },
1562
+ "framework": {
1563
+ "type": "string",
1564
+ "description": "Detected framework or empty"
1565
+ },
1566
+ "error_message": {
1567
+ "type": "string",
1568
+ "description": "Error message if deploy failed or empty"
1569
+ },
1570
+ "created_at": {
1571
+ "type": "string",
1572
+ "description": "Deploy creation ISO 8601 timestamp"
1573
+ },
1574
+ "updated_at": {
1575
+ "type": "string",
1576
+ "description": "Last update ISO 8601 timestamp"
1577
+ },
1578
+ "published_at": {
1579
+ "type": "string",
1580
+ "description": "Publish ISO 8601 timestamp or empty"
1581
+ },
1582
+ "locked": {
1583
+ "type": "boolean",
1584
+ "description": "Whether the deploy is locked (auto-publishing disabled)"
1585
+ },
1586
+ "draft": {
1587
+ "type": "boolean",
1588
+ "description": "Whether this is a draft deploy"
1589
+ },
1590
+ "skipped": {
1591
+ "type": "boolean",
1592
+ "description": "Whether the deploy was skipped"
1593
+ }
1594
+ },
1595
+ "required": [
1596
+ "id",
1597
+ "site_id",
1598
+ "state",
1599
+ "name",
1600
+ "url",
1601
+ "ssl_url",
1602
+ "deploy_url",
1603
+ "deploy_ssl_url",
1604
+ "branch",
1605
+ "commit_ref",
1606
+ "commit_url",
1607
+ "title",
1608
+ "context",
1609
+ "framework",
1610
+ "error_message",
1611
+ "created_at",
1612
+ "updated_at",
1613
+ "published_at",
1614
+ "locked",
1615
+ "draft",
1616
+ "skipped"
1617
+ ],
1618
+ "additionalProperties": false
1619
+ }
1620
+ },
1621
+ {
1622
+ "name": "unlock_deploy",
1623
+ "displayName": "Unlock Deploy",
1624
+ "description": "Unlock a previously locked deploy, re-enabling auto-publishing. New deploys will be published automatically again.",
1625
+ "summary": "Unlock a deploy to re-enable auto-publish",
1626
+ "icon": "unlock",
1627
+ "group": "Deploys",
1628
+ "input_schema": {
1629
+ "type": "object",
1630
+ "properties": {
1631
+ "deploy_id": {
1632
+ "type": "string",
1633
+ "description": "The deploy ID to unlock"
1634
+ }
1635
+ },
1636
+ "required": [
1637
+ "deploy_id"
1638
+ ],
1639
+ "additionalProperties": false
1640
+ },
1641
+ "output_schema": {
1642
+ "type": "object",
1643
+ "properties": {
1644
+ "id": {
1645
+ "type": "string",
1646
+ "description": "Deploy ID"
1647
+ },
1648
+ "site_id": {
1649
+ "type": "string",
1650
+ "description": "Parent site ID"
1651
+ },
1652
+ "state": {
1653
+ "type": "string",
1654
+ "description": "Deploy state (e.g. ready, building, error, enqueued)"
1655
+ },
1656
+ "name": {
1657
+ "type": "string",
1658
+ "description": "Site name at the time of deploy"
1659
+ },
1660
+ "url": {
1661
+ "type": "string",
1662
+ "description": "Deploy URL"
1663
+ },
1664
+ "ssl_url": {
1665
+ "type": "string",
1666
+ "description": "Deploy HTTPS URL"
1667
+ },
1668
+ "deploy_url": {
1669
+ "type": "string",
1670
+ "description": "Unique deploy preview URL"
1671
+ },
1672
+ "deploy_ssl_url": {
1673
+ "type": "string",
1674
+ "description": "Unique deploy preview HTTPS URL"
1675
+ },
1676
+ "branch": {
1677
+ "type": "string",
1678
+ "description": "Git branch name or empty"
1679
+ },
1680
+ "commit_ref": {
1681
+ "type": "string",
1682
+ "description": "Git commit SHA or empty"
1683
+ },
1684
+ "commit_url": {
1685
+ "type": "string",
1686
+ "description": "Link to the commit or empty"
1687
+ },
1688
+ "title": {
1689
+ "type": "string",
1690
+ "description": "Deploy title or commit message"
1691
+ },
1692
+ "context": {
1693
+ "type": "string",
1694
+ "description": "Deploy context (e.g. production, deploy-preview, branch-deploy)"
1695
+ },
1696
+ "framework": {
1697
+ "type": "string",
1698
+ "description": "Detected framework or empty"
1699
+ },
1700
+ "error_message": {
1701
+ "type": "string",
1702
+ "description": "Error message if deploy failed or empty"
1703
+ },
1704
+ "created_at": {
1705
+ "type": "string",
1706
+ "description": "Deploy creation ISO 8601 timestamp"
1707
+ },
1708
+ "updated_at": {
1709
+ "type": "string",
1710
+ "description": "Last update ISO 8601 timestamp"
1711
+ },
1712
+ "published_at": {
1713
+ "type": "string",
1714
+ "description": "Publish ISO 8601 timestamp or empty"
1715
+ },
1716
+ "locked": {
1717
+ "type": "boolean",
1718
+ "description": "Whether the deploy is locked (auto-publishing disabled)"
1719
+ },
1720
+ "draft": {
1721
+ "type": "boolean",
1722
+ "description": "Whether this is a draft deploy"
1723
+ },
1724
+ "skipped": {
1725
+ "type": "boolean",
1726
+ "description": "Whether the deploy was skipped"
1727
+ }
1728
+ },
1729
+ "required": [
1730
+ "id",
1731
+ "site_id",
1732
+ "state",
1733
+ "name",
1734
+ "url",
1735
+ "ssl_url",
1736
+ "deploy_url",
1737
+ "deploy_ssl_url",
1738
+ "branch",
1739
+ "commit_ref",
1740
+ "commit_url",
1741
+ "title",
1742
+ "context",
1743
+ "framework",
1744
+ "error_message",
1745
+ "created_at",
1746
+ "updated_at",
1747
+ "published_at",
1748
+ "locked",
1749
+ "draft",
1750
+ "skipped"
1751
+ ],
1752
+ "additionalProperties": false
1753
+ }
1754
+ },
1755
+ {
1756
+ "name": "restore_deploy",
1757
+ "displayName": "Restore Deploy",
1758
+ "description": "Restore a previous deploy by creating a new deploy with the same content. The restored deploy becomes the published version for the site.",
1759
+ "summary": "Restore a previous deploy",
1760
+ "icon": "rotate-ccw",
1761
+ "group": "Deploys",
1762
+ "input_schema": {
1763
+ "type": "object",
1764
+ "properties": {
1765
+ "site_id": {
1766
+ "type": "string",
1767
+ "description": "The site ID the deploy belongs to"
1768
+ },
1769
+ "deploy_id": {
1770
+ "type": "string",
1771
+ "description": "The deploy ID to restore"
1772
+ }
1773
+ },
1774
+ "required": [
1775
+ "site_id",
1776
+ "deploy_id"
1777
+ ],
1778
+ "additionalProperties": false
1779
+ },
1780
+ "output_schema": {
1781
+ "type": "object",
1782
+ "properties": {
1783
+ "id": {
1784
+ "type": "string",
1785
+ "description": "Deploy ID"
1786
+ },
1787
+ "site_id": {
1788
+ "type": "string",
1789
+ "description": "Parent site ID"
1790
+ },
1791
+ "state": {
1792
+ "type": "string",
1793
+ "description": "Deploy state (e.g. ready, building, error, enqueued)"
1794
+ },
1795
+ "name": {
1796
+ "type": "string",
1797
+ "description": "Site name at the time of deploy"
1798
+ },
1799
+ "url": {
1800
+ "type": "string",
1801
+ "description": "Deploy URL"
1802
+ },
1803
+ "ssl_url": {
1804
+ "type": "string",
1805
+ "description": "Deploy HTTPS URL"
1806
+ },
1807
+ "deploy_url": {
1808
+ "type": "string",
1809
+ "description": "Unique deploy preview URL"
1810
+ },
1811
+ "deploy_ssl_url": {
1812
+ "type": "string",
1813
+ "description": "Unique deploy preview HTTPS URL"
1814
+ },
1815
+ "branch": {
1816
+ "type": "string",
1817
+ "description": "Git branch name or empty"
1818
+ },
1819
+ "commit_ref": {
1820
+ "type": "string",
1821
+ "description": "Git commit SHA or empty"
1822
+ },
1823
+ "commit_url": {
1824
+ "type": "string",
1825
+ "description": "Link to the commit or empty"
1826
+ },
1827
+ "title": {
1828
+ "type": "string",
1829
+ "description": "Deploy title or commit message"
1830
+ },
1831
+ "context": {
1832
+ "type": "string",
1833
+ "description": "Deploy context (e.g. production, deploy-preview, branch-deploy)"
1834
+ },
1835
+ "framework": {
1836
+ "type": "string",
1837
+ "description": "Detected framework or empty"
1838
+ },
1839
+ "error_message": {
1840
+ "type": "string",
1841
+ "description": "Error message if deploy failed or empty"
1842
+ },
1843
+ "created_at": {
1844
+ "type": "string",
1845
+ "description": "Deploy creation ISO 8601 timestamp"
1846
+ },
1847
+ "updated_at": {
1848
+ "type": "string",
1849
+ "description": "Last update ISO 8601 timestamp"
1850
+ },
1851
+ "published_at": {
1852
+ "type": "string",
1853
+ "description": "Publish ISO 8601 timestamp or empty"
1854
+ },
1855
+ "locked": {
1856
+ "type": "boolean",
1857
+ "description": "Whether the deploy is locked (auto-publishing disabled)"
1858
+ },
1859
+ "draft": {
1860
+ "type": "boolean",
1861
+ "description": "Whether this is a draft deploy"
1862
+ },
1863
+ "skipped": {
1864
+ "type": "boolean",
1865
+ "description": "Whether the deploy was skipped"
1866
+ }
1867
+ },
1868
+ "required": [
1869
+ "id",
1870
+ "site_id",
1871
+ "state",
1872
+ "name",
1873
+ "url",
1874
+ "ssl_url",
1875
+ "deploy_url",
1876
+ "deploy_ssl_url",
1877
+ "branch",
1878
+ "commit_ref",
1879
+ "commit_url",
1880
+ "title",
1881
+ "context",
1882
+ "framework",
1883
+ "error_message",
1884
+ "created_at",
1885
+ "updated_at",
1886
+ "published_at",
1887
+ "locked",
1888
+ "draft",
1889
+ "skipped"
1890
+ ],
1891
+ "additionalProperties": false
1892
+ }
1893
+ },
1894
+ {
1895
+ "name": "rollback_deploy",
1896
+ "displayName": "Rollback Deploy",
1897
+ "description": "Rollback a site to its previously published deploy. This is a quick way to revert the site without specifying a deploy ID.",
1898
+ "summary": "Rollback site to previous deploy",
1899
+ "icon": "undo-2",
1900
+ "group": "Deploys",
1901
+ "input_schema": {
1902
+ "type": "object",
1903
+ "properties": {
1904
+ "site_id": {
1905
+ "type": "string",
1906
+ "description": "The site ID to rollback"
1907
+ }
1908
+ },
1909
+ "required": [
1910
+ "site_id"
1911
+ ],
1912
+ "additionalProperties": false
1913
+ },
1914
+ "output_schema": {
1915
+ "type": "object",
1916
+ "properties": {
1917
+ "id": {
1918
+ "type": "string",
1919
+ "description": "Site ID"
1920
+ },
1921
+ "name": {
1922
+ "type": "string",
1923
+ "description": "Site name (subdomain prefix)"
1924
+ },
1925
+ "state": {
1926
+ "type": "string",
1927
+ "description": "Site state (e.g. current)"
1928
+ },
1929
+ "url": {
1930
+ "type": "string",
1931
+ "description": "Primary site URL"
1932
+ },
1933
+ "ssl_url": {
1934
+ "type": "string",
1935
+ "description": "HTTPS site URL"
1936
+ },
1937
+ "admin_url": {
1938
+ "type": "string",
1939
+ "description": "Netlify dashboard admin URL"
1940
+ },
1941
+ "deploy_url": {
1942
+ "type": "string",
1943
+ "description": "Latest deploy preview URL"
1944
+ },
1945
+ "screenshot_url": {
1946
+ "type": "string",
1947
+ "description": "Site screenshot URL or empty"
1948
+ },
1949
+ "custom_domain": {
1950
+ "type": "string",
1951
+ "description": "Custom domain name or empty"
1952
+ },
1953
+ "domain_aliases": {
1954
+ "type": "array",
1955
+ "items": {
1956
+ "type": "string"
1957
+ },
1958
+ "description": "Additional domain aliases"
1959
+ },
1960
+ "created_at": {
1961
+ "type": "string",
1962
+ "description": "Site creation ISO 8601 timestamp"
1963
+ },
1964
+ "updated_at": {
1965
+ "type": "string",
1966
+ "description": "Last update ISO 8601 timestamp"
1967
+ },
1968
+ "account_name": {
1969
+ "type": "string",
1970
+ "description": "Owning account display name"
1971
+ },
1972
+ "account_slug": {
1973
+ "type": "string",
1974
+ "description": "Owning account slug"
1975
+ },
1976
+ "git_provider": {
1977
+ "type": "string",
1978
+ "description": "Git hosting provider (e.g. github) or empty"
1979
+ },
1980
+ "ssl": {
1981
+ "type": "boolean",
1982
+ "description": "Whether SSL is provisioned"
1983
+ },
1984
+ "force_ssl": {
1985
+ "type": "boolean",
1986
+ "description": "Whether HTTPS is enforced"
1987
+ },
1988
+ "managed_dns": {
1989
+ "type": "boolean",
1990
+ "description": "Whether DNS is managed by Netlify"
1991
+ },
1992
+ "build_image": {
1993
+ "type": "string",
1994
+ "description": "Build image identifier or empty"
1995
+ },
1996
+ "framework": {
1997
+ "type": "string",
1998
+ "description": "Detected framework from published deploy or empty"
1999
+ },
2000
+ "repo_url": {
2001
+ "type": "string",
2002
+ "description": "Connected Git repository URL or empty"
2003
+ },
2004
+ "repo_branch": {
2005
+ "type": "string",
2006
+ "description": "Production branch name or empty"
2007
+ },
2008
+ "build_cmd": {
2009
+ "type": "string",
2010
+ "description": "Build command or empty"
2011
+ }
2012
+ },
2013
+ "required": [
2014
+ "id",
2015
+ "name",
2016
+ "state",
2017
+ "url",
2018
+ "ssl_url",
2019
+ "admin_url",
2020
+ "deploy_url",
2021
+ "screenshot_url",
2022
+ "custom_domain",
2023
+ "domain_aliases",
2024
+ "created_at",
2025
+ "updated_at",
2026
+ "account_name",
2027
+ "account_slug",
2028
+ "git_provider",
2029
+ "ssl",
2030
+ "force_ssl",
2031
+ "managed_dns",
2032
+ "build_image",
2033
+ "framework",
2034
+ "repo_url",
2035
+ "repo_branch",
2036
+ "build_cmd"
2037
+ ],
2038
+ "additionalProperties": false
2039
+ }
2040
+ },
2041
+ {
2042
+ "name": "list_builds",
2043
+ "displayName": "List Builds",
2044
+ "description": "List builds for a Netlify site. Returns build ID, associated deploy ID, commit SHA, completion status, and error messages. Supports pagination.",
2045
+ "summary": "List site builds",
2046
+ "icon": "hammer",
2047
+ "group": "Builds",
2048
+ "input_schema": {
2049
+ "type": "object",
2050
+ "properties": {
2051
+ "site_id": {
2052
+ "type": "string",
2053
+ "description": "The site ID to list builds for"
2054
+ },
2055
+ "page": {
2056
+ "description": "Page number for pagination (starts at 1)",
2057
+ "type": "number"
2058
+ },
2059
+ "per_page": {
2060
+ "description": "Number of builds per page (default 20)",
2061
+ "type": "number"
2062
+ }
2063
+ },
2064
+ "required": [
2065
+ "site_id"
2066
+ ],
2067
+ "additionalProperties": false
2068
+ },
2069
+ "output_schema": {
2070
+ "type": "object",
2071
+ "properties": {
2072
+ "items": {
2073
+ "type": "array",
2074
+ "items": {
2075
+ "type": "object",
2076
+ "properties": {
2077
+ "id": {
2078
+ "type": "string",
2079
+ "description": "Build ID"
2080
+ },
2081
+ "deploy_id": {
2082
+ "type": "string",
2083
+ "description": "Associated deploy ID"
2084
+ },
2085
+ "sha": {
2086
+ "type": "string",
2087
+ "description": "Git commit SHA or empty"
2088
+ },
2089
+ "done": {
2090
+ "type": "boolean",
2091
+ "description": "Whether the build has finished"
2092
+ },
2093
+ "error": {
2094
+ "type": "string",
2095
+ "description": "Build error message or empty"
2096
+ },
2097
+ "created_at": {
2098
+ "type": "string",
2099
+ "description": "Build creation ISO 8601 timestamp"
2100
+ }
2101
+ },
2102
+ "required": [
2103
+ "id",
2104
+ "deploy_id",
2105
+ "sha",
2106
+ "done",
2107
+ "error",
2108
+ "created_at"
2109
+ ],
2110
+ "additionalProperties": false
2111
+ },
2112
+ "description": "List of builds"
2113
+ }
2114
+ },
2115
+ "required": [
2116
+ "items"
2117
+ ],
2118
+ "additionalProperties": false
2119
+ }
2120
+ },
2121
+ {
2122
+ "name": "create_build",
2123
+ "displayName": "Create Build",
2124
+ "description": "Trigger a new build for a Netlify site. This starts a fresh build and deploy using the current site configuration and linked repository.",
2125
+ "summary": "Trigger a new site build",
2126
+ "icon": "play",
2127
+ "group": "Builds",
2128
+ "input_schema": {
2129
+ "type": "object",
2130
+ "properties": {
2131
+ "site_id": {
2132
+ "type": "string",
2133
+ "description": "The site ID to trigger a build for"
2134
+ }
2135
+ },
2136
+ "required": [
2137
+ "site_id"
2138
+ ],
2139
+ "additionalProperties": false
2140
+ },
2141
+ "output_schema": {
2142
+ "type": "object",
2143
+ "properties": {
2144
+ "id": {
2145
+ "type": "string",
2146
+ "description": "Build ID"
2147
+ },
2148
+ "deploy_id": {
2149
+ "type": "string",
2150
+ "description": "Associated deploy ID"
2151
+ },
2152
+ "sha": {
2153
+ "type": "string",
2154
+ "description": "Git commit SHA or empty"
2155
+ },
2156
+ "done": {
2157
+ "type": "boolean",
2158
+ "description": "Whether the build has finished"
2159
+ },
2160
+ "error": {
2161
+ "type": "string",
2162
+ "description": "Build error message or empty"
2163
+ },
2164
+ "created_at": {
2165
+ "type": "string",
2166
+ "description": "Build creation ISO 8601 timestamp"
2167
+ }
2168
+ },
2169
+ "required": [
2170
+ "id",
2171
+ "deploy_id",
2172
+ "sha",
2173
+ "done",
2174
+ "error",
2175
+ "created_at"
2176
+ ],
2177
+ "additionalProperties": false
2178
+ }
2179
+ },
2180
+ {
2181
+ "name": "list_env_vars",
2182
+ "displayName": "List Environment Variables",
2183
+ "description": "List all environment variables for a Netlify account. Optionally scope to a specific site. Returns variable names, scopes, context-specific values, and secret status.",
2184
+ "summary": "List environment variables",
2185
+ "icon": "file-text",
2186
+ "group": "Environment",
2187
+ "input_schema": {
2188
+ "type": "object",
2189
+ "properties": {
2190
+ "account_id": {
2191
+ "type": "string",
2192
+ "description": "The account ID to list environment variables for"
2193
+ },
2194
+ "site_id": {
2195
+ "description": "Optional site ID to scope variables to a specific site",
2196
+ "type": "string"
2197
+ }
2198
+ },
2199
+ "required": [
2200
+ "account_id"
2201
+ ],
2202
+ "additionalProperties": false
2203
+ },
2204
+ "output_schema": {
2205
+ "type": "object",
2206
+ "properties": {
2207
+ "items": {
2208
+ "type": "array",
2209
+ "items": {
2210
+ "type": "object",
2211
+ "properties": {
2212
+ "key": {
2213
+ "type": "string",
2214
+ "description": "Environment variable name"
2215
+ },
2216
+ "scopes": {
2217
+ "type": "array",
2218
+ "items": {
2219
+ "type": "string"
2220
+ },
2221
+ "description": "Scopes where the variable is available (e.g. builds, functions, runtime)"
2222
+ },
2223
+ "values": {
2224
+ "type": "array",
2225
+ "items": {
2226
+ "type": "object",
2227
+ "properties": {
2228
+ "id": {
2229
+ "type": "string",
2230
+ "description": "Environment variable value ID"
2231
+ },
2232
+ "value": {
2233
+ "type": "string",
2234
+ "description": "Variable value (masked if secret)"
2235
+ },
2236
+ "context": {
2237
+ "type": "string",
2238
+ "description": "Deploy context (e.g. all, production, deploy-preview, branch-deploy, dev)"
2239
+ },
2240
+ "context_parameter": {
2241
+ "type": "string",
2242
+ "description": "Branch name when context is branch-specific or empty"
2243
+ }
2244
+ },
2245
+ "required": [
2246
+ "id",
2247
+ "value",
2248
+ "context",
2249
+ "context_parameter"
2250
+ ],
2251
+ "additionalProperties": false
2252
+ },
2253
+ "description": "Context-specific values for this variable"
2254
+ },
2255
+ "is_secret": {
2256
+ "type": "boolean",
2257
+ "description": "Whether the variable value is secret and masked"
2258
+ },
2259
+ "updated_at": {
2260
+ "type": "string",
2261
+ "description": "Last update ISO 8601 timestamp"
2262
+ }
2263
+ },
2264
+ "required": [
2265
+ "key",
2266
+ "scopes",
2267
+ "values",
2268
+ "is_secret",
2269
+ "updated_at"
2270
+ ],
2271
+ "additionalProperties": false
2272
+ },
2273
+ "description": "List of environment variables"
2274
+ }
2275
+ },
2276
+ "required": [
2277
+ "items"
2278
+ ],
2279
+ "additionalProperties": false
2280
+ }
2281
+ },
2282
+ {
2283
+ "name": "get_env_var",
2284
+ "displayName": "Get Environment Variable",
2285
+ "description": "Get a specific environment variable by key for a Netlify account. Optionally scope to a specific site. Returns the variable name, scopes, context-specific values, and secret status.",
2286
+ "summary": "Get environment variable by key",
2287
+ "icon": "file-text",
2288
+ "group": "Environment",
2289
+ "input_schema": {
2290
+ "type": "object",
2291
+ "properties": {
2292
+ "account_id": {
2293
+ "type": "string",
2294
+ "description": "The account ID the variable belongs to"
2295
+ },
2296
+ "key": {
2297
+ "type": "string",
2298
+ "description": "The environment variable key name"
2299
+ },
2300
+ "site_id": {
2301
+ "description": "Optional site ID to scope to a specific site",
2302
+ "type": "string"
2303
+ }
2304
+ },
2305
+ "required": [
2306
+ "account_id",
2307
+ "key"
2308
+ ],
2309
+ "additionalProperties": false
2310
+ },
2311
+ "output_schema": {
2312
+ "type": "object",
2313
+ "properties": {
2314
+ "key": {
2315
+ "type": "string",
2316
+ "description": "Environment variable name"
2317
+ },
2318
+ "scopes": {
2319
+ "type": "array",
2320
+ "items": {
2321
+ "type": "string"
2322
+ },
2323
+ "description": "Scopes where the variable is available (e.g. builds, functions, runtime)"
2324
+ },
2325
+ "values": {
2326
+ "type": "array",
2327
+ "items": {
2328
+ "type": "object",
2329
+ "properties": {
2330
+ "id": {
2331
+ "type": "string",
2332
+ "description": "Environment variable value ID"
2333
+ },
2334
+ "value": {
2335
+ "type": "string",
2336
+ "description": "Variable value (masked if secret)"
2337
+ },
2338
+ "context": {
2339
+ "type": "string",
2340
+ "description": "Deploy context (e.g. all, production, deploy-preview, branch-deploy, dev)"
2341
+ },
2342
+ "context_parameter": {
2343
+ "type": "string",
2344
+ "description": "Branch name when context is branch-specific or empty"
2345
+ }
2346
+ },
2347
+ "required": [
2348
+ "id",
2349
+ "value",
2350
+ "context",
2351
+ "context_parameter"
2352
+ ],
2353
+ "additionalProperties": false
2354
+ },
2355
+ "description": "Context-specific values for this variable"
2356
+ },
2357
+ "is_secret": {
2358
+ "type": "boolean",
2359
+ "description": "Whether the variable value is secret and masked"
2360
+ },
2361
+ "updated_at": {
2362
+ "type": "string",
2363
+ "description": "Last update ISO 8601 timestamp"
2364
+ }
2365
+ },
2366
+ "required": [
2367
+ "key",
2368
+ "scopes",
2369
+ "values",
2370
+ "is_secret",
2371
+ "updated_at"
2372
+ ],
2373
+ "additionalProperties": false
2374
+ }
2375
+ },
2376
+ {
2377
+ "name": "create_env_vars",
2378
+ "displayName": "Create Environment Variables",
2379
+ "description": "Create one or more environment variables for a Netlify account. Each variable can have multiple context-specific values (e.g. different values for production vs deploy previews). Optionally scope to a specific site.",
2380
+ "summary": "Create environment variables",
2381
+ "icon": "plus",
2382
+ "group": "Environment",
2383
+ "input_schema": {
2384
+ "type": "object",
2385
+ "properties": {
2386
+ "account_id": {
2387
+ "type": "string",
2388
+ "description": "The account ID to create variables in"
2389
+ },
2390
+ "site_id": {
2391
+ "description": "Optional site ID to scope variables to a specific site",
2392
+ "type": "string"
2393
+ },
2394
+ "variables": {
2395
+ "type": "array",
2396
+ "items": {
2397
+ "type": "object",
2398
+ "properties": {
2399
+ "key": {
2400
+ "type": "string",
2401
+ "description": "Environment variable name"
2402
+ },
2403
+ "scopes": {
2404
+ "description": "Scopes where the variable is available (e.g. [\"builds\", \"functions\", \"runtime\"])",
2405
+ "type": "array",
2406
+ "items": {
2407
+ "type": "string"
2408
+ }
2409
+ },
2410
+ "values": {
2411
+ "type": "array",
2412
+ "items": {
2413
+ "type": "object",
2414
+ "properties": {
2415
+ "value": {
2416
+ "type": "string",
2417
+ "description": "The variable value"
2418
+ },
2419
+ "context": {
2420
+ "type": "string",
2421
+ "description": "Deploy context (e.g. \"all\", \"production\", \"deploy-preview\", \"branch-deploy\", \"dev\")"
2422
+ }
2423
+ },
2424
+ "required": [
2425
+ "value",
2426
+ "context"
2427
+ ],
2428
+ "additionalProperties": false
2429
+ },
2430
+ "description": "Context-specific values for this variable"
2431
+ },
2432
+ "is_secret": {
2433
+ "description": "Whether the variable value should be masked",
2434
+ "type": "boolean"
2435
+ }
2436
+ },
2437
+ "required": [
2438
+ "key",
2439
+ "values"
2440
+ ],
2441
+ "additionalProperties": false
2442
+ },
2443
+ "description": "Array of environment variables to create"
2444
+ }
2445
+ },
2446
+ "required": [
2447
+ "account_id",
2448
+ "variables"
2449
+ ],
2450
+ "additionalProperties": false
2451
+ },
2452
+ "output_schema": {
2453
+ "type": "object",
2454
+ "properties": {
2455
+ "items": {
2456
+ "type": "array",
2457
+ "items": {
2458
+ "type": "object",
2459
+ "properties": {
2460
+ "key": {
2461
+ "type": "string",
2462
+ "description": "Environment variable name"
2463
+ },
2464
+ "scopes": {
2465
+ "type": "array",
2466
+ "items": {
2467
+ "type": "string"
2468
+ },
2469
+ "description": "Scopes where the variable is available (e.g. builds, functions, runtime)"
2470
+ },
2471
+ "values": {
2472
+ "type": "array",
2473
+ "items": {
2474
+ "type": "object",
2475
+ "properties": {
2476
+ "id": {
2477
+ "type": "string",
2478
+ "description": "Environment variable value ID"
2479
+ },
2480
+ "value": {
2481
+ "type": "string",
2482
+ "description": "Variable value (masked if secret)"
2483
+ },
2484
+ "context": {
2485
+ "type": "string",
2486
+ "description": "Deploy context (e.g. all, production, deploy-preview, branch-deploy, dev)"
2487
+ },
2488
+ "context_parameter": {
2489
+ "type": "string",
2490
+ "description": "Branch name when context is branch-specific or empty"
2491
+ }
2492
+ },
2493
+ "required": [
2494
+ "id",
2495
+ "value",
2496
+ "context",
2497
+ "context_parameter"
2498
+ ],
2499
+ "additionalProperties": false
2500
+ },
2501
+ "description": "Context-specific values for this variable"
2502
+ },
2503
+ "is_secret": {
2504
+ "type": "boolean",
2505
+ "description": "Whether the variable value is secret and masked"
2506
+ },
2507
+ "updated_at": {
2508
+ "type": "string",
2509
+ "description": "Last update ISO 8601 timestamp"
2510
+ }
2511
+ },
2512
+ "required": [
2513
+ "key",
2514
+ "scopes",
2515
+ "values",
2516
+ "is_secret",
2517
+ "updated_at"
2518
+ ],
2519
+ "additionalProperties": false
2520
+ },
2521
+ "description": "List of created environment variables"
2522
+ }
2523
+ },
2524
+ "required": [
2525
+ "items"
2526
+ ],
2527
+ "additionalProperties": false
2528
+ }
2529
+ },
2530
+ {
2531
+ "name": "update_env_var",
2532
+ "displayName": "Update Environment Variable",
2533
+ "description": "Replace an existing environment variable for a Netlify account. Replaces all values for the variable. Optionally scope to a specific site.",
2534
+ "summary": "Update an environment variable",
2535
+ "icon": "pencil",
2536
+ "group": "Environment",
2537
+ "input_schema": {
2538
+ "type": "object",
2539
+ "properties": {
2540
+ "account_id": {
2541
+ "type": "string",
2542
+ "description": "The account ID the variable belongs to"
2543
+ },
2544
+ "key": {
2545
+ "type": "string",
2546
+ "description": "The environment variable key name to update"
2547
+ },
2548
+ "site_id": {
2549
+ "description": "Optional site ID to scope to a specific site",
2550
+ "type": "string"
2551
+ },
2552
+ "scopes": {
2553
+ "description": "Scopes where the variable is available (e.g. [\"builds\", \"functions\", \"runtime\"])",
2554
+ "type": "array",
2555
+ "items": {
2556
+ "type": "string"
2557
+ }
2558
+ },
2559
+ "values": {
2560
+ "type": "array",
2561
+ "items": {
2562
+ "type": "object",
2563
+ "properties": {
2564
+ "value": {
2565
+ "type": "string",
2566
+ "description": "The variable value"
2567
+ },
2568
+ "context": {
2569
+ "type": "string",
2570
+ "description": "Deploy context (e.g. \"all\", \"production\", \"deploy-preview\", \"branch-deploy\", \"dev\")"
2571
+ },
2572
+ "context_parameter": {
2573
+ "description": "Branch name when context is branch-specific",
2574
+ "type": "string"
2575
+ }
2576
+ },
2577
+ "required": [
2578
+ "value",
2579
+ "context"
2580
+ ],
2581
+ "additionalProperties": false
2582
+ },
2583
+ "description": "New context-specific values for this variable"
2584
+ },
2585
+ "is_secret": {
2586
+ "description": "Whether the variable value should be masked",
2587
+ "type": "boolean"
2588
+ }
2589
+ },
2590
+ "required": [
2591
+ "account_id",
2592
+ "key",
2593
+ "values"
2594
+ ],
2595
+ "additionalProperties": false
2596
+ },
2597
+ "output_schema": {
2598
+ "type": "object",
2599
+ "properties": {
2600
+ "key": {
2601
+ "type": "string",
2602
+ "description": "Environment variable name"
2603
+ },
2604
+ "scopes": {
2605
+ "type": "array",
2606
+ "items": {
2607
+ "type": "string"
2608
+ },
2609
+ "description": "Scopes where the variable is available (e.g. builds, functions, runtime)"
2610
+ },
2611
+ "values": {
2612
+ "type": "array",
2613
+ "items": {
2614
+ "type": "object",
2615
+ "properties": {
2616
+ "id": {
2617
+ "type": "string",
2618
+ "description": "Environment variable value ID"
2619
+ },
2620
+ "value": {
2621
+ "type": "string",
2622
+ "description": "Variable value (masked if secret)"
2623
+ },
2624
+ "context": {
2625
+ "type": "string",
2626
+ "description": "Deploy context (e.g. all, production, deploy-preview, branch-deploy, dev)"
2627
+ },
2628
+ "context_parameter": {
2629
+ "type": "string",
2630
+ "description": "Branch name when context is branch-specific or empty"
2631
+ }
2632
+ },
2633
+ "required": [
2634
+ "id",
2635
+ "value",
2636
+ "context",
2637
+ "context_parameter"
2638
+ ],
2639
+ "additionalProperties": false
2640
+ },
2641
+ "description": "Context-specific values for this variable"
2642
+ },
2643
+ "is_secret": {
2644
+ "type": "boolean",
2645
+ "description": "Whether the variable value is secret and masked"
2646
+ },
2647
+ "updated_at": {
2648
+ "type": "string",
2649
+ "description": "Last update ISO 8601 timestamp"
2650
+ }
2651
+ },
2652
+ "required": [
2653
+ "key",
2654
+ "scopes",
2655
+ "values",
2656
+ "is_secret",
2657
+ "updated_at"
2658
+ ],
2659
+ "additionalProperties": false
2660
+ }
2661
+ },
2662
+ {
2663
+ "name": "delete_env_var",
2664
+ "displayName": "Delete Environment Variable",
2665
+ "description": "Delete an environment variable from a Netlify account by its key name. Optionally scope to a specific site. This action cannot be undone.",
2666
+ "summary": "Delete an environment variable",
2667
+ "icon": "trash-2",
2668
+ "group": "Environment",
2669
+ "input_schema": {
2670
+ "type": "object",
2671
+ "properties": {
2672
+ "account_id": {
2673
+ "type": "string",
2674
+ "description": "The account ID the variable belongs to"
2675
+ },
2676
+ "key": {
2677
+ "type": "string",
2678
+ "description": "The environment variable key name to delete"
2679
+ },
2680
+ "site_id": {
2681
+ "description": "Optional site ID to scope to a specific site",
2682
+ "type": "string"
2683
+ }
2684
+ },
2685
+ "required": [
2686
+ "account_id",
2687
+ "key"
2688
+ ],
2689
+ "additionalProperties": false
2690
+ },
2691
+ "output_schema": {
2692
+ "type": "object",
2693
+ "properties": {
2694
+ "success": {
2695
+ "type": "boolean",
2696
+ "description": "Whether the operation succeeded"
2697
+ }
2698
+ },
2699
+ "required": [
2700
+ "success"
2701
+ ],
2702
+ "additionalProperties": false
2703
+ }
2704
+ },
2705
+ {
2706
+ "name": "list_dns_zones",
2707
+ "displayName": "List DNS Zones",
2708
+ "description": "List DNS zones for a Netlify account. Returns zone name, record count, associated site, and infrastructure details. Filter by account slug.",
2709
+ "summary": "List DNS zones",
2710
+ "icon": "globe",
2711
+ "group": "DNS",
2712
+ "input_schema": {
2713
+ "type": "object",
2714
+ "properties": {
2715
+ "account_slug": {
2716
+ "description": "Account slug to filter zones by",
2717
+ "type": "string"
2718
+ }
2719
+ },
2720
+ "additionalProperties": false
2721
+ },
2722
+ "output_schema": {
2723
+ "type": "object",
2724
+ "properties": {
2725
+ "items": {
2726
+ "type": "array",
2727
+ "items": {
2728
+ "type": "object",
2729
+ "properties": {
2730
+ "id": {
2731
+ "type": "string",
2732
+ "description": "DNS zone ID"
2733
+ },
2734
+ "name": {
2735
+ "type": "string",
2736
+ "description": "Domain name for the zone"
2737
+ },
2738
+ "account_slug": {
2739
+ "type": "string",
2740
+ "description": "Owning account slug"
2741
+ },
2742
+ "site_id": {
2743
+ "type": "string",
2744
+ "description": "Associated site ID or empty"
2745
+ },
2746
+ "created_at": {
2747
+ "type": "string",
2748
+ "description": "Zone creation ISO 8601 timestamp"
2749
+ },
2750
+ "updated_at": {
2751
+ "type": "string",
2752
+ "description": "Last update ISO 8601 timestamp"
2753
+ },
2754
+ "records_count": {
2755
+ "type": "number",
2756
+ "description": "Number of DNS records in the zone"
2757
+ },
2758
+ "dedicated": {
2759
+ "type": "boolean",
2760
+ "description": "Whether the zone uses dedicated DNS infrastructure"
2761
+ }
2762
+ },
2763
+ "required": [
2764
+ "id",
2765
+ "name",
2766
+ "account_slug",
2767
+ "site_id",
2768
+ "created_at",
2769
+ "updated_at",
2770
+ "records_count",
2771
+ "dedicated"
2772
+ ],
2773
+ "additionalProperties": false
2774
+ },
2775
+ "description": "List of DNS zones"
2776
+ }
2777
+ },
2778
+ "required": [
2779
+ "items"
2780
+ ],
2781
+ "additionalProperties": false
2782
+ }
2783
+ },
2784
+ {
2785
+ "name": "get_dns_zone",
2786
+ "displayName": "Get DNS Zone",
2787
+ "description": "Get detailed information about a specific DNS zone by its ID. Returns the zone name, record count, associated site, and timestamps.",
2788
+ "summary": "Get DNS zone details by ID",
2789
+ "icon": "globe",
2790
+ "group": "DNS",
2791
+ "input_schema": {
2792
+ "type": "object",
2793
+ "properties": {
2794
+ "zone_id": {
2795
+ "type": "string",
2796
+ "description": "The DNS zone ID to retrieve"
2797
+ }
2798
+ },
2799
+ "required": [
2800
+ "zone_id"
2801
+ ],
2802
+ "additionalProperties": false
2803
+ },
2804
+ "output_schema": {
2805
+ "type": "object",
2806
+ "properties": {
2807
+ "id": {
2808
+ "type": "string",
2809
+ "description": "DNS zone ID"
2810
+ },
2811
+ "name": {
2812
+ "type": "string",
2813
+ "description": "Domain name for the zone"
2814
+ },
2815
+ "account_slug": {
2816
+ "type": "string",
2817
+ "description": "Owning account slug"
2818
+ },
2819
+ "site_id": {
2820
+ "type": "string",
2821
+ "description": "Associated site ID or empty"
2822
+ },
2823
+ "created_at": {
2824
+ "type": "string",
2825
+ "description": "Zone creation ISO 8601 timestamp"
2826
+ },
2827
+ "updated_at": {
2828
+ "type": "string",
2829
+ "description": "Last update ISO 8601 timestamp"
2830
+ },
2831
+ "records_count": {
2832
+ "type": "number",
2833
+ "description": "Number of DNS records in the zone"
2834
+ },
2835
+ "dedicated": {
2836
+ "type": "boolean",
2837
+ "description": "Whether the zone uses dedicated DNS infrastructure"
2838
+ }
2839
+ },
2840
+ "required": [
2841
+ "id",
2842
+ "name",
2843
+ "account_slug",
2844
+ "site_id",
2845
+ "created_at",
2846
+ "updated_at",
2847
+ "records_count",
2848
+ "dedicated"
2849
+ ],
2850
+ "additionalProperties": false
2851
+ }
2852
+ },
2853
+ {
2854
+ "name": "create_dns_zone",
2855
+ "displayName": "Create DNS Zone",
2856
+ "description": "Create a new DNS zone for a domain in a Netlify account. Optionally associate it with a specific site. The zone manages DNS records for the domain.",
2857
+ "summary": "Create a new DNS zone",
2858
+ "icon": "plus",
2859
+ "group": "DNS",
2860
+ "input_schema": {
2861
+ "type": "object",
2862
+ "properties": {
2863
+ "account_slug": {
2864
+ "type": "string",
2865
+ "description": "The account slug to create the zone in"
2866
+ },
2867
+ "name": {
2868
+ "type": "string",
2869
+ "description": "The domain name for the zone (e.g. \"example.com\")"
2870
+ },
2871
+ "site_id": {
2872
+ "description": "Optional site ID to associate the zone with",
2873
+ "type": "string"
2874
+ }
2875
+ },
2876
+ "required": [
2877
+ "account_slug",
2878
+ "name"
2879
+ ],
2880
+ "additionalProperties": false
2881
+ },
2882
+ "output_schema": {
2883
+ "type": "object",
2884
+ "properties": {
2885
+ "id": {
2886
+ "type": "string",
2887
+ "description": "DNS zone ID"
2888
+ },
2889
+ "name": {
2890
+ "type": "string",
2891
+ "description": "Domain name for the zone"
2892
+ },
2893
+ "account_slug": {
2894
+ "type": "string",
2895
+ "description": "Owning account slug"
2896
+ },
2897
+ "site_id": {
2898
+ "type": "string",
2899
+ "description": "Associated site ID or empty"
2900
+ },
2901
+ "created_at": {
2902
+ "type": "string",
2903
+ "description": "Zone creation ISO 8601 timestamp"
2904
+ },
2905
+ "updated_at": {
2906
+ "type": "string",
2907
+ "description": "Last update ISO 8601 timestamp"
2908
+ },
2909
+ "records_count": {
2910
+ "type": "number",
2911
+ "description": "Number of DNS records in the zone"
2912
+ },
2913
+ "dedicated": {
2914
+ "type": "boolean",
2915
+ "description": "Whether the zone uses dedicated DNS infrastructure"
2916
+ }
2917
+ },
2918
+ "required": [
2919
+ "id",
2920
+ "name",
2921
+ "account_slug",
2922
+ "site_id",
2923
+ "created_at",
2924
+ "updated_at",
2925
+ "records_count",
2926
+ "dedicated"
2927
+ ],
2928
+ "additionalProperties": false
2929
+ }
2930
+ },
2931
+ {
2932
+ "name": "list_dns_records",
2933
+ "displayName": "List DNS Records",
2934
+ "description": "List all DNS records in a Netlify DNS zone. Returns record hostname, type (A, AAAA, CNAME, MX, TXT, NS, etc.), value, TTL, and priority.",
2935
+ "summary": "List DNS records in a zone",
2936
+ "icon": "list",
2937
+ "group": "DNS",
2938
+ "input_schema": {
2939
+ "type": "object",
2940
+ "properties": {
2941
+ "zone_id": {
2942
+ "type": "string",
2943
+ "description": "The DNS zone ID to list records for"
2944
+ }
2945
+ },
2946
+ "required": [
2947
+ "zone_id"
2948
+ ],
2949
+ "additionalProperties": false
2950
+ },
2951
+ "output_schema": {
2952
+ "type": "object",
2953
+ "properties": {
2954
+ "items": {
2955
+ "type": "array",
2956
+ "items": {
2957
+ "type": "object",
2958
+ "properties": {
2959
+ "id": {
2960
+ "type": "string",
2961
+ "description": "DNS record ID"
2962
+ },
2963
+ "hostname": {
2964
+ "type": "string",
2965
+ "description": "Fully qualified hostname"
2966
+ },
2967
+ "type": {
2968
+ "type": "string",
2969
+ "description": "Record type (e.g. A, AAAA, CNAME, MX, TXT, NS)"
2970
+ },
2971
+ "value": {
2972
+ "type": "string",
2973
+ "description": "Record value (IP address, hostname, or text)"
2974
+ },
2975
+ "ttl": {
2976
+ "type": "number",
2977
+ "description": "Time to live in seconds"
2978
+ },
2979
+ "priority": {
2980
+ "type": "number",
2981
+ "description": "Record priority (used by MX and SRV records, 0 otherwise)"
2982
+ },
2983
+ "dns_zone_id": {
2984
+ "type": "string",
2985
+ "description": "Parent DNS zone ID"
2986
+ },
2987
+ "flag": {
2988
+ "type": "number",
2989
+ "description": "CAA record flag (0 otherwise)"
2990
+ },
2991
+ "tag": {
2992
+ "type": "string",
2993
+ "description": "CAA record tag or empty"
2994
+ }
2995
+ },
2996
+ "required": [
2997
+ "id",
2998
+ "hostname",
2999
+ "type",
3000
+ "value",
3001
+ "ttl",
3002
+ "priority",
3003
+ "dns_zone_id",
3004
+ "flag",
3005
+ "tag"
3006
+ ],
3007
+ "additionalProperties": false
3008
+ },
3009
+ "description": "List of DNS records"
3010
+ }
3011
+ },
3012
+ "required": [
3013
+ "items"
3014
+ ],
3015
+ "additionalProperties": false
3016
+ }
3017
+ },
3018
+ {
3019
+ "name": "create_dns_record",
3020
+ "displayName": "Create DNS Record",
3021
+ "description": "Create a new DNS record in a Netlify DNS zone. Supports A, AAAA, CNAME, MX, TXT, NS, and other record types. Specify hostname, type, value, and optionally TTL and priority.",
3022
+ "summary": "Create a DNS record",
3023
+ "icon": "plus",
3024
+ "group": "DNS",
3025
+ "input_schema": {
3026
+ "type": "object",
3027
+ "properties": {
3028
+ "zone_id": {
3029
+ "type": "string",
3030
+ "description": "The DNS zone ID to create the record in"
3031
+ },
3032
+ "hostname": {
3033
+ "type": "string",
3034
+ "description": "Fully qualified hostname for the record"
3035
+ },
3036
+ "type": {
3037
+ "type": "string",
3038
+ "description": "Record type (e.g. A, AAAA, CNAME, MX, TXT, NS)"
3039
+ },
3040
+ "value": {
3041
+ "type": "string",
3042
+ "description": "Record value (IP address, hostname, or text content)"
3043
+ },
3044
+ "ttl": {
3045
+ "description": "Time to live in seconds",
3046
+ "type": "number"
3047
+ },
3048
+ "priority": {
3049
+ "description": "Record priority (required for MX and SRV records)",
3050
+ "type": "number"
3051
+ }
3052
+ },
3053
+ "required": [
3054
+ "zone_id",
3055
+ "hostname",
3056
+ "type",
3057
+ "value"
3058
+ ],
3059
+ "additionalProperties": false
3060
+ },
3061
+ "output_schema": {
3062
+ "type": "object",
3063
+ "properties": {
3064
+ "id": {
3065
+ "type": "string",
3066
+ "description": "DNS record ID"
3067
+ },
3068
+ "hostname": {
3069
+ "type": "string",
3070
+ "description": "Fully qualified hostname"
3071
+ },
3072
+ "type": {
3073
+ "type": "string",
3074
+ "description": "Record type (e.g. A, AAAA, CNAME, MX, TXT, NS)"
3075
+ },
3076
+ "value": {
3077
+ "type": "string",
3078
+ "description": "Record value (IP address, hostname, or text)"
3079
+ },
3080
+ "ttl": {
3081
+ "type": "number",
3082
+ "description": "Time to live in seconds"
3083
+ },
3084
+ "priority": {
3085
+ "type": "number",
3086
+ "description": "Record priority (used by MX and SRV records, 0 otherwise)"
3087
+ },
3088
+ "dns_zone_id": {
3089
+ "type": "string",
3090
+ "description": "Parent DNS zone ID"
3091
+ },
3092
+ "flag": {
3093
+ "type": "number",
3094
+ "description": "CAA record flag (0 otherwise)"
3095
+ },
3096
+ "tag": {
3097
+ "type": "string",
3098
+ "description": "CAA record tag or empty"
3099
+ }
3100
+ },
3101
+ "required": [
3102
+ "id",
3103
+ "hostname",
3104
+ "type",
3105
+ "value",
3106
+ "ttl",
3107
+ "priority",
3108
+ "dns_zone_id",
3109
+ "flag",
3110
+ "tag"
3111
+ ],
3112
+ "additionalProperties": false
3113
+ }
3114
+ },
3115
+ {
3116
+ "name": "delete_dns_record",
3117
+ "displayName": "Delete DNS Record",
3118
+ "description": "Delete a DNS record from a Netlify DNS zone. This action cannot be undone.",
3119
+ "summary": "Delete a DNS record",
3120
+ "icon": "trash-2",
3121
+ "group": "DNS",
3122
+ "input_schema": {
3123
+ "type": "object",
3124
+ "properties": {
3125
+ "zone_id": {
3126
+ "type": "string",
3127
+ "description": "The DNS zone ID the record belongs to"
3128
+ },
3129
+ "record_id": {
3130
+ "type": "string",
3131
+ "description": "The DNS record ID to delete"
3132
+ }
3133
+ },
3134
+ "required": [
3135
+ "zone_id",
3136
+ "record_id"
3137
+ ],
3138
+ "additionalProperties": false
3139
+ },
3140
+ "output_schema": {
3141
+ "type": "object",
3142
+ "properties": {
3143
+ "success": {
3144
+ "type": "boolean",
3145
+ "description": "Whether the operation succeeded"
3146
+ }
3147
+ },
3148
+ "required": [
3149
+ "success"
3150
+ ],
3151
+ "additionalProperties": false
3152
+ }
3153
+ },
3154
+ {
3155
+ "name": "list_hooks",
3156
+ "displayName": "List Hooks",
3157
+ "description": "List notification hooks (outgoing webhooks) for a Netlify site. Returns hook type, trigger event, configuration data, and disabled status.",
3158
+ "summary": "List site notification hooks",
3159
+ "icon": "webhook",
3160
+ "group": "Hooks",
3161
+ "input_schema": {
3162
+ "type": "object",
3163
+ "properties": {
3164
+ "site_id": {
3165
+ "type": "string",
3166
+ "description": "The site ID to list hooks for"
3167
+ }
3168
+ },
3169
+ "required": [
3170
+ "site_id"
3171
+ ],
3172
+ "additionalProperties": false
3173
+ },
3174
+ "output_schema": {
3175
+ "type": "object",
3176
+ "properties": {
3177
+ "items": {
3178
+ "type": "array",
3179
+ "items": {
3180
+ "type": "object",
3181
+ "properties": {
3182
+ "id": {
3183
+ "type": "string",
3184
+ "description": "Hook ID"
3185
+ },
3186
+ "site_id": {
3187
+ "type": "string",
3188
+ "description": "Associated site ID"
3189
+ },
3190
+ "type": {
3191
+ "type": "string",
3192
+ "description": "Hook type (e.g. url, email, slack)"
3193
+ },
3194
+ "event": {
3195
+ "type": "string",
3196
+ "description": "Trigger event name (e.g. deploy_building, deploy_created, deploy_failed)"
3197
+ },
3198
+ "data": {
3199
+ "type": "object",
3200
+ "propertyNames": {
3201
+ "type": "string"
3202
+ },
3203
+ "additionalProperties": {},
3204
+ "description": "Hook configuration data"
3205
+ },
3206
+ "created_at": {
3207
+ "type": "string",
3208
+ "description": "Hook creation ISO 8601 timestamp"
3209
+ },
3210
+ "updated_at": {
3211
+ "type": "string",
3212
+ "description": "Last update ISO 8601 timestamp"
3213
+ },
3214
+ "disabled": {
3215
+ "type": "boolean",
3216
+ "description": "Whether the hook is disabled"
3217
+ }
3218
+ },
3219
+ "required": [
3220
+ "id",
3221
+ "site_id",
3222
+ "type",
3223
+ "event",
3224
+ "data",
3225
+ "created_at",
3226
+ "updated_at",
3227
+ "disabled"
3228
+ ],
3229
+ "additionalProperties": false
3230
+ },
3231
+ "description": "List of notification hooks"
3232
+ }
3233
+ },
3234
+ "required": [
3235
+ "items"
3236
+ ],
3237
+ "additionalProperties": false
3238
+ }
3239
+ },
3240
+ {
3241
+ "name": "delete_hook",
3242
+ "displayName": "Delete Hook",
3243
+ "description": "Delete a notification hook (outgoing webhook) by its ID. This action cannot be undone.",
3244
+ "summary": "Delete a notification hook",
3245
+ "icon": "trash-2",
3246
+ "group": "Hooks",
3247
+ "input_schema": {
3248
+ "type": "object",
3249
+ "properties": {
3250
+ "hook_id": {
3251
+ "type": "string",
3252
+ "description": "The hook ID to delete"
3253
+ }
3254
+ },
3255
+ "required": [
3256
+ "hook_id"
3257
+ ],
3258
+ "additionalProperties": false
3259
+ },
3260
+ "output_schema": {
3261
+ "type": "object",
3262
+ "properties": {
3263
+ "success": {
3264
+ "type": "boolean",
3265
+ "description": "Whether the operation succeeded"
3266
+ }
3267
+ },
3268
+ "required": [
3269
+ "success"
3270
+ ],
3271
+ "additionalProperties": false
3272
+ }
3273
+ },
3274
+ {
3275
+ "name": "list_build_hooks",
3276
+ "displayName": "List Build Hooks",
3277
+ "description": "List build hooks for a Netlify site. Build hooks are URLs that trigger a new build when POSTed to. Returns hook title, branch, and trigger URL.",
3278
+ "summary": "List site build hooks",
3279
+ "icon": "webhook",
3280
+ "group": "Hooks",
3281
+ "input_schema": {
3282
+ "type": "object",
3283
+ "properties": {
3284
+ "site_id": {
3285
+ "type": "string",
3286
+ "description": "The site ID to list build hooks for"
3287
+ }
3288
+ },
3289
+ "required": [
3290
+ "site_id"
3291
+ ],
3292
+ "additionalProperties": false
3293
+ },
3294
+ "output_schema": {
3295
+ "type": "object",
3296
+ "properties": {
3297
+ "items": {
3298
+ "type": "array",
3299
+ "items": {
3300
+ "type": "object",
3301
+ "properties": {
3302
+ "id": {
3303
+ "type": "string",
3304
+ "description": "Build hook ID"
3305
+ },
3306
+ "title": {
3307
+ "type": "string",
3308
+ "description": "Build hook display title"
3309
+ },
3310
+ "branch": {
3311
+ "type": "string",
3312
+ "description": "Git branch triggered by this hook"
3313
+ },
3314
+ "url": {
3315
+ "type": "string",
3316
+ "description": "Build hook trigger URL"
3317
+ },
3318
+ "site_id": {
3319
+ "type": "string",
3320
+ "description": "Associated site ID"
3321
+ },
3322
+ "created_at": {
3323
+ "type": "string",
3324
+ "description": "Build hook creation ISO 8601 timestamp"
3325
+ }
3326
+ },
3327
+ "required": [
3328
+ "id",
3329
+ "title",
3330
+ "branch",
3331
+ "url",
3332
+ "site_id",
3333
+ "created_at"
3334
+ ],
3335
+ "additionalProperties": false
3336
+ },
3337
+ "description": "List of build hooks"
3338
+ }
3339
+ },
3340
+ "required": [
3341
+ "items"
3342
+ ],
3343
+ "additionalProperties": false
3344
+ }
3345
+ },
3346
+ {
3347
+ "name": "create_build_hook",
3348
+ "displayName": "Create Build Hook",
3349
+ "description": "Create a new build hook for a Netlify site. Build hooks generate a URL that triggers a new build for the specified branch when POSTed to.",
3350
+ "summary": "Create a build hook",
3351
+ "icon": "plus",
3352
+ "group": "Hooks",
3353
+ "input_schema": {
3354
+ "type": "object",
3355
+ "properties": {
3356
+ "site_id": {
3357
+ "type": "string",
3358
+ "description": "The site ID to create the build hook for"
3359
+ },
3360
+ "title": {
3361
+ "type": "string",
3362
+ "description": "Display title for the build hook"
3363
+ },
3364
+ "branch": {
3365
+ "type": "string",
3366
+ "description": "Git branch to build when the hook is triggered"
3367
+ }
3368
+ },
3369
+ "required": [
3370
+ "site_id",
3371
+ "title",
3372
+ "branch"
3373
+ ],
3374
+ "additionalProperties": false
3375
+ },
3376
+ "output_schema": {
3377
+ "type": "object",
3378
+ "properties": {
3379
+ "id": {
3380
+ "type": "string",
3381
+ "description": "Build hook ID"
3382
+ },
3383
+ "title": {
3384
+ "type": "string",
3385
+ "description": "Build hook display title"
3386
+ },
3387
+ "branch": {
3388
+ "type": "string",
3389
+ "description": "Git branch triggered by this hook"
3390
+ },
3391
+ "url": {
3392
+ "type": "string",
3393
+ "description": "Build hook trigger URL"
3394
+ },
3395
+ "site_id": {
3396
+ "type": "string",
3397
+ "description": "Associated site ID"
3398
+ },
3399
+ "created_at": {
3400
+ "type": "string",
3401
+ "description": "Build hook creation ISO 8601 timestamp"
3402
+ }
3403
+ },
3404
+ "required": [
3405
+ "id",
3406
+ "title",
3407
+ "branch",
3408
+ "url",
3409
+ "site_id",
3410
+ "created_at"
3411
+ ],
3412
+ "additionalProperties": false
3413
+ }
3414
+ },
3415
+ {
3416
+ "name": "delete_build_hook",
3417
+ "displayName": "Delete Build Hook",
3418
+ "description": "Delete a build hook from a Netlify site by its ID. The hook URL will no longer trigger builds. This action cannot be undone.",
3419
+ "summary": "Delete a build hook",
3420
+ "icon": "trash-2",
3421
+ "group": "Hooks",
3422
+ "input_schema": {
3423
+ "type": "object",
3424
+ "properties": {
3425
+ "site_id": {
3426
+ "type": "string",
3427
+ "description": "The site ID the build hook belongs to"
3428
+ },
3429
+ "hook_id": {
3430
+ "type": "string",
3431
+ "description": "The build hook ID to delete"
3432
+ }
3433
+ },
3434
+ "required": [
3435
+ "site_id",
3436
+ "hook_id"
3437
+ ],
3438
+ "additionalProperties": false
3439
+ },
3440
+ "output_schema": {
3441
+ "type": "object",
3442
+ "properties": {
3443
+ "success": {
3444
+ "type": "boolean",
3445
+ "description": "Whether the operation succeeded"
3446
+ }
3447
+ },
3448
+ "required": [
3449
+ "success"
3450
+ ],
3451
+ "additionalProperties": false
3452
+ }
3453
+ },
3454
+ {
3455
+ "name": "list_deploy_keys",
3456
+ "displayName": "List Deploy Keys",
3457
+ "description": "List all deploy keys for the authenticated user. Deploy keys are SSH public keys used for authenticating deploys from CI/CD systems.",
3458
+ "summary": "List deploy keys",
3459
+ "icon": "key",
3460
+ "group": "Deploy Keys",
3461
+ "input_schema": {
3462
+ "type": "object",
3463
+ "properties": {},
3464
+ "additionalProperties": false
3465
+ },
3466
+ "output_schema": {
3467
+ "type": "object",
3468
+ "properties": {
3469
+ "items": {
3470
+ "type": "array",
3471
+ "items": {
3472
+ "type": "object",
3473
+ "properties": {
3474
+ "id": {
3475
+ "type": "string",
3476
+ "description": "Deploy key ID"
3477
+ },
3478
+ "public_key": {
3479
+ "type": "string",
3480
+ "description": "SSH public key"
3481
+ },
3482
+ "created_at": {
3483
+ "type": "string",
3484
+ "description": "Key creation ISO 8601 timestamp"
3485
+ }
3486
+ },
3487
+ "required": [
3488
+ "id",
3489
+ "public_key",
3490
+ "created_at"
3491
+ ],
3492
+ "additionalProperties": false
3493
+ },
3494
+ "description": "List of deploy keys"
3495
+ }
3496
+ },
3497
+ "required": [
3498
+ "items"
3499
+ ],
3500
+ "additionalProperties": false
3501
+ }
3502
+ },
3503
+ {
3504
+ "name": "create_deploy_key",
3505
+ "displayName": "Create Deploy Key",
3506
+ "description": "Generate a new deploy key (SSH key pair). Returns the public key which can be added to your Git provider for deploy authentication.",
3507
+ "summary": "Create a new deploy key",
3508
+ "icon": "plus",
3509
+ "group": "Deploy Keys",
3510
+ "input_schema": {
3511
+ "type": "object",
3512
+ "properties": {},
3513
+ "additionalProperties": false
3514
+ },
3515
+ "output_schema": {
3516
+ "type": "object",
3517
+ "properties": {
3518
+ "id": {
3519
+ "type": "string",
3520
+ "description": "Deploy key ID"
3521
+ },
3522
+ "public_key": {
3523
+ "type": "string",
3524
+ "description": "SSH public key"
3525
+ },
3526
+ "created_at": {
3527
+ "type": "string",
3528
+ "description": "Key creation ISO 8601 timestamp"
3529
+ }
3530
+ },
3531
+ "required": [
3532
+ "id",
3533
+ "public_key",
3534
+ "created_at"
3535
+ ],
3536
+ "additionalProperties": false
3537
+ }
3538
+ },
3539
+ {
3540
+ "name": "list_forms",
3541
+ "displayName": "List Forms",
3542
+ "description": "List all forms for a Netlify site. Returns form name, page paths, field names, submission count, and creation timestamp.",
3543
+ "summary": "List site forms",
3544
+ "icon": "file-text",
3545
+ "group": "Forms",
3546
+ "input_schema": {
3547
+ "type": "object",
3548
+ "properties": {
3549
+ "site_id": {
3550
+ "type": "string",
3551
+ "description": "The site ID to list forms for"
3552
+ }
3553
+ },
3554
+ "required": [
3555
+ "site_id"
3556
+ ],
3557
+ "additionalProperties": false
3558
+ },
3559
+ "output_schema": {
3560
+ "type": "object",
3561
+ "properties": {
3562
+ "items": {
3563
+ "type": "array",
3564
+ "items": {
3565
+ "type": "object",
3566
+ "properties": {
3567
+ "id": {
3568
+ "type": "string",
3569
+ "description": "Form ID"
3570
+ },
3571
+ "site_id": {
3572
+ "type": "string",
3573
+ "description": "Parent site ID"
3574
+ },
3575
+ "name": {
3576
+ "type": "string",
3577
+ "description": "Form name"
3578
+ },
3579
+ "paths": {
3580
+ "type": "array",
3581
+ "items": {
3582
+ "type": "string"
3583
+ },
3584
+ "description": "Page paths where the form appears"
3585
+ },
3586
+ "submission_count": {
3587
+ "type": "number",
3588
+ "description": "Total number of submissions received"
3589
+ },
3590
+ "fields": {
3591
+ "type": "array",
3592
+ "items": {
3593
+ "type": "string"
3594
+ },
3595
+ "description": "Form field names"
3596
+ },
3597
+ "created_at": {
3598
+ "type": "string",
3599
+ "description": "Form creation ISO 8601 timestamp"
3600
+ }
3601
+ },
3602
+ "required": [
3603
+ "id",
3604
+ "site_id",
3605
+ "name",
3606
+ "paths",
3607
+ "submission_count",
3608
+ "fields",
3609
+ "created_at"
3610
+ ],
3611
+ "additionalProperties": false
3612
+ },
3613
+ "description": "List of forms"
3614
+ }
3615
+ },
3616
+ "required": [
3617
+ "items"
3618
+ ],
3619
+ "additionalProperties": false
3620
+ }
3621
+ },
3622
+ {
3623
+ "name": "list_form_submissions",
3624
+ "displayName": "List Form Submissions",
3625
+ "description": "List submissions for a specific Netlify form. Returns submitter name, email, body text, full data key-value pairs, and timestamps. Supports pagination.",
3626
+ "summary": "List form submissions",
3627
+ "icon": "list",
3628
+ "group": "Forms",
3629
+ "input_schema": {
3630
+ "type": "object",
3631
+ "properties": {
3632
+ "form_id": {
3633
+ "type": "string",
3634
+ "description": "The form ID to list submissions for"
3635
+ },
3636
+ "page": {
3637
+ "description": "Page number for pagination (starts at 1)",
3638
+ "type": "number"
3639
+ },
3640
+ "per_page": {
3641
+ "description": "Number of submissions per page (default 20)",
3642
+ "type": "number"
3643
+ }
3644
+ },
3645
+ "required": [
3646
+ "form_id"
3647
+ ],
3648
+ "additionalProperties": false
3649
+ },
3650
+ "output_schema": {
3651
+ "type": "object",
3652
+ "properties": {
3653
+ "items": {
3654
+ "type": "array",
3655
+ "items": {
3656
+ "type": "object",
3657
+ "properties": {
3658
+ "id": {
3659
+ "type": "string",
3660
+ "description": "Submission ID"
3661
+ },
3662
+ "form_id": {
3663
+ "type": "string",
3664
+ "description": "Parent form ID"
3665
+ },
3666
+ "form_name": {
3667
+ "type": "string",
3668
+ "description": "Parent form name"
3669
+ },
3670
+ "name": {
3671
+ "type": "string",
3672
+ "description": "Submitter name field value or empty"
3673
+ },
3674
+ "email": {
3675
+ "type": "string",
3676
+ "description": "Submitter email field value or empty"
3677
+ },
3678
+ "body": {
3679
+ "type": "string",
3680
+ "description": "Submission body text or empty"
3681
+ },
3682
+ "data": {
3683
+ "type": "object",
3684
+ "propertyNames": {
3685
+ "type": "string"
3686
+ },
3687
+ "additionalProperties": {},
3688
+ "description": "Full submission data as key-value pairs"
3689
+ },
3690
+ "created_at": {
3691
+ "type": "string",
3692
+ "description": "Submission ISO 8601 timestamp"
3693
+ }
3694
+ },
3695
+ "required": [
3696
+ "id",
3697
+ "form_id",
3698
+ "form_name",
3699
+ "name",
3700
+ "email",
3701
+ "body",
3702
+ "data",
3703
+ "created_at"
3704
+ ],
3705
+ "additionalProperties": false
3706
+ },
3707
+ "description": "List of form submissions"
3708
+ }
3709
+ },
3710
+ "required": [
3711
+ "items"
3712
+ ],
3713
+ "additionalProperties": false
3714
+ }
3715
+ },
3716
+ {
3717
+ "name": "delete_submission",
3718
+ "displayName": "Delete Submission",
3719
+ "description": "Delete a form submission by its ID. This permanently removes the submission data. This action cannot be undone.",
3720
+ "summary": "Delete a form submission",
3721
+ "icon": "trash-2",
3722
+ "group": "Forms",
3723
+ "input_schema": {
3724
+ "type": "object",
3725
+ "properties": {
3726
+ "submission_id": {
3727
+ "type": "string",
3728
+ "description": "The submission ID to delete"
3729
+ }
3730
+ },
3731
+ "required": [
3732
+ "submission_id"
3733
+ ],
3734
+ "additionalProperties": false
3735
+ },
3736
+ "output_schema": {
3737
+ "type": "object",
3738
+ "properties": {
3739
+ "success": {
3740
+ "type": "boolean",
3741
+ "description": "Whether the operation succeeded"
3742
+ }
3743
+ },
3744
+ "required": [
3745
+ "success"
3746
+ ],
3747
+ "additionalProperties": false
3748
+ }
3749
+ }
3750
+ ]
3751
+ }