@opentabs-dev/opentabs-plugin-pinterest 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 (113) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15290 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/index.d.ts +14 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +76 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/pinterest-api.d.ts +45 -0
  9. package/dist/pinterest-api.d.ts.map +1 -0
  10. package/dist/pinterest-api.js +112 -0
  11. package/dist/pinterest-api.js.map +1 -0
  12. package/dist/tools/create-board-section.d.ts +13 -0
  13. package/dist/tools/create-board-section.d.ts.map +1 -0
  14. package/dist/tools/create-board-section.js +27 -0
  15. package/dist/tools/create-board-section.js.map +1 -0
  16. package/dist/tools/create-board.d.ts +25 -0
  17. package/dist/tools/create-board.d.ts.map +1 -0
  18. package/dist/tools/create-board.js +29 -0
  19. package/dist/tools/create-board.js.map +1 -0
  20. package/dist/tools/create-pin.d.ts +25 -0
  21. package/dist/tools/create-pin.d.ts.map +1 -0
  22. package/dist/tools/create-pin.js +36 -0
  23. package/dist/tools/create-pin.js.map +1 -0
  24. package/dist/tools/delete-board-section.d.ts +7 -0
  25. package/dist/tools/delete-board-section.d.ts.map +1 -0
  26. package/dist/tools/delete-board-section.js +24 -0
  27. package/dist/tools/delete-board-section.js.map +1 -0
  28. package/dist/tools/delete-board.d.ts +7 -0
  29. package/dist/tools/delete-board.d.ts.map +1 -0
  30. package/dist/tools/delete-board.js +24 -0
  31. package/dist/tools/delete-board.js.map +1 -0
  32. package/dist/tools/delete-pin.d.ts +7 -0
  33. package/dist/tools/delete-pin.d.ts.map +1 -0
  34. package/dist/tools/delete-pin.js +24 -0
  35. package/dist/tools/delete-pin.js.map +1 -0
  36. package/dist/tools/follow-user.d.ts +17 -0
  37. package/dist/tools/follow-user.d.ts.map +1 -0
  38. package/dist/tools/follow-user.js +23 -0
  39. package/dist/tools/follow-user.js.map +1 -0
  40. package/dist/tools/get-board-pins.d.ts +24 -0
  41. package/dist/tools/get-board-pins.d.ts.map +1 -0
  42. package/dist/tools/get-board-pins.js +36 -0
  43. package/dist/tools/get-board-pins.js.map +1 -0
  44. package/dist/tools/get-board-sections.d.ts +13 -0
  45. package/dist/tools/get-board-sections.d.ts.map +1 -0
  46. package/dist/tools/get-board-sections.js +26 -0
  47. package/dist/tools/get-board-sections.js.map +1 -0
  48. package/dist/tools/get-current-user.d.ts +18 -0
  49. package/dist/tools/get-current-user.d.ts.map +1 -0
  50. package/dist/tools/get-current-user.js +30 -0
  51. package/dist/tools/get-current-user.js.map +1 -0
  52. package/dist/tools/get-home-feed.d.ts +21 -0
  53. package/dist/tools/get-home-feed.d.ts.map +1 -0
  54. package/dist/tools/get-home-feed.js +33 -0
  55. package/dist/tools/get-home-feed.js.map +1 -0
  56. package/dist/tools/get-notification-counts.d.ts +6 -0
  57. package/dist/tools/get-notification-counts.d.ts.map +1 -0
  58. package/dist/tools/get-notification-counts.js +25 -0
  59. package/dist/tools/get-notification-counts.js.map +1 -0
  60. package/dist/tools/get-pin.d.ts +20 -0
  61. package/dist/tools/get-pin.d.ts.map +1 -0
  62. package/dist/tools/get-pin.js +26 -0
  63. package/dist/tools/get-pin.js.map +1 -0
  64. package/dist/tools/get-related-pins.d.ts +23 -0
  65. package/dist/tools/get-related-pins.d.ts.map +1 -0
  66. package/dist/tools/get-related-pins.js +34 -0
  67. package/dist/tools/get-related-pins.js.map +1 -0
  68. package/dist/tools/get-user-pins.d.ts +23 -0
  69. package/dist/tools/get-user-pins.d.ts.map +1 -0
  70. package/dist/tools/get-user-pins.js +34 -0
  71. package/dist/tools/get-user-pins.js.map +1 -0
  72. package/dist/tools/get-user-profile.d.ts +17 -0
  73. package/dist/tools/get-user-profile.d.ts.map +1 -0
  74. package/dist/tools/get-user-profile.js +26 -0
  75. package/dist/tools/get-user-profile.js.map +1 -0
  76. package/dist/tools/list-boards.d.ts +23 -0
  77. package/dist/tools/list-boards.d.ts.map +1 -0
  78. package/dist/tools/list-boards.js +37 -0
  79. package/dist/tools/list-boards.js.map +1 -0
  80. package/dist/tools/list-followers.d.ts +20 -0
  81. package/dist/tools/list-followers.d.ts.map +1 -0
  82. package/dist/tools/list-followers.js +33 -0
  83. package/dist/tools/list-followers.js.map +1 -0
  84. package/dist/tools/list-following.d.ts +20 -0
  85. package/dist/tools/list-following.d.ts.map +1 -0
  86. package/dist/tools/list-following.js +33 -0
  87. package/dist/tools/list-following.js.map +1 -0
  88. package/dist/tools/save-pin.d.ts +22 -0
  89. package/dist/tools/save-pin.d.ts.map +1 -0
  90. package/dist/tools/save-pin.js +30 -0
  91. package/dist/tools/save-pin.js.map +1 -0
  92. package/dist/tools/schemas.d.ts +194 -0
  93. package/dist/tools/schemas.d.ts.map +1 -0
  94. package/dist/tools/schemas.js +127 -0
  95. package/dist/tools/schemas.js.map +1 -0
  96. package/dist/tools/search-boards.d.ts +23 -0
  97. package/dist/tools/search-boards.d.ts.map +1 -0
  98. package/dist/tools/search-boards.js +35 -0
  99. package/dist/tools/search-boards.js.map +1 -0
  100. package/dist/tools/search-pins.d.ts +23 -0
  101. package/dist/tools/search-pins.d.ts.map +1 -0
  102. package/dist/tools/search-pins.js +35 -0
  103. package/dist/tools/search-pins.js.map +1 -0
  104. package/dist/tools/unfollow-user.d.ts +7 -0
  105. package/dist/tools/unfollow-user.d.ts.map +1 -0
  106. package/dist/tools/unfollow-user.js +24 -0
  107. package/dist/tools/unfollow-user.js.map +1 -0
  108. package/dist/tools/update-board.d.ts +26 -0
  109. package/dist/tools/update-board.d.ts.map +1 -0
  110. package/dist/tools/update-board.js +33 -0
  111. package/dist/tools/update-board.js.map +1 -0
  112. package/dist/tools.json +2133 -0
  113. package/package.json +55 -0
@@ -0,0 +1,2133 @@
1
+ {
2
+ "sdkVersion": "0.0.74",
3
+ "iconSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#E60023\" d=\"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z\"/></svg>",
4
+ "iconInactiveSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#999999\" d=\"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z\"/></svg>",
5
+ "iconDarkSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#E60023\" d=\"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z\"/></svg>",
6
+ "iconDarkInactiveSvg": "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#999999\" d=\"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z\"/></svg>",
7
+ "tools": [
8
+ {
9
+ "name": "get_current_user",
10
+ "displayName": "Get Current User",
11
+ "description": "Get the profile of the currently authenticated Pinterest user, including email, name, follower counts, board count, and account details.",
12
+ "summary": "Get the 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
+ "user": {
24
+ "type": "object",
25
+ "properties": {
26
+ "id": {
27
+ "type": "string",
28
+ "description": "User ID"
29
+ },
30
+ "username": {
31
+ "type": "string",
32
+ "description": "Username"
33
+ },
34
+ "full_name": {
35
+ "type": "string",
36
+ "description": "Display name"
37
+ },
38
+ "image_url": {
39
+ "type": "string",
40
+ "description": "Profile image URL"
41
+ },
42
+ "follower_count": {
43
+ "type": "number",
44
+ "description": "Number of followers"
45
+ },
46
+ "following_count": {
47
+ "type": "number",
48
+ "description": "Number of users being followed"
49
+ },
50
+ "pin_count": {
51
+ "type": "number",
52
+ "description": "Total pin count"
53
+ },
54
+ "board_count": {
55
+ "type": "number",
56
+ "description": "Total board count"
57
+ },
58
+ "is_partner": {
59
+ "type": "boolean",
60
+ "description": "Whether the user is a verified partner"
61
+ },
62
+ "email": {
63
+ "type": "string",
64
+ "description": "Email address"
65
+ },
66
+ "country": {
67
+ "type": "string",
68
+ "description": "Country code"
69
+ },
70
+ "created_at": {
71
+ "type": "string",
72
+ "description": "Account creation date"
73
+ }
74
+ },
75
+ "required": [
76
+ "id",
77
+ "username",
78
+ "full_name",
79
+ "image_url",
80
+ "follower_count",
81
+ "following_count",
82
+ "pin_count",
83
+ "board_count",
84
+ "is_partner",
85
+ "email",
86
+ "country",
87
+ "created_at"
88
+ ],
89
+ "additionalProperties": false,
90
+ "description": "The authenticated user profile"
91
+ }
92
+ },
93
+ "required": [
94
+ "user"
95
+ ],
96
+ "additionalProperties": false
97
+ }
98
+ },
99
+ {
100
+ "name": "get_notification_counts",
101
+ "displayName": "Get Notification Counts",
102
+ "description": "Get unread notification and unseen message counts for the authenticated user.",
103
+ "summary": "Get notification badge counts",
104
+ "icon": "bell",
105
+ "group": "Account",
106
+ "input_schema": {
107
+ "type": "object",
108
+ "properties": {},
109
+ "additionalProperties": false
110
+ },
111
+ "output_schema": {
112
+ "type": "object",
113
+ "properties": {
114
+ "news_hub_count": {
115
+ "type": "number",
116
+ "description": "Unread notification count"
117
+ },
118
+ "conversations_unseen_count": {
119
+ "type": "number",
120
+ "description": "Unseen message/conversation count"
121
+ }
122
+ },
123
+ "required": [
124
+ "news_hub_count",
125
+ "conversations_unseen_count"
126
+ ],
127
+ "additionalProperties": false
128
+ }
129
+ },
130
+ {
131
+ "name": "get_user_profile",
132
+ "displayName": "Get User Profile",
133
+ "description": "Get a Pinterest user profile by username. Returns display name, follower/following counts, pin count, board count, and profile image.",
134
+ "summary": "Get a user profile by username",
135
+ "icon": "user",
136
+ "group": "Users",
137
+ "input_schema": {
138
+ "type": "object",
139
+ "properties": {
140
+ "username": {
141
+ "type": "string",
142
+ "description": "Pinterest username (e.g., \"pinterest\")"
143
+ }
144
+ },
145
+ "required": [
146
+ "username"
147
+ ],
148
+ "additionalProperties": false
149
+ },
150
+ "output_schema": {
151
+ "type": "object",
152
+ "properties": {
153
+ "user": {
154
+ "type": "object",
155
+ "properties": {
156
+ "id": {
157
+ "type": "string",
158
+ "description": "User ID"
159
+ },
160
+ "username": {
161
+ "type": "string",
162
+ "description": "Username"
163
+ },
164
+ "full_name": {
165
+ "type": "string",
166
+ "description": "Display name"
167
+ },
168
+ "image_url": {
169
+ "type": "string",
170
+ "description": "Profile image URL"
171
+ },
172
+ "follower_count": {
173
+ "type": "number",
174
+ "description": "Number of followers"
175
+ },
176
+ "following_count": {
177
+ "type": "number",
178
+ "description": "Number of users being followed"
179
+ },
180
+ "pin_count": {
181
+ "type": "number",
182
+ "description": "Total pin count"
183
+ },
184
+ "board_count": {
185
+ "type": "number",
186
+ "description": "Total board count"
187
+ },
188
+ "is_partner": {
189
+ "type": "boolean",
190
+ "description": "Whether the user is a verified partner"
191
+ }
192
+ },
193
+ "required": [
194
+ "id",
195
+ "username",
196
+ "full_name",
197
+ "image_url",
198
+ "follower_count",
199
+ "following_count",
200
+ "pin_count",
201
+ "board_count",
202
+ "is_partner"
203
+ ],
204
+ "additionalProperties": false,
205
+ "description": "The user profile"
206
+ }
207
+ },
208
+ "required": [
209
+ "user"
210
+ ],
211
+ "additionalProperties": false
212
+ }
213
+ },
214
+ {
215
+ "name": "list_boards",
216
+ "displayName": "List Boards",
217
+ "description": "List boards for a Pinterest user by username. Returns board names, pin counts, privacy settings, and cover images. Supports pagination via bookmark cursor.",
218
+ "summary": "List boards for a user",
219
+ "icon": "layout-grid",
220
+ "group": "Boards",
221
+ "input_schema": {
222
+ "type": "object",
223
+ "properties": {
224
+ "username": {
225
+ "type": "string",
226
+ "description": "Pinterest username to list boards for (e.g., \"pinterest\")"
227
+ },
228
+ "page_size": {
229
+ "description": "Number of boards per page (default 25, max 50)",
230
+ "type": "integer",
231
+ "minimum": 1,
232
+ "maximum": 50
233
+ },
234
+ "bookmark": {
235
+ "description": "Pagination cursor from a previous response",
236
+ "type": "string"
237
+ }
238
+ },
239
+ "required": [
240
+ "username"
241
+ ],
242
+ "additionalProperties": false
243
+ },
244
+ "output_schema": {
245
+ "type": "object",
246
+ "properties": {
247
+ "boards": {
248
+ "type": "array",
249
+ "items": {
250
+ "type": "object",
251
+ "properties": {
252
+ "id": {
253
+ "type": "string",
254
+ "description": "Board ID"
255
+ },
256
+ "name": {
257
+ "type": "string",
258
+ "description": "Board name"
259
+ },
260
+ "description": {
261
+ "type": "string",
262
+ "description": "Board description"
263
+ },
264
+ "url": {
265
+ "type": "string",
266
+ "description": "Board URL path"
267
+ },
268
+ "pin_count": {
269
+ "type": "number",
270
+ "description": "Number of pins on the board"
271
+ },
272
+ "follower_count": {
273
+ "type": "number",
274
+ "description": "Number of followers"
275
+ },
276
+ "section_count": {
277
+ "type": "number",
278
+ "description": "Number of sections"
279
+ },
280
+ "privacy": {
281
+ "type": "string",
282
+ "description": "Privacy setting (public or secret)"
283
+ },
284
+ "is_collaborative": {
285
+ "type": "boolean",
286
+ "description": "Whether the board allows collaborators"
287
+ },
288
+ "created_at": {
289
+ "type": "string",
290
+ "description": "Creation date"
291
+ },
292
+ "image_url": {
293
+ "type": "string",
294
+ "description": "Board cover image URL"
295
+ },
296
+ "owner_username": {
297
+ "type": "string",
298
+ "description": "Board owner username"
299
+ }
300
+ },
301
+ "required": [
302
+ "id",
303
+ "name",
304
+ "description",
305
+ "url",
306
+ "pin_count",
307
+ "follower_count",
308
+ "section_count",
309
+ "privacy",
310
+ "is_collaborative",
311
+ "created_at",
312
+ "image_url",
313
+ "owner_username"
314
+ ],
315
+ "additionalProperties": false
316
+ },
317
+ "description": "User boards"
318
+ },
319
+ "bookmark": {
320
+ "type": "string",
321
+ "description": "Cursor for next page, empty if no more results"
322
+ }
323
+ },
324
+ "required": [
325
+ "boards",
326
+ "bookmark"
327
+ ],
328
+ "additionalProperties": false
329
+ }
330
+ },
331
+ {
332
+ "name": "get_board_pins",
333
+ "displayName": "Get Board Pins",
334
+ "description": "Get pins on a specific board. Requires the board ID and the board URL path (e.g., \"/username/board-name/\"). Supports pagination via bookmark cursor.",
335
+ "summary": "Get pins from a board",
336
+ "icon": "image",
337
+ "group": "Boards",
338
+ "input_schema": {
339
+ "type": "object",
340
+ "properties": {
341
+ "board_id": {
342
+ "type": "string",
343
+ "description": "Board ID"
344
+ },
345
+ "board_url": {
346
+ "type": "string",
347
+ "description": "Board URL path (e.g., \"/username/board-name/\")"
348
+ },
349
+ "page_size": {
350
+ "description": "Number of pins per page (default 25, max 50)",
351
+ "type": "integer",
352
+ "minimum": 1,
353
+ "maximum": 50
354
+ },
355
+ "bookmark": {
356
+ "description": "Pagination cursor from a previous response",
357
+ "type": "string"
358
+ }
359
+ },
360
+ "required": [
361
+ "board_id",
362
+ "board_url"
363
+ ],
364
+ "additionalProperties": false
365
+ },
366
+ "output_schema": {
367
+ "type": "object",
368
+ "properties": {
369
+ "pins": {
370
+ "type": "array",
371
+ "items": {
372
+ "type": "object",
373
+ "properties": {
374
+ "id": {
375
+ "type": "string",
376
+ "description": "Pin ID"
377
+ },
378
+ "title": {
379
+ "type": "string",
380
+ "description": "Pin title"
381
+ },
382
+ "description": {
383
+ "type": "string",
384
+ "description": "Pin description"
385
+ },
386
+ "link": {
387
+ "type": "string",
388
+ "description": "External link URL"
389
+ },
390
+ "image_url": {
391
+ "type": "string",
392
+ "description": "Pin image URL"
393
+ },
394
+ "dominant_color": {
395
+ "type": "string",
396
+ "description": "Dominant color hex"
397
+ },
398
+ "is_video": {
399
+ "type": "boolean",
400
+ "description": "Whether the pin contains a video"
401
+ },
402
+ "repin_count": {
403
+ "type": "number",
404
+ "description": "Number of saves/repins"
405
+ },
406
+ "comment_count": {
407
+ "type": "number",
408
+ "description": "Number of comments"
409
+ },
410
+ "pinner_username": {
411
+ "type": "string",
412
+ "description": "Username of the pin creator"
413
+ },
414
+ "board_name": {
415
+ "type": "string",
416
+ "description": "Board name the pin belongs to"
417
+ },
418
+ "created_at": {
419
+ "type": "string",
420
+ "description": "Creation date"
421
+ }
422
+ },
423
+ "required": [
424
+ "id",
425
+ "title",
426
+ "description",
427
+ "link",
428
+ "image_url",
429
+ "dominant_color",
430
+ "is_video",
431
+ "repin_count",
432
+ "comment_count",
433
+ "pinner_username",
434
+ "board_name",
435
+ "created_at"
436
+ ],
437
+ "additionalProperties": false
438
+ },
439
+ "description": "Board pins"
440
+ },
441
+ "bookmark": {
442
+ "type": "string",
443
+ "description": "Cursor for next page, empty if no more results"
444
+ }
445
+ },
446
+ "required": [
447
+ "pins",
448
+ "bookmark"
449
+ ],
450
+ "additionalProperties": false
451
+ }
452
+ },
453
+ {
454
+ "name": "get_board_sections",
455
+ "displayName": "Get Board Sections",
456
+ "description": "Get all sections (subsections) of a board. Sections are used to organize pins within a board.",
457
+ "summary": "Get sections for a board",
458
+ "icon": "layers",
459
+ "group": "Boards",
460
+ "input_schema": {
461
+ "type": "object",
462
+ "properties": {
463
+ "board_id": {
464
+ "type": "string",
465
+ "description": "Board ID to get sections for"
466
+ },
467
+ "board_url": {
468
+ "description": "Board URL path (e.g., \"/username/board-name/\")",
469
+ "type": "string"
470
+ }
471
+ },
472
+ "required": [
473
+ "board_id"
474
+ ],
475
+ "additionalProperties": false
476
+ },
477
+ "output_schema": {
478
+ "type": "object",
479
+ "properties": {
480
+ "sections": {
481
+ "type": "array",
482
+ "items": {
483
+ "type": "object",
484
+ "properties": {
485
+ "id": {
486
+ "type": "string",
487
+ "description": "Section ID"
488
+ },
489
+ "title": {
490
+ "type": "string",
491
+ "description": "Section title"
492
+ },
493
+ "pin_count": {
494
+ "type": "number",
495
+ "description": "Number of pins in the section"
496
+ },
497
+ "slug": {
498
+ "type": "string",
499
+ "description": "URL slug for the section"
500
+ }
501
+ },
502
+ "required": [
503
+ "id",
504
+ "title",
505
+ "pin_count",
506
+ "slug"
507
+ ],
508
+ "additionalProperties": false
509
+ },
510
+ "description": "Board sections"
511
+ }
512
+ },
513
+ "required": [
514
+ "sections"
515
+ ],
516
+ "additionalProperties": false
517
+ }
518
+ },
519
+ {
520
+ "name": "create_board",
521
+ "displayName": "Create Board",
522
+ "description": "Create a new Pinterest board. Specify a name, optional description, and privacy setting.",
523
+ "summary": "Create a new board",
524
+ "icon": "folder-plus",
525
+ "group": "Boards",
526
+ "input_schema": {
527
+ "type": "object",
528
+ "properties": {
529
+ "name": {
530
+ "type": "string",
531
+ "description": "Board name"
532
+ },
533
+ "description": {
534
+ "description": "Board description",
535
+ "type": "string"
536
+ },
537
+ "privacy": {
538
+ "description": "Privacy setting (default \"public\")",
539
+ "type": "string",
540
+ "enum": [
541
+ "public",
542
+ "secret"
543
+ ]
544
+ }
545
+ },
546
+ "required": [
547
+ "name"
548
+ ],
549
+ "additionalProperties": false
550
+ },
551
+ "output_schema": {
552
+ "type": "object",
553
+ "properties": {
554
+ "board": {
555
+ "type": "object",
556
+ "properties": {
557
+ "id": {
558
+ "type": "string",
559
+ "description": "Board ID"
560
+ },
561
+ "name": {
562
+ "type": "string",
563
+ "description": "Board name"
564
+ },
565
+ "description": {
566
+ "type": "string",
567
+ "description": "Board description"
568
+ },
569
+ "url": {
570
+ "type": "string",
571
+ "description": "Board URL path"
572
+ },
573
+ "pin_count": {
574
+ "type": "number",
575
+ "description": "Number of pins on the board"
576
+ },
577
+ "follower_count": {
578
+ "type": "number",
579
+ "description": "Number of followers"
580
+ },
581
+ "section_count": {
582
+ "type": "number",
583
+ "description": "Number of sections"
584
+ },
585
+ "privacy": {
586
+ "type": "string",
587
+ "description": "Privacy setting (public or secret)"
588
+ },
589
+ "is_collaborative": {
590
+ "type": "boolean",
591
+ "description": "Whether the board allows collaborators"
592
+ },
593
+ "created_at": {
594
+ "type": "string",
595
+ "description": "Creation date"
596
+ },
597
+ "image_url": {
598
+ "type": "string",
599
+ "description": "Board cover image URL"
600
+ },
601
+ "owner_username": {
602
+ "type": "string",
603
+ "description": "Board owner username"
604
+ }
605
+ },
606
+ "required": [
607
+ "id",
608
+ "name",
609
+ "description",
610
+ "url",
611
+ "pin_count",
612
+ "follower_count",
613
+ "section_count",
614
+ "privacy",
615
+ "is_collaborative",
616
+ "created_at",
617
+ "image_url",
618
+ "owner_username"
619
+ ],
620
+ "additionalProperties": false,
621
+ "description": "The newly created board"
622
+ }
623
+ },
624
+ "required": [
625
+ "board"
626
+ ],
627
+ "additionalProperties": false
628
+ }
629
+ },
630
+ {
631
+ "name": "update_board",
632
+ "displayName": "Update Board",
633
+ "description": "Update a board name, description, or privacy setting. Only specified fields are changed.",
634
+ "summary": "Update a board",
635
+ "icon": "folder-pen",
636
+ "group": "Boards",
637
+ "input_schema": {
638
+ "type": "object",
639
+ "properties": {
640
+ "board_id": {
641
+ "type": "string",
642
+ "description": "Board ID to update"
643
+ },
644
+ "name": {
645
+ "description": "New board name",
646
+ "type": "string"
647
+ },
648
+ "description": {
649
+ "description": "New board description",
650
+ "type": "string"
651
+ },
652
+ "privacy": {
653
+ "description": "New privacy setting",
654
+ "type": "string",
655
+ "enum": [
656
+ "public",
657
+ "secret"
658
+ ]
659
+ }
660
+ },
661
+ "required": [
662
+ "board_id"
663
+ ],
664
+ "additionalProperties": false
665
+ },
666
+ "output_schema": {
667
+ "type": "object",
668
+ "properties": {
669
+ "board": {
670
+ "type": "object",
671
+ "properties": {
672
+ "id": {
673
+ "type": "string",
674
+ "description": "Board ID"
675
+ },
676
+ "name": {
677
+ "type": "string",
678
+ "description": "Board name"
679
+ },
680
+ "description": {
681
+ "type": "string",
682
+ "description": "Board description"
683
+ },
684
+ "url": {
685
+ "type": "string",
686
+ "description": "Board URL path"
687
+ },
688
+ "pin_count": {
689
+ "type": "number",
690
+ "description": "Number of pins on the board"
691
+ },
692
+ "follower_count": {
693
+ "type": "number",
694
+ "description": "Number of followers"
695
+ },
696
+ "section_count": {
697
+ "type": "number",
698
+ "description": "Number of sections"
699
+ },
700
+ "privacy": {
701
+ "type": "string",
702
+ "description": "Privacy setting (public or secret)"
703
+ },
704
+ "is_collaborative": {
705
+ "type": "boolean",
706
+ "description": "Whether the board allows collaborators"
707
+ },
708
+ "created_at": {
709
+ "type": "string",
710
+ "description": "Creation date"
711
+ },
712
+ "image_url": {
713
+ "type": "string",
714
+ "description": "Board cover image URL"
715
+ },
716
+ "owner_username": {
717
+ "type": "string",
718
+ "description": "Board owner username"
719
+ }
720
+ },
721
+ "required": [
722
+ "id",
723
+ "name",
724
+ "description",
725
+ "url",
726
+ "pin_count",
727
+ "follower_count",
728
+ "section_count",
729
+ "privacy",
730
+ "is_collaborative",
731
+ "created_at",
732
+ "image_url",
733
+ "owner_username"
734
+ ],
735
+ "additionalProperties": false,
736
+ "description": "The updated board"
737
+ }
738
+ },
739
+ "required": [
740
+ "board"
741
+ ],
742
+ "additionalProperties": false
743
+ }
744
+ },
745
+ {
746
+ "name": "delete_board",
747
+ "displayName": "Delete Board",
748
+ "description": "Delete a board and all its pins. Only works for boards you own. This action cannot be undone.",
749
+ "summary": "Delete a board",
750
+ "icon": "folder-x",
751
+ "group": "Boards",
752
+ "input_schema": {
753
+ "type": "object",
754
+ "properties": {
755
+ "board_id": {
756
+ "type": "string",
757
+ "description": "Board ID to delete"
758
+ }
759
+ },
760
+ "required": [
761
+ "board_id"
762
+ ],
763
+ "additionalProperties": false
764
+ },
765
+ "output_schema": {
766
+ "type": "object",
767
+ "properties": {
768
+ "success": {
769
+ "type": "boolean",
770
+ "description": "Whether the operation succeeded"
771
+ }
772
+ },
773
+ "required": [
774
+ "success"
775
+ ],
776
+ "additionalProperties": false
777
+ }
778
+ },
779
+ {
780
+ "name": "create_board_section",
781
+ "displayName": "Create Board Section",
782
+ "description": "Create a new section within a board to organize pins into groups.",
783
+ "summary": "Create a section in a board",
784
+ "icon": "layers",
785
+ "group": "Boards",
786
+ "input_schema": {
787
+ "type": "object",
788
+ "properties": {
789
+ "board_id": {
790
+ "type": "string",
791
+ "description": "Board ID to create the section in"
792
+ },
793
+ "name": {
794
+ "type": "string",
795
+ "description": "Section name"
796
+ }
797
+ },
798
+ "required": [
799
+ "board_id",
800
+ "name"
801
+ ],
802
+ "additionalProperties": false
803
+ },
804
+ "output_schema": {
805
+ "type": "object",
806
+ "properties": {
807
+ "section": {
808
+ "type": "object",
809
+ "properties": {
810
+ "id": {
811
+ "type": "string",
812
+ "description": "Section ID"
813
+ },
814
+ "title": {
815
+ "type": "string",
816
+ "description": "Section title"
817
+ },
818
+ "pin_count": {
819
+ "type": "number",
820
+ "description": "Number of pins in the section"
821
+ },
822
+ "slug": {
823
+ "type": "string",
824
+ "description": "URL slug for the section"
825
+ }
826
+ },
827
+ "required": [
828
+ "id",
829
+ "title",
830
+ "pin_count",
831
+ "slug"
832
+ ],
833
+ "additionalProperties": false,
834
+ "description": "The newly created section"
835
+ }
836
+ },
837
+ "required": [
838
+ "section"
839
+ ],
840
+ "additionalProperties": false
841
+ }
842
+ },
843
+ {
844
+ "name": "delete_board_section",
845
+ "displayName": "Delete Board Section",
846
+ "description": "Delete a section from a board. Pins in the section are moved back to the board. This action cannot be undone.",
847
+ "summary": "Delete a board section",
848
+ "icon": "layers",
849
+ "group": "Boards",
850
+ "input_schema": {
851
+ "type": "object",
852
+ "properties": {
853
+ "section_id": {
854
+ "type": "string",
855
+ "description": "Section ID to delete"
856
+ }
857
+ },
858
+ "required": [
859
+ "section_id"
860
+ ],
861
+ "additionalProperties": false
862
+ },
863
+ "output_schema": {
864
+ "type": "object",
865
+ "properties": {
866
+ "success": {
867
+ "type": "boolean",
868
+ "description": "Whether the operation succeeded"
869
+ }
870
+ },
871
+ "required": [
872
+ "success"
873
+ ],
874
+ "additionalProperties": false
875
+ }
876
+ },
877
+ {
878
+ "name": "search_boards",
879
+ "displayName": "Search Boards",
880
+ "description": "Search for boards on Pinterest by keyword query. Returns matching boards with names, pin counts, and cover images. Supports pagination via bookmark cursor.",
881
+ "summary": "Search for boards by keyword",
882
+ "icon": "search",
883
+ "group": "Boards",
884
+ "input_schema": {
885
+ "type": "object",
886
+ "properties": {
887
+ "query": {
888
+ "type": "string",
889
+ "description": "Search query text"
890
+ },
891
+ "bookmark": {
892
+ "description": "Pagination cursor from a previous response",
893
+ "type": "string"
894
+ },
895
+ "page_size": {
896
+ "description": "Number of results per page (default 25, max 50)",
897
+ "type": "integer",
898
+ "minimum": 1,
899
+ "maximum": 50
900
+ }
901
+ },
902
+ "required": [
903
+ "query"
904
+ ],
905
+ "additionalProperties": false
906
+ },
907
+ "output_schema": {
908
+ "type": "object",
909
+ "properties": {
910
+ "boards": {
911
+ "type": "array",
912
+ "items": {
913
+ "type": "object",
914
+ "properties": {
915
+ "id": {
916
+ "type": "string",
917
+ "description": "Board ID"
918
+ },
919
+ "name": {
920
+ "type": "string",
921
+ "description": "Board name"
922
+ },
923
+ "description": {
924
+ "type": "string",
925
+ "description": "Board description"
926
+ },
927
+ "url": {
928
+ "type": "string",
929
+ "description": "Board URL path"
930
+ },
931
+ "pin_count": {
932
+ "type": "number",
933
+ "description": "Number of pins on the board"
934
+ },
935
+ "follower_count": {
936
+ "type": "number",
937
+ "description": "Number of followers"
938
+ },
939
+ "section_count": {
940
+ "type": "number",
941
+ "description": "Number of sections"
942
+ },
943
+ "privacy": {
944
+ "type": "string",
945
+ "description": "Privacy setting (public or secret)"
946
+ },
947
+ "is_collaborative": {
948
+ "type": "boolean",
949
+ "description": "Whether the board allows collaborators"
950
+ },
951
+ "created_at": {
952
+ "type": "string",
953
+ "description": "Creation date"
954
+ },
955
+ "image_url": {
956
+ "type": "string",
957
+ "description": "Board cover image URL"
958
+ },
959
+ "owner_username": {
960
+ "type": "string",
961
+ "description": "Board owner username"
962
+ }
963
+ },
964
+ "required": [
965
+ "id",
966
+ "name",
967
+ "description",
968
+ "url",
969
+ "pin_count",
970
+ "follower_count",
971
+ "section_count",
972
+ "privacy",
973
+ "is_collaborative",
974
+ "created_at",
975
+ "image_url",
976
+ "owner_username"
977
+ ],
978
+ "additionalProperties": false
979
+ },
980
+ "description": "Matching boards"
981
+ },
982
+ "bookmark": {
983
+ "type": "string",
984
+ "description": "Cursor for next page, empty if no more results"
985
+ }
986
+ },
987
+ "required": [
988
+ "boards",
989
+ "bookmark"
990
+ ],
991
+ "additionalProperties": false
992
+ }
993
+ },
994
+ {
995
+ "name": "get_pin",
996
+ "displayName": "Get Pin",
997
+ "description": "Get detailed information about a specific pin by its ID. Returns title, description, image, link, repin count, comment count, and creator info.",
998
+ "summary": "Get pin details by ID",
999
+ "icon": "image",
1000
+ "group": "Pins",
1001
+ "input_schema": {
1002
+ "type": "object",
1003
+ "properties": {
1004
+ "pin_id": {
1005
+ "type": "string",
1006
+ "description": "Pin ID"
1007
+ }
1008
+ },
1009
+ "required": [
1010
+ "pin_id"
1011
+ ],
1012
+ "additionalProperties": false
1013
+ },
1014
+ "output_schema": {
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "pin": {
1018
+ "type": "object",
1019
+ "properties": {
1020
+ "id": {
1021
+ "type": "string",
1022
+ "description": "Pin ID"
1023
+ },
1024
+ "title": {
1025
+ "type": "string",
1026
+ "description": "Pin title"
1027
+ },
1028
+ "description": {
1029
+ "type": "string",
1030
+ "description": "Pin description"
1031
+ },
1032
+ "link": {
1033
+ "type": "string",
1034
+ "description": "External link URL"
1035
+ },
1036
+ "image_url": {
1037
+ "type": "string",
1038
+ "description": "Pin image URL"
1039
+ },
1040
+ "dominant_color": {
1041
+ "type": "string",
1042
+ "description": "Dominant color hex"
1043
+ },
1044
+ "is_video": {
1045
+ "type": "boolean",
1046
+ "description": "Whether the pin contains a video"
1047
+ },
1048
+ "repin_count": {
1049
+ "type": "number",
1050
+ "description": "Number of saves/repins"
1051
+ },
1052
+ "comment_count": {
1053
+ "type": "number",
1054
+ "description": "Number of comments"
1055
+ },
1056
+ "pinner_username": {
1057
+ "type": "string",
1058
+ "description": "Username of the pin creator"
1059
+ },
1060
+ "board_name": {
1061
+ "type": "string",
1062
+ "description": "Board name the pin belongs to"
1063
+ },
1064
+ "created_at": {
1065
+ "type": "string",
1066
+ "description": "Creation date"
1067
+ }
1068
+ },
1069
+ "required": [
1070
+ "id",
1071
+ "title",
1072
+ "description",
1073
+ "link",
1074
+ "image_url",
1075
+ "dominant_color",
1076
+ "is_video",
1077
+ "repin_count",
1078
+ "comment_count",
1079
+ "pinner_username",
1080
+ "board_name",
1081
+ "created_at"
1082
+ ],
1083
+ "additionalProperties": false,
1084
+ "description": "The pin details"
1085
+ }
1086
+ },
1087
+ "required": [
1088
+ "pin"
1089
+ ],
1090
+ "additionalProperties": false
1091
+ }
1092
+ },
1093
+ {
1094
+ "name": "create_pin",
1095
+ "displayName": "Create Pin",
1096
+ "description": "Create a new pin from an image URL and save it to a board. Requires the board ID, an image URL, and optionally a title, description, and external link.",
1097
+ "summary": "Create a new pin on a board",
1098
+ "icon": "plus",
1099
+ "group": "Pins",
1100
+ "input_schema": {
1101
+ "type": "object",
1102
+ "properties": {
1103
+ "board_id": {
1104
+ "type": "string",
1105
+ "description": "Board ID to save the pin to"
1106
+ },
1107
+ "image_url": {
1108
+ "type": "string",
1109
+ "description": "URL of the image to pin"
1110
+ },
1111
+ "title": {
1112
+ "description": "Pin title",
1113
+ "type": "string"
1114
+ },
1115
+ "description": {
1116
+ "description": "Pin description",
1117
+ "type": "string"
1118
+ },
1119
+ "link": {
1120
+ "description": "External link URL",
1121
+ "type": "string"
1122
+ },
1123
+ "section_id": {
1124
+ "description": "Board section ID to save the pin to",
1125
+ "type": "string"
1126
+ }
1127
+ },
1128
+ "required": [
1129
+ "board_id",
1130
+ "image_url"
1131
+ ],
1132
+ "additionalProperties": false
1133
+ },
1134
+ "output_schema": {
1135
+ "type": "object",
1136
+ "properties": {
1137
+ "pin": {
1138
+ "type": "object",
1139
+ "properties": {
1140
+ "id": {
1141
+ "type": "string",
1142
+ "description": "Pin ID"
1143
+ },
1144
+ "title": {
1145
+ "type": "string",
1146
+ "description": "Pin title"
1147
+ },
1148
+ "description": {
1149
+ "type": "string",
1150
+ "description": "Pin description"
1151
+ },
1152
+ "link": {
1153
+ "type": "string",
1154
+ "description": "External link URL"
1155
+ },
1156
+ "image_url": {
1157
+ "type": "string",
1158
+ "description": "Pin image URL"
1159
+ },
1160
+ "dominant_color": {
1161
+ "type": "string",
1162
+ "description": "Dominant color hex"
1163
+ },
1164
+ "is_video": {
1165
+ "type": "boolean",
1166
+ "description": "Whether the pin contains a video"
1167
+ },
1168
+ "repin_count": {
1169
+ "type": "number",
1170
+ "description": "Number of saves/repins"
1171
+ },
1172
+ "comment_count": {
1173
+ "type": "number",
1174
+ "description": "Number of comments"
1175
+ },
1176
+ "pinner_username": {
1177
+ "type": "string",
1178
+ "description": "Username of the pin creator"
1179
+ },
1180
+ "board_name": {
1181
+ "type": "string",
1182
+ "description": "Board name the pin belongs to"
1183
+ },
1184
+ "created_at": {
1185
+ "type": "string",
1186
+ "description": "Creation date"
1187
+ }
1188
+ },
1189
+ "required": [
1190
+ "id",
1191
+ "title",
1192
+ "description",
1193
+ "link",
1194
+ "image_url",
1195
+ "dominant_color",
1196
+ "is_video",
1197
+ "repin_count",
1198
+ "comment_count",
1199
+ "pinner_username",
1200
+ "board_name",
1201
+ "created_at"
1202
+ ],
1203
+ "additionalProperties": false,
1204
+ "description": "The newly created pin"
1205
+ }
1206
+ },
1207
+ "required": [
1208
+ "pin"
1209
+ ],
1210
+ "additionalProperties": false
1211
+ }
1212
+ },
1213
+ {
1214
+ "name": "save_pin",
1215
+ "displayName": "Save Pin",
1216
+ "description": "Save (repin) an existing pin to one of your boards. This creates a copy of the pin on your board. Optionally specify a board section.",
1217
+ "summary": "Save an existing pin to a board",
1218
+ "icon": "bookmark",
1219
+ "group": "Pins",
1220
+ "input_schema": {
1221
+ "type": "object",
1222
+ "properties": {
1223
+ "pin_id": {
1224
+ "type": "string",
1225
+ "description": "Pin ID to save"
1226
+ },
1227
+ "board_id": {
1228
+ "type": "string",
1229
+ "description": "Board ID to save the pin to"
1230
+ },
1231
+ "section_id": {
1232
+ "description": "Board section ID to save the pin to",
1233
+ "type": "string"
1234
+ }
1235
+ },
1236
+ "required": [
1237
+ "pin_id",
1238
+ "board_id"
1239
+ ],
1240
+ "additionalProperties": false
1241
+ },
1242
+ "output_schema": {
1243
+ "type": "object",
1244
+ "properties": {
1245
+ "pin": {
1246
+ "type": "object",
1247
+ "properties": {
1248
+ "id": {
1249
+ "type": "string",
1250
+ "description": "Pin ID"
1251
+ },
1252
+ "title": {
1253
+ "type": "string",
1254
+ "description": "Pin title"
1255
+ },
1256
+ "description": {
1257
+ "type": "string",
1258
+ "description": "Pin description"
1259
+ },
1260
+ "link": {
1261
+ "type": "string",
1262
+ "description": "External link URL"
1263
+ },
1264
+ "image_url": {
1265
+ "type": "string",
1266
+ "description": "Pin image URL"
1267
+ },
1268
+ "dominant_color": {
1269
+ "type": "string",
1270
+ "description": "Dominant color hex"
1271
+ },
1272
+ "is_video": {
1273
+ "type": "boolean",
1274
+ "description": "Whether the pin contains a video"
1275
+ },
1276
+ "repin_count": {
1277
+ "type": "number",
1278
+ "description": "Number of saves/repins"
1279
+ },
1280
+ "comment_count": {
1281
+ "type": "number",
1282
+ "description": "Number of comments"
1283
+ },
1284
+ "pinner_username": {
1285
+ "type": "string",
1286
+ "description": "Username of the pin creator"
1287
+ },
1288
+ "board_name": {
1289
+ "type": "string",
1290
+ "description": "Board name the pin belongs to"
1291
+ },
1292
+ "created_at": {
1293
+ "type": "string",
1294
+ "description": "Creation date"
1295
+ }
1296
+ },
1297
+ "required": [
1298
+ "id",
1299
+ "title",
1300
+ "description",
1301
+ "link",
1302
+ "image_url",
1303
+ "dominant_color",
1304
+ "is_video",
1305
+ "repin_count",
1306
+ "comment_count",
1307
+ "pinner_username",
1308
+ "board_name",
1309
+ "created_at"
1310
+ ],
1311
+ "additionalProperties": false,
1312
+ "description": "The saved pin"
1313
+ }
1314
+ },
1315
+ "required": [
1316
+ "pin"
1317
+ ],
1318
+ "additionalProperties": false
1319
+ }
1320
+ },
1321
+ {
1322
+ "name": "delete_pin",
1323
+ "displayName": "Delete Pin",
1324
+ "description": "Delete a pin by its ID. Only works for pins you own. This action cannot be undone.",
1325
+ "summary": "Delete a pin",
1326
+ "icon": "trash-2",
1327
+ "group": "Pins",
1328
+ "input_schema": {
1329
+ "type": "object",
1330
+ "properties": {
1331
+ "pin_id": {
1332
+ "type": "string",
1333
+ "description": "Pin ID to delete"
1334
+ }
1335
+ },
1336
+ "required": [
1337
+ "pin_id"
1338
+ ],
1339
+ "additionalProperties": false
1340
+ },
1341
+ "output_schema": {
1342
+ "type": "object",
1343
+ "properties": {
1344
+ "success": {
1345
+ "type": "boolean",
1346
+ "description": "Whether the operation succeeded"
1347
+ }
1348
+ },
1349
+ "required": [
1350
+ "success"
1351
+ ],
1352
+ "additionalProperties": false
1353
+ }
1354
+ },
1355
+ {
1356
+ "name": "get_home_feed",
1357
+ "displayName": "Get Home Feed",
1358
+ "description": "Get the personalized home feed of pins for the authenticated user. Returns recommended pins based on interests and activity. Supports pagination via bookmark cursor.",
1359
+ "summary": "Get the personalized home feed",
1360
+ "icon": "home",
1361
+ "group": "Pins",
1362
+ "input_schema": {
1363
+ "type": "object",
1364
+ "properties": {
1365
+ "bookmark": {
1366
+ "description": "Pagination cursor from a previous response",
1367
+ "type": "string"
1368
+ }
1369
+ },
1370
+ "additionalProperties": false
1371
+ },
1372
+ "output_schema": {
1373
+ "type": "object",
1374
+ "properties": {
1375
+ "pins": {
1376
+ "type": "array",
1377
+ "items": {
1378
+ "type": "object",
1379
+ "properties": {
1380
+ "id": {
1381
+ "type": "string",
1382
+ "description": "Pin ID"
1383
+ },
1384
+ "title": {
1385
+ "type": "string",
1386
+ "description": "Pin title"
1387
+ },
1388
+ "description": {
1389
+ "type": "string",
1390
+ "description": "Pin description"
1391
+ },
1392
+ "link": {
1393
+ "type": "string",
1394
+ "description": "External link URL"
1395
+ },
1396
+ "image_url": {
1397
+ "type": "string",
1398
+ "description": "Pin image URL"
1399
+ },
1400
+ "dominant_color": {
1401
+ "type": "string",
1402
+ "description": "Dominant color hex"
1403
+ },
1404
+ "is_video": {
1405
+ "type": "boolean",
1406
+ "description": "Whether the pin contains a video"
1407
+ },
1408
+ "repin_count": {
1409
+ "type": "number",
1410
+ "description": "Number of saves/repins"
1411
+ },
1412
+ "comment_count": {
1413
+ "type": "number",
1414
+ "description": "Number of comments"
1415
+ },
1416
+ "pinner_username": {
1417
+ "type": "string",
1418
+ "description": "Username of the pin creator"
1419
+ },
1420
+ "board_name": {
1421
+ "type": "string",
1422
+ "description": "Board name the pin belongs to"
1423
+ },
1424
+ "created_at": {
1425
+ "type": "string",
1426
+ "description": "Creation date"
1427
+ }
1428
+ },
1429
+ "required": [
1430
+ "id",
1431
+ "title",
1432
+ "description",
1433
+ "link",
1434
+ "image_url",
1435
+ "dominant_color",
1436
+ "is_video",
1437
+ "repin_count",
1438
+ "comment_count",
1439
+ "pinner_username",
1440
+ "board_name",
1441
+ "created_at"
1442
+ ],
1443
+ "additionalProperties": false
1444
+ },
1445
+ "description": "Home feed pins"
1446
+ },
1447
+ "bookmark": {
1448
+ "type": "string",
1449
+ "description": "Cursor for next page, empty if no more results"
1450
+ }
1451
+ },
1452
+ "required": [
1453
+ "pins",
1454
+ "bookmark"
1455
+ ],
1456
+ "additionalProperties": false
1457
+ }
1458
+ },
1459
+ {
1460
+ "name": "get_related_pins",
1461
+ "displayName": "Get Related Pins",
1462
+ "description": "Get pins related to a specific pin. Useful for discovering similar content and recommendations. Supports pagination via bookmark cursor.",
1463
+ "summary": "Get pins related to a specific pin",
1464
+ "icon": "sparkles",
1465
+ "group": "Pins",
1466
+ "input_schema": {
1467
+ "type": "object",
1468
+ "properties": {
1469
+ "pin_id": {
1470
+ "type": "string",
1471
+ "description": "Pin ID to find related pins for"
1472
+ },
1473
+ "page_size": {
1474
+ "description": "Number of results (default 25, max 50)",
1475
+ "type": "integer",
1476
+ "minimum": 1,
1477
+ "maximum": 50
1478
+ },
1479
+ "bookmark": {
1480
+ "description": "Pagination cursor from a previous response",
1481
+ "type": "string"
1482
+ }
1483
+ },
1484
+ "required": [
1485
+ "pin_id"
1486
+ ],
1487
+ "additionalProperties": false
1488
+ },
1489
+ "output_schema": {
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "pins": {
1493
+ "type": "array",
1494
+ "items": {
1495
+ "type": "object",
1496
+ "properties": {
1497
+ "id": {
1498
+ "type": "string",
1499
+ "description": "Pin ID"
1500
+ },
1501
+ "title": {
1502
+ "type": "string",
1503
+ "description": "Pin title"
1504
+ },
1505
+ "description": {
1506
+ "type": "string",
1507
+ "description": "Pin description"
1508
+ },
1509
+ "link": {
1510
+ "type": "string",
1511
+ "description": "External link URL"
1512
+ },
1513
+ "image_url": {
1514
+ "type": "string",
1515
+ "description": "Pin image URL"
1516
+ },
1517
+ "dominant_color": {
1518
+ "type": "string",
1519
+ "description": "Dominant color hex"
1520
+ },
1521
+ "is_video": {
1522
+ "type": "boolean",
1523
+ "description": "Whether the pin contains a video"
1524
+ },
1525
+ "repin_count": {
1526
+ "type": "number",
1527
+ "description": "Number of saves/repins"
1528
+ },
1529
+ "comment_count": {
1530
+ "type": "number",
1531
+ "description": "Number of comments"
1532
+ },
1533
+ "pinner_username": {
1534
+ "type": "string",
1535
+ "description": "Username of the pin creator"
1536
+ },
1537
+ "board_name": {
1538
+ "type": "string",
1539
+ "description": "Board name the pin belongs to"
1540
+ },
1541
+ "created_at": {
1542
+ "type": "string",
1543
+ "description": "Creation date"
1544
+ }
1545
+ },
1546
+ "required": [
1547
+ "id",
1548
+ "title",
1549
+ "description",
1550
+ "link",
1551
+ "image_url",
1552
+ "dominant_color",
1553
+ "is_video",
1554
+ "repin_count",
1555
+ "comment_count",
1556
+ "pinner_username",
1557
+ "board_name",
1558
+ "created_at"
1559
+ ],
1560
+ "additionalProperties": false
1561
+ },
1562
+ "description": "Related pins"
1563
+ },
1564
+ "bookmark": {
1565
+ "type": "string",
1566
+ "description": "Cursor for next page, empty if no more results"
1567
+ }
1568
+ },
1569
+ "required": [
1570
+ "pins",
1571
+ "bookmark"
1572
+ ],
1573
+ "additionalProperties": false
1574
+ }
1575
+ },
1576
+ {
1577
+ "name": "search_pins",
1578
+ "displayName": "Search Pins",
1579
+ "description": "Search for pins on Pinterest by keyword query. Returns matching pins with images, descriptions, and links. Supports pagination via bookmark cursor.",
1580
+ "summary": "Search for pins by keyword",
1581
+ "icon": "search",
1582
+ "group": "Pins",
1583
+ "input_schema": {
1584
+ "type": "object",
1585
+ "properties": {
1586
+ "query": {
1587
+ "type": "string",
1588
+ "description": "Search query text"
1589
+ },
1590
+ "bookmark": {
1591
+ "description": "Pagination cursor from a previous response",
1592
+ "type": "string"
1593
+ },
1594
+ "page_size": {
1595
+ "description": "Number of results per page (default 25, max 50)",
1596
+ "type": "integer",
1597
+ "minimum": 1,
1598
+ "maximum": 50
1599
+ }
1600
+ },
1601
+ "required": [
1602
+ "query"
1603
+ ],
1604
+ "additionalProperties": false
1605
+ },
1606
+ "output_schema": {
1607
+ "type": "object",
1608
+ "properties": {
1609
+ "pins": {
1610
+ "type": "array",
1611
+ "items": {
1612
+ "type": "object",
1613
+ "properties": {
1614
+ "id": {
1615
+ "type": "string",
1616
+ "description": "Pin ID"
1617
+ },
1618
+ "title": {
1619
+ "type": "string",
1620
+ "description": "Pin title"
1621
+ },
1622
+ "description": {
1623
+ "type": "string",
1624
+ "description": "Pin description"
1625
+ },
1626
+ "link": {
1627
+ "type": "string",
1628
+ "description": "External link URL"
1629
+ },
1630
+ "image_url": {
1631
+ "type": "string",
1632
+ "description": "Pin image URL"
1633
+ },
1634
+ "dominant_color": {
1635
+ "type": "string",
1636
+ "description": "Dominant color hex"
1637
+ },
1638
+ "is_video": {
1639
+ "type": "boolean",
1640
+ "description": "Whether the pin contains a video"
1641
+ },
1642
+ "repin_count": {
1643
+ "type": "number",
1644
+ "description": "Number of saves/repins"
1645
+ },
1646
+ "comment_count": {
1647
+ "type": "number",
1648
+ "description": "Number of comments"
1649
+ },
1650
+ "pinner_username": {
1651
+ "type": "string",
1652
+ "description": "Username of the pin creator"
1653
+ },
1654
+ "board_name": {
1655
+ "type": "string",
1656
+ "description": "Board name the pin belongs to"
1657
+ },
1658
+ "created_at": {
1659
+ "type": "string",
1660
+ "description": "Creation date"
1661
+ }
1662
+ },
1663
+ "required": [
1664
+ "id",
1665
+ "title",
1666
+ "description",
1667
+ "link",
1668
+ "image_url",
1669
+ "dominant_color",
1670
+ "is_video",
1671
+ "repin_count",
1672
+ "comment_count",
1673
+ "pinner_username",
1674
+ "board_name",
1675
+ "created_at"
1676
+ ],
1677
+ "additionalProperties": false
1678
+ },
1679
+ "description": "Matching pins"
1680
+ },
1681
+ "bookmark": {
1682
+ "type": "string",
1683
+ "description": "Cursor for next page, empty if no more results"
1684
+ }
1685
+ },
1686
+ "required": [
1687
+ "pins",
1688
+ "bookmark"
1689
+ ],
1690
+ "additionalProperties": false
1691
+ }
1692
+ },
1693
+ {
1694
+ "name": "get_user_pins",
1695
+ "displayName": "Get User Pins",
1696
+ "description": "Get pins created by a specific user. Supports pagination via bookmark cursor.",
1697
+ "summary": "Get pins created by a user",
1698
+ "icon": "grid-2x2",
1699
+ "group": "Pins",
1700
+ "input_schema": {
1701
+ "type": "object",
1702
+ "properties": {
1703
+ "username": {
1704
+ "type": "string",
1705
+ "description": "Pinterest username"
1706
+ },
1707
+ "page_size": {
1708
+ "description": "Number of pins per page (default 25, max 50)",
1709
+ "type": "integer",
1710
+ "minimum": 1,
1711
+ "maximum": 50
1712
+ },
1713
+ "bookmark": {
1714
+ "description": "Pagination cursor from a previous response",
1715
+ "type": "string"
1716
+ }
1717
+ },
1718
+ "required": [
1719
+ "username"
1720
+ ],
1721
+ "additionalProperties": false
1722
+ },
1723
+ "output_schema": {
1724
+ "type": "object",
1725
+ "properties": {
1726
+ "pins": {
1727
+ "type": "array",
1728
+ "items": {
1729
+ "type": "object",
1730
+ "properties": {
1731
+ "id": {
1732
+ "type": "string",
1733
+ "description": "Pin ID"
1734
+ },
1735
+ "title": {
1736
+ "type": "string",
1737
+ "description": "Pin title"
1738
+ },
1739
+ "description": {
1740
+ "type": "string",
1741
+ "description": "Pin description"
1742
+ },
1743
+ "link": {
1744
+ "type": "string",
1745
+ "description": "External link URL"
1746
+ },
1747
+ "image_url": {
1748
+ "type": "string",
1749
+ "description": "Pin image URL"
1750
+ },
1751
+ "dominant_color": {
1752
+ "type": "string",
1753
+ "description": "Dominant color hex"
1754
+ },
1755
+ "is_video": {
1756
+ "type": "boolean",
1757
+ "description": "Whether the pin contains a video"
1758
+ },
1759
+ "repin_count": {
1760
+ "type": "number",
1761
+ "description": "Number of saves/repins"
1762
+ },
1763
+ "comment_count": {
1764
+ "type": "number",
1765
+ "description": "Number of comments"
1766
+ },
1767
+ "pinner_username": {
1768
+ "type": "string",
1769
+ "description": "Username of the pin creator"
1770
+ },
1771
+ "board_name": {
1772
+ "type": "string",
1773
+ "description": "Board name the pin belongs to"
1774
+ },
1775
+ "created_at": {
1776
+ "type": "string",
1777
+ "description": "Creation date"
1778
+ }
1779
+ },
1780
+ "required": [
1781
+ "id",
1782
+ "title",
1783
+ "description",
1784
+ "link",
1785
+ "image_url",
1786
+ "dominant_color",
1787
+ "is_video",
1788
+ "repin_count",
1789
+ "comment_count",
1790
+ "pinner_username",
1791
+ "board_name",
1792
+ "created_at"
1793
+ ],
1794
+ "additionalProperties": false
1795
+ },
1796
+ "description": "User pins"
1797
+ },
1798
+ "bookmark": {
1799
+ "type": "string",
1800
+ "description": "Cursor for next page, empty if no more results"
1801
+ }
1802
+ },
1803
+ "required": [
1804
+ "pins",
1805
+ "bookmark"
1806
+ ],
1807
+ "additionalProperties": false
1808
+ }
1809
+ },
1810
+ {
1811
+ "name": "follow_user",
1812
+ "displayName": "Follow User",
1813
+ "description": "Follow a Pinterest user by their user ID. Use get_user_profile to find the user ID from a username.",
1814
+ "summary": "Follow a Pinterest user",
1815
+ "icon": "user-plus",
1816
+ "group": "Social",
1817
+ "input_schema": {
1818
+ "type": "object",
1819
+ "properties": {
1820
+ "user_id": {
1821
+ "type": "string",
1822
+ "description": "User ID to follow"
1823
+ }
1824
+ },
1825
+ "required": [
1826
+ "user_id"
1827
+ ],
1828
+ "additionalProperties": false
1829
+ },
1830
+ "output_schema": {
1831
+ "type": "object",
1832
+ "properties": {
1833
+ "user": {
1834
+ "type": "object",
1835
+ "properties": {
1836
+ "id": {
1837
+ "type": "string",
1838
+ "description": "User ID"
1839
+ },
1840
+ "username": {
1841
+ "type": "string",
1842
+ "description": "Username"
1843
+ },
1844
+ "full_name": {
1845
+ "type": "string",
1846
+ "description": "Display name"
1847
+ },
1848
+ "image_url": {
1849
+ "type": "string",
1850
+ "description": "Profile image URL"
1851
+ },
1852
+ "follower_count": {
1853
+ "type": "number",
1854
+ "description": "Number of followers"
1855
+ },
1856
+ "following_count": {
1857
+ "type": "number",
1858
+ "description": "Number of users being followed"
1859
+ },
1860
+ "pin_count": {
1861
+ "type": "number",
1862
+ "description": "Total pin count"
1863
+ },
1864
+ "board_count": {
1865
+ "type": "number",
1866
+ "description": "Total board count"
1867
+ },
1868
+ "is_partner": {
1869
+ "type": "boolean",
1870
+ "description": "Whether the user is a verified partner"
1871
+ }
1872
+ },
1873
+ "required": [
1874
+ "id",
1875
+ "username",
1876
+ "full_name",
1877
+ "image_url",
1878
+ "follower_count",
1879
+ "following_count",
1880
+ "pin_count",
1881
+ "board_count",
1882
+ "is_partner"
1883
+ ],
1884
+ "additionalProperties": false,
1885
+ "description": "The followed user"
1886
+ }
1887
+ },
1888
+ "required": [
1889
+ "user"
1890
+ ],
1891
+ "additionalProperties": false
1892
+ }
1893
+ },
1894
+ {
1895
+ "name": "unfollow_user",
1896
+ "displayName": "Unfollow User",
1897
+ "description": "Unfollow a Pinterest user by their user ID.",
1898
+ "summary": "Unfollow a Pinterest user",
1899
+ "icon": "user-minus",
1900
+ "group": "Social",
1901
+ "input_schema": {
1902
+ "type": "object",
1903
+ "properties": {
1904
+ "user_id": {
1905
+ "type": "string",
1906
+ "description": "User ID to unfollow"
1907
+ }
1908
+ },
1909
+ "required": [
1910
+ "user_id"
1911
+ ],
1912
+ "additionalProperties": false
1913
+ },
1914
+ "output_schema": {
1915
+ "type": "object",
1916
+ "properties": {
1917
+ "success": {
1918
+ "type": "boolean",
1919
+ "description": "Whether the operation succeeded"
1920
+ }
1921
+ },
1922
+ "required": [
1923
+ "success"
1924
+ ],
1925
+ "additionalProperties": false
1926
+ }
1927
+ },
1928
+ {
1929
+ "name": "list_followers",
1930
+ "displayName": "List Followers",
1931
+ "description": "List followers of a Pinterest user by username. Supports pagination via bookmark cursor.",
1932
+ "summary": "List followers of a user",
1933
+ "icon": "users",
1934
+ "group": "Social",
1935
+ "input_schema": {
1936
+ "type": "object",
1937
+ "properties": {
1938
+ "username": {
1939
+ "type": "string",
1940
+ "description": "Pinterest username"
1941
+ },
1942
+ "page_size": {
1943
+ "description": "Number of followers per page (default 25, max 50)",
1944
+ "type": "integer",
1945
+ "minimum": 1,
1946
+ "maximum": 50
1947
+ },
1948
+ "bookmark": {
1949
+ "description": "Pagination cursor from a previous response",
1950
+ "type": "string"
1951
+ }
1952
+ },
1953
+ "required": [
1954
+ "username"
1955
+ ],
1956
+ "additionalProperties": false
1957
+ },
1958
+ "output_schema": {
1959
+ "type": "object",
1960
+ "properties": {
1961
+ "users": {
1962
+ "type": "array",
1963
+ "items": {
1964
+ "type": "object",
1965
+ "properties": {
1966
+ "id": {
1967
+ "type": "string",
1968
+ "description": "User ID"
1969
+ },
1970
+ "username": {
1971
+ "type": "string",
1972
+ "description": "Username"
1973
+ },
1974
+ "full_name": {
1975
+ "type": "string",
1976
+ "description": "Display name"
1977
+ },
1978
+ "image_url": {
1979
+ "type": "string",
1980
+ "description": "Profile image URL"
1981
+ },
1982
+ "follower_count": {
1983
+ "type": "number",
1984
+ "description": "Number of followers"
1985
+ },
1986
+ "following_count": {
1987
+ "type": "number",
1988
+ "description": "Number of users being followed"
1989
+ },
1990
+ "pin_count": {
1991
+ "type": "number",
1992
+ "description": "Total pin count"
1993
+ },
1994
+ "board_count": {
1995
+ "type": "number",
1996
+ "description": "Total board count"
1997
+ },
1998
+ "is_partner": {
1999
+ "type": "boolean",
2000
+ "description": "Whether the user is a verified partner"
2001
+ }
2002
+ },
2003
+ "required": [
2004
+ "id",
2005
+ "username",
2006
+ "full_name",
2007
+ "image_url",
2008
+ "follower_count",
2009
+ "following_count",
2010
+ "pin_count",
2011
+ "board_count",
2012
+ "is_partner"
2013
+ ],
2014
+ "additionalProperties": false
2015
+ },
2016
+ "description": "Follower users"
2017
+ },
2018
+ "bookmark": {
2019
+ "type": "string",
2020
+ "description": "Cursor for next page, empty if no more results"
2021
+ }
2022
+ },
2023
+ "required": [
2024
+ "users",
2025
+ "bookmark"
2026
+ ],
2027
+ "additionalProperties": false
2028
+ }
2029
+ },
2030
+ {
2031
+ "name": "list_following",
2032
+ "displayName": "List Following",
2033
+ "description": "List users that a Pinterest user is following, by username. Supports pagination via bookmark cursor.",
2034
+ "summary": "List users a user is following",
2035
+ "icon": "users",
2036
+ "group": "Social",
2037
+ "input_schema": {
2038
+ "type": "object",
2039
+ "properties": {
2040
+ "username": {
2041
+ "type": "string",
2042
+ "description": "Pinterest username"
2043
+ },
2044
+ "page_size": {
2045
+ "description": "Number of results per page (default 25, max 50)",
2046
+ "type": "integer",
2047
+ "minimum": 1,
2048
+ "maximum": 50
2049
+ },
2050
+ "bookmark": {
2051
+ "description": "Pagination cursor from a previous response",
2052
+ "type": "string"
2053
+ }
2054
+ },
2055
+ "required": [
2056
+ "username"
2057
+ ],
2058
+ "additionalProperties": false
2059
+ },
2060
+ "output_schema": {
2061
+ "type": "object",
2062
+ "properties": {
2063
+ "users": {
2064
+ "type": "array",
2065
+ "items": {
2066
+ "type": "object",
2067
+ "properties": {
2068
+ "id": {
2069
+ "type": "string",
2070
+ "description": "User ID"
2071
+ },
2072
+ "username": {
2073
+ "type": "string",
2074
+ "description": "Username"
2075
+ },
2076
+ "full_name": {
2077
+ "type": "string",
2078
+ "description": "Display name"
2079
+ },
2080
+ "image_url": {
2081
+ "type": "string",
2082
+ "description": "Profile image URL"
2083
+ },
2084
+ "follower_count": {
2085
+ "type": "number",
2086
+ "description": "Number of followers"
2087
+ },
2088
+ "following_count": {
2089
+ "type": "number",
2090
+ "description": "Number of users being followed"
2091
+ },
2092
+ "pin_count": {
2093
+ "type": "number",
2094
+ "description": "Total pin count"
2095
+ },
2096
+ "board_count": {
2097
+ "type": "number",
2098
+ "description": "Total board count"
2099
+ },
2100
+ "is_partner": {
2101
+ "type": "boolean",
2102
+ "description": "Whether the user is a verified partner"
2103
+ }
2104
+ },
2105
+ "required": [
2106
+ "id",
2107
+ "username",
2108
+ "full_name",
2109
+ "image_url",
2110
+ "follower_count",
2111
+ "following_count",
2112
+ "pin_count",
2113
+ "board_count",
2114
+ "is_partner"
2115
+ ],
2116
+ "additionalProperties": false
2117
+ },
2118
+ "description": "Users being followed"
2119
+ },
2120
+ "bookmark": {
2121
+ "type": "string",
2122
+ "description": "Cursor for next page, empty if no more results"
2123
+ }
2124
+ },
2125
+ "required": [
2126
+ "users",
2127
+ "bookmark"
2128
+ ],
2129
+ "additionalProperties": false
2130
+ }
2131
+ }
2132
+ ]
2133
+ }