adoptai-mcp 1.0.0

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 (174) hide show
  1. package/README.md +70 -0
  2. package/bin/adoptai-mcp.js +2 -0
  3. package/dist/apps/canva.js +1 -0
  4. package/dist/apps/figma.js +1 -0
  5. package/dist/apps/github.js +2 -0
  6. package/dist/apps/notion.js +1 -0
  7. package/dist/apps/registry.js +20 -0
  8. package/dist/apps/salesforce.js +1 -0
  9. package/dist/cli/add.js +532 -0
  10. package/dist/cli/index.js +39 -0
  11. package/dist/cli/list.js +19 -0
  12. package/dist/cli/remove.js +37 -0
  13. package/dist/cli/serve.js +27 -0
  14. package/dist/cli/status.js +24 -0
  15. package/dist/config/clients.js +118 -0
  16. package/dist/config/credentials.js +34 -0
  17. package/dist/core/auth-manager.js +237 -0
  18. package/dist/core/config-writer.js +161 -0
  19. package/dist/core/doctor.js +199 -0
  20. package/dist/core/package.json +3 -0
  21. package/dist/core/server-base.js +81 -0
  22. package/dist/integrations/canva/.env +3 -0
  23. package/dist/integrations/canva/auth.js +287 -0
  24. package/dist/integrations/canva/env.js +9 -0
  25. package/dist/integrations/canva/index.js +12 -0
  26. package/dist/integrations/canva/package.json +31 -0
  27. package/dist/integrations/canva/publish-to-adoptai.js +365 -0
  28. package/dist/integrations/canva/setup.js +90 -0
  29. package/dist/integrations/canva/tools.js +1315 -0
  30. package/dist/integrations/canva/tools.original.js +1315 -0
  31. package/dist/integrations/figma/auth.js +48 -0
  32. package/dist/integrations/figma/index.js +11 -0
  33. package/dist/integrations/figma/package.json +27 -0
  34. package/dist/integrations/figma/publish-to-adoptai.js +384 -0
  35. package/dist/integrations/figma/setup.js +90 -0
  36. package/dist/integrations/figma/tools.js +1137 -0
  37. package/dist/integrations/github/auth.js +53 -0
  38. package/dist/integrations/github/index.js +11 -0
  39. package/dist/integrations/github/package.json +28 -0
  40. package/dist/integrations/github/publish-to-adoptai.js +240 -0
  41. package/dist/integrations/github/setup.js +103 -0
  42. package/dist/integrations/github/tools.js +78 -0
  43. package/dist/integrations/github-actions/auth.js +53 -0
  44. package/dist/integrations/github-actions/index.js +11 -0
  45. package/dist/integrations/github-actions/package.json +27 -0
  46. package/dist/integrations/github-actions/setup.js +103 -0
  47. package/dist/integrations/github-actions/tools.js +5642 -0
  48. package/dist/integrations/github-activity/auth.js +53 -0
  49. package/dist/integrations/github-activity/index.js +11 -0
  50. package/dist/integrations/github-activity/package.json +27 -0
  51. package/dist/integrations/github-activity/setup.js +103 -0
  52. package/dist/integrations/github-activity/tools.js +925 -0
  53. package/dist/integrations/github-apps/auth.js +53 -0
  54. package/dist/integrations/github-apps/index.js +11 -0
  55. package/dist/integrations/github-apps/package.json +27 -0
  56. package/dist/integrations/github-apps/setup.js +103 -0
  57. package/dist/integrations/github-apps/tools.js +791 -0
  58. package/dist/integrations/github-billing/auth.js +53 -0
  59. package/dist/integrations/github-billing/index.js +11 -0
  60. package/dist/integrations/github-billing/package.json +27 -0
  61. package/dist/integrations/github-billing/setup.js +103 -0
  62. package/dist/integrations/github-billing/tools.js +438 -0
  63. package/dist/integrations/github-checks/auth.js +53 -0
  64. package/dist/integrations/github-checks/index.js +11 -0
  65. package/dist/integrations/github-checks/package.json +27 -0
  66. package/dist/integrations/github-checks/setup.js +103 -0
  67. package/dist/integrations/github-checks/tools.js +607 -0
  68. package/dist/integrations/github-code-scanning/auth.js +53 -0
  69. package/dist/integrations/github-code-scanning/index.js +11 -0
  70. package/dist/integrations/github-code-scanning/package.json +27 -0
  71. package/dist/integrations/github-code-scanning/setup.js +103 -0
  72. package/dist/integrations/github-code-scanning/tools.js +987 -0
  73. package/dist/integrations/github-dependabot/auth.js +53 -0
  74. package/dist/integrations/github-dependabot/index.js +11 -0
  75. package/dist/integrations/github-dependabot/package.json +27 -0
  76. package/dist/integrations/github-dependabot/setup.js +103 -0
  77. package/dist/integrations/github-dependabot/tools.js +915 -0
  78. package/dist/integrations/github-gists/auth.js +53 -0
  79. package/dist/integrations/github-gists/index.js +11 -0
  80. package/dist/integrations/github-gists/package.json +27 -0
  81. package/dist/integrations/github-gists/setup.js +103 -0
  82. package/dist/integrations/github-gists/tools.js +545 -0
  83. package/dist/integrations/github-git/auth.js +53 -0
  84. package/dist/integrations/github-git/index.js +11 -0
  85. package/dist/integrations/github-git/package.json +27 -0
  86. package/dist/integrations/github-git/setup.js +103 -0
  87. package/dist/integrations/github-git/tools.js +513 -0
  88. package/dist/integrations/github-issues/auth.js +53 -0
  89. package/dist/integrations/github-issues/index.js +11 -0
  90. package/dist/integrations/github-issues/package.json +27 -0
  91. package/dist/integrations/github-issues/setup.js +103 -0
  92. package/dist/integrations/github-issues/tools.js +2232 -0
  93. package/dist/integrations/github-orgs/auth.js +53 -0
  94. package/dist/integrations/github-orgs/index.js +11 -0
  95. package/dist/integrations/github-orgs/package.json +27 -0
  96. package/dist/integrations/github-orgs/setup.js +103 -0
  97. package/dist/integrations/github-orgs/tools.js +3512 -0
  98. package/dist/integrations/github-packages/auth.js +53 -0
  99. package/dist/integrations/github-packages/index.js +11 -0
  100. package/dist/integrations/github-packages/package.json +27 -0
  101. package/dist/integrations/github-packages/setup.js +103 -0
  102. package/dist/integrations/github-packages/tools.js +1088 -0
  103. package/dist/integrations/github-pulls/auth.js +53 -0
  104. package/dist/integrations/github-pulls/index.js +11 -0
  105. package/dist/integrations/github-pulls/package.json +27 -0
  106. package/dist/integrations/github-pulls/setup.js +103 -0
  107. package/dist/integrations/github-pulls/tools.js +1252 -0
  108. package/dist/integrations/github-reactions/auth.js +53 -0
  109. package/dist/integrations/github-reactions/index.js +11 -0
  110. package/dist/integrations/github-reactions/package.json +27 -0
  111. package/dist/integrations/github-reactions/setup.js +103 -0
  112. package/dist/integrations/github-reactions/tools.js +706 -0
  113. package/dist/integrations/github-repos/auth.js +53 -0
  114. package/dist/integrations/github-repos/index.js +11 -0
  115. package/dist/integrations/github-repos/package.json +27 -0
  116. package/dist/integrations/github-repos/setup.js +103 -0
  117. package/dist/integrations/github-repos/tools.js +7286 -0
  118. package/dist/integrations/github-search/auth.js +53 -0
  119. package/dist/integrations/github-search/index.js +11 -0
  120. package/dist/integrations/github-search/package.json +27 -0
  121. package/dist/integrations/github-search/setup.js +103 -0
  122. package/dist/integrations/github-search/tools.js +370 -0
  123. package/dist/integrations/github-teams/auth.js +53 -0
  124. package/dist/integrations/github-teams/index.js +11 -0
  125. package/dist/integrations/github-teams/package.json +27 -0
  126. package/dist/integrations/github-teams/setup.js +103 -0
  127. package/dist/integrations/github-teams/tools.js +633 -0
  128. package/dist/integrations/github-users/auth.js +53 -0
  129. package/dist/integrations/github-users/index.js +11 -0
  130. package/dist/integrations/github-users/package.json +27 -0
  131. package/dist/integrations/github-users/setup.js +103 -0
  132. package/dist/integrations/github-users/tools.js +1118 -0
  133. package/dist/integrations/notion/api.js +108 -0
  134. package/dist/integrations/notion/auth.js +59 -0
  135. package/dist/integrations/notion/endpoints.json +630 -0
  136. package/dist/integrations/notion/index.js +11 -0
  137. package/dist/integrations/notion/package.json +33 -0
  138. package/dist/integrations/notion/publish-to-adoptai.js +271 -0
  139. package/dist/integrations/notion/scripts/generate-endpoints.mjs +306 -0
  140. package/dist/integrations/notion/setup.js +89 -0
  141. package/dist/integrations/notion/tools.js +586 -0
  142. package/dist/integrations/notion/tools.original.js +568 -0
  143. package/dist/integrations/salesforce/.env +8 -0
  144. package/dist/integrations/salesforce/.env.example +15 -0
  145. package/dist/integrations/salesforce/auth.js +311 -0
  146. package/dist/integrations/salesforce/endpoints.json +1359 -0
  147. package/dist/integrations/salesforce/env.js +9 -0
  148. package/dist/integrations/salesforce/index.js +12 -0
  149. package/dist/integrations/salesforce/package.json +42 -0
  150. package/dist/integrations/salesforce/publish-smart-specs.js +890 -0
  151. package/dist/integrations/salesforce/publish-to-adoptai.js +386 -0
  152. package/dist/integrations/salesforce/scripts/extract-postman.mjs +222 -0
  153. package/dist/integrations/salesforce/setup.js +112 -0
  154. package/dist/integrations/salesforce/tools.js +4544 -0
  155. package/dist/integrations/salesforce/tools.original.js +4487 -0
  156. package/dist/server/mcp-server.js +50 -0
  157. package/dist/server/tool-loader.js +47 -0
  158. package/dist/specs/figma-api.json +13621 -0
  159. package/dist/specs/split/salesforce-auth.json +3931 -0
  160. package/dist/specs/split/salesforce-bulk-v1.json +1489 -0
  161. package/dist/specs/split/salesforce-bulk-v2.json +1951 -0
  162. package/dist/specs/split/salesforce-composite.json +1246 -0
  163. package/dist/specs/split/salesforce-connect.json +11639 -0
  164. package/dist/specs/split/salesforce-einstein-prediction-service.json +576 -0
  165. package/dist/specs/split/salesforce-event-platform.json +2682 -0
  166. package/dist/specs/split/salesforce-graphql.json +1754 -0
  167. package/dist/specs/split/salesforce-industries.json +4115 -0
  168. package/dist/specs/split/salesforce-metadata.json +555 -0
  169. package/dist/specs/split/salesforce-rest.json +4798 -0
  170. package/dist/specs/split/salesforce-soap.json +210 -0
  171. package/dist/specs/split/salesforce-subscription-management.json +1299 -0
  172. package/dist/specs/split/salesforce-tooling.json +2026 -0
  173. package/dist/specs/split/salesforce-ui.json +7426 -0
  174. package/package.json +47 -0
@@ -0,0 +1,630 @@
1
+ {
2
+ "baseUrl": "https://api.notion.com",
3
+ "generatedAt": "2026-03-26T15:05:58.488Z",
4
+ "sources": [
5
+ "specs/notion/Notion API (2025-09-03).postman_collection.json",
6
+ "specs/notion/Notion API.postman_collection.json"
7
+ ],
8
+ "endpoints": [
9
+ {
10
+ "name": "get_blocks_by_block_id",
11
+ "description": "Retrieves a Block object using the ID specified.",
12
+ "method": "GET",
13
+ "path": "/v1/blocks/{block_id}",
14
+ "inputSchema": {
15
+ "type": "object",
16
+ "properties": {
17
+ "block_id": {
18
+ "type": "string",
19
+ "description": "The block_id"
20
+ }
21
+ },
22
+ "required": [
23
+ "block_id"
24
+ ]
25
+ }
26
+ },
27
+ {
28
+ "name": "get_blocks_by_block_id_children",
29
+ "description": "Returns a paginated array of child block objects contained in the block.",
30
+ "method": "GET",
31
+ "path": "/v1/blocks/{block_id}/children",
32
+ "inputSchema": {
33
+ "type": "object",
34
+ "properties": {
35
+ "block_id": {
36
+ "type": "string",
37
+ "description": "The block_id"
38
+ }
39
+ },
40
+ "required": [
41
+ "block_id"
42
+ ]
43
+ }
44
+ },
45
+ {
46
+ "name": "get_comments",
47
+ "description": "Retrieves a list of comments from the specified block or page.",
48
+ "method": "GET",
49
+ "path": "/v1/comments",
50
+ "inputSchema": {
51
+ "type": "object",
52
+ "properties": {
53
+ "block_id": {
54
+ "type": "string",
55
+ "description": "The block_id parameter"
56
+ },
57
+ "page_id": {
58
+ "type": "string",
59
+ "description": "List comments for this page (use block_id or page_id per Notion API)."
60
+ },
61
+ "start_cursor": {
62
+ "type": "string",
63
+ "description": "Pagination cursor from the previous response."
64
+ },
65
+ "page_size": {
66
+ "type": "number",
67
+ "description": "Max number of results (Notion default applies if omitted)."
68
+ }
69
+ },
70
+ "required": []
71
+ }
72
+ },
73
+ {
74
+ "name": "get_comments_by_comment_id",
75
+ "description": "Retrieves a Comment object using the ID specified.",
76
+ "method": "GET",
77
+ "path": "/v1/comments/{comment_id}",
78
+ "inputSchema": {
79
+ "type": "object",
80
+ "properties": {
81
+ "comment_id": {
82
+ "type": "string",
83
+ "description": "The comment_id"
84
+ }
85
+ },
86
+ "required": [
87
+ "comment_id"
88
+ ]
89
+ }
90
+ },
91
+ {
92
+ "name": "get_data_sources_by_data_source_id",
93
+ "description": "Retrieves a data source object using the ID specified. To get data source IDs, first call GET /v1/databases/{database_id} and extract IDs from the data_sources array.",
94
+ "method": "GET",
95
+ "path": "/v1/data_sources/{data_source_id}",
96
+ "inputSchema": {
97
+ "type": "object",
98
+ "properties": {
99
+ "data_source_id": {
100
+ "type": "string",
101
+ "description": "The data_source_id"
102
+ }
103
+ },
104
+ "required": [
105
+ "data_source_id"
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ "name": "get_data_sources_by_data_source_id_templates",
111
+ "description": "Lists available templates for the data source.",
112
+ "method": "GET",
113
+ "path": "/v1/data_sources/{data_source_id}/templates",
114
+ "inputSchema": {
115
+ "type": "object",
116
+ "properties": {
117
+ "data_source_id": {
118
+ "type": "string",
119
+ "description": "The data_source_id"
120
+ }
121
+ },
122
+ "required": [
123
+ "data_source_id"
124
+ ]
125
+ }
126
+ },
127
+ {
128
+ "name": "get_databases_by_database_id",
129
+ "description": "Retrieves a Database object using the ID specified.",
130
+ "method": "GET",
131
+ "path": "/v1/databases/{database_id}",
132
+ "inputSchema": {
133
+ "type": "object",
134
+ "properties": {
135
+ "database_id": {
136
+ "type": "string",
137
+ "description": "The database_id"
138
+ }
139
+ },
140
+ "required": [
141
+ "database_id"
142
+ ]
143
+ }
144
+ },
145
+ {
146
+ "name": "get_file_uploads",
147
+ "description": "Returns a paginated list of file uploads.",
148
+ "method": "GET",
149
+ "path": "/v1/file_uploads",
150
+ "inputSchema": {
151
+ "type": "object",
152
+ "properties": {},
153
+ "required": []
154
+ }
155
+ },
156
+ {
157
+ "name": "get_file_uploads_by_file_upload_id",
158
+ "description": "Retrieves a file upload object using the ID specified.",
159
+ "method": "GET",
160
+ "path": "/v1/file_uploads/{file_upload_id}",
161
+ "inputSchema": {
162
+ "type": "object",
163
+ "properties": {
164
+ "file_upload_id": {
165
+ "type": "string",
166
+ "description": "The file_upload_id"
167
+ }
168
+ },
169
+ "required": [
170
+ "file_upload_id"
171
+ ]
172
+ }
173
+ },
174
+ {
175
+ "name": "get_pages_by_page_id",
176
+ "description": "Retrieves a Page object using the ID specified.",
177
+ "method": "GET",
178
+ "path": "/v1/pages/{page_id}",
179
+ "inputSchema": {
180
+ "type": "object",
181
+ "properties": {
182
+ "page_id": {
183
+ "type": "string",
184
+ "description": "The page_id"
185
+ }
186
+ },
187
+ "required": [
188
+ "page_id"
189
+ ]
190
+ }
191
+ },
192
+ {
193
+ "name": "get_page_property_item",
194
+ "description": "Retrieves a property_item object for a given page_id and property_id.",
195
+ "method": "GET",
196
+ "path": "/v1/pages/{page_id}/properties/{property_id}",
197
+ "inputSchema": {
198
+ "type": "object",
199
+ "properties": {
200
+ "page_id": {
201
+ "type": "string",
202
+ "description": "The page_id"
203
+ },
204
+ "property_id": {
205
+ "type": "string",
206
+ "description": "The property_id"
207
+ }
208
+ },
209
+ "required": [
210
+ "page_id",
211
+ "property_id"
212
+ ]
213
+ }
214
+ },
215
+ {
216
+ "name": "get_users",
217
+ "description": "Returns a paginated list of Users for the workspace.",
218
+ "method": "GET",
219
+ "path": "/v1/users",
220
+ "inputSchema": {
221
+ "type": "object",
222
+ "properties": {},
223
+ "required": []
224
+ }
225
+ },
226
+ {
227
+ "name": "get_users_by_user_id",
228
+ "description": "Retrieves a User object using the ID specified.",
229
+ "method": "GET",
230
+ "path": "/v1/users/{user_id}",
231
+ "inputSchema": {
232
+ "type": "object",
233
+ "properties": {
234
+ "user_id": {
235
+ "type": "string",
236
+ "description": "The user_id"
237
+ }
238
+ },
239
+ "required": [
240
+ "user_id"
241
+ ]
242
+ }
243
+ },
244
+ {
245
+ "name": "get_users_me",
246
+ "description": "Retrieves information about the bot user associated with the API token.",
247
+ "method": "GET",
248
+ "path": "/v1/users/me",
249
+ "inputSchema": {
250
+ "type": "object",
251
+ "properties": {},
252
+ "required": []
253
+ }
254
+ },
255
+ {
256
+ "name": "create_comments",
257
+ "description": "Creates a comment in a page or discussion thread.",
258
+ "method": "POST",
259
+ "path": "/v1/comments",
260
+ "inputSchema": {
261
+ "type": "object",
262
+ "properties": {
263
+ "parent": {
264
+ "type": "string",
265
+ "description": "The parent field"
266
+ },
267
+ "rich_text": {
268
+ "type": "string",
269
+ "description": "The rich_text field"
270
+ }
271
+ },
272
+ "required": []
273
+ }
274
+ },
275
+ {
276
+ "name": "create_data_sources",
277
+ "description": "Creates a new data source in the specified parent page.",
278
+ "method": "POST",
279
+ "path": "/v1/data_sources",
280
+ "inputSchema": {
281
+ "type": "object",
282
+ "properties": {
283
+ "parent": {
284
+ "type": "string",
285
+ "description": "The parent field"
286
+ },
287
+ "title": {
288
+ "type": "string",
289
+ "description": "The title field"
290
+ },
291
+ "properties": {
292
+ "type": "string",
293
+ "description": "The properties field"
294
+ }
295
+ },
296
+ "required": []
297
+ }
298
+ },
299
+ {
300
+ "name": "create_data_sources_by_data_source_id_query",
301
+ "description": "Queries a data source and returns matching results.\n\nThis replaces the old POST /v1/databases/{database_id}/query endpoint.\n\nIMPORTANT: You must use a data_source_id, NOT a database_id. To get the dat",
302
+ "method": "POST",
303
+ "path": "/v1/data_sources/{data_source_id}/query",
304
+ "inputSchema": {
305
+ "type": "object",
306
+ "properties": {
307
+ "data_source_id": {
308
+ "type": "string",
309
+ "description": "The data_source_id"
310
+ },
311
+ "filter": {
312
+ "type": "string",
313
+ "description": "The filter field"
314
+ },
315
+ "sorts": {
316
+ "type": "string",
317
+ "description": "The sorts field"
318
+ }
319
+ },
320
+ "required": [
321
+ "data_source_id"
322
+ ]
323
+ }
324
+ },
325
+ {
326
+ "name": "create_databases",
327
+ "description": "Creates a database as a child of an existing page.",
328
+ "method": "POST",
329
+ "path": "/v1/databases",
330
+ "inputSchema": {
331
+ "type": "object",
332
+ "properties": {
333
+ "parent": {
334
+ "type": "string",
335
+ "description": "The parent field"
336
+ },
337
+ "title": {
338
+ "type": "string",
339
+ "description": "The title field"
340
+ },
341
+ "properties": {
342
+ "type": "string",
343
+ "description": "The properties field"
344
+ }
345
+ },
346
+ "required": []
347
+ }
348
+ },
349
+ {
350
+ "name": "create_databases_by_id_query",
351
+ "description": "Filter a database",
352
+ "method": "POST",
353
+ "path": "/v1/databases/{id}/query",
354
+ "inputSchema": {
355
+ "type": "object",
356
+ "properties": {
357
+ "id": {
358
+ "type": "string",
359
+ "description": "The id"
360
+ },
361
+ "filter": {
362
+ "type": "string",
363
+ "description": "The filter field"
364
+ }
365
+ },
366
+ "required": [
367
+ "id"
368
+ ]
369
+ }
370
+ },
371
+ {
372
+ "name": "create_file_uploads",
373
+ "description": "Initializes a new file upload.",
374
+ "method": "POST",
375
+ "path": "/v1/file_uploads",
376
+ "inputSchema": {
377
+ "type": "object",
378
+ "properties": {
379
+ "name": {
380
+ "type": "string",
381
+ "description": "The name field"
382
+ },
383
+ "size": {
384
+ "type": "number",
385
+ "description": "The size field"
386
+ }
387
+ },
388
+ "required": []
389
+ }
390
+ },
391
+ {
392
+ "name": "complete_file_upload",
393
+ "description": "Completes a file upload after all chunks have been sent.",
394
+ "method": "POST",
395
+ "path": "/v1/file_uploads/{file_upload_id}/complete",
396
+ "inputSchema": {
397
+ "type": "object",
398
+ "properties": {
399
+ "file_upload_id": {
400
+ "type": "string",
401
+ "description": "The file_upload_id"
402
+ }
403
+ },
404
+ "required": [
405
+ "file_upload_id"
406
+ ]
407
+ }
408
+ },
409
+ {
410
+ "name": "create_file_uploads_by_file_upload_id_send",
411
+ "description": "Sends file data for an initialized file upload.",
412
+ "method": "POST",
413
+ "path": "/v1/file_uploads/{file_upload_id}/send",
414
+ "inputSchema": {
415
+ "type": "object",
416
+ "properties": {
417
+ "file_upload_id": {
418
+ "type": "string",
419
+ "description": "The file_upload_id"
420
+ },
421
+ "data": {
422
+ "type": "string",
423
+ "description": "The data field"
424
+ }
425
+ },
426
+ "required": [
427
+ "file_upload_id"
428
+ ]
429
+ }
430
+ },
431
+ {
432
+ "name": "create_pages",
433
+ "description": "Creates a new page in the specified database or as a child of an existing page.",
434
+ "method": "POST",
435
+ "path": "/v1/pages",
436
+ "inputSchema": {
437
+ "type": "object",
438
+ "properties": {
439
+ "parent": {
440
+ "type": "string",
441
+ "description": "The parent field"
442
+ },
443
+ "properties": {
444
+ "type": "string",
445
+ "description": "The properties field"
446
+ }
447
+ },
448
+ "required": []
449
+ }
450
+ },
451
+ {
452
+ "name": "create_pages_by_page_id_move",
453
+ "description": "Moves a page to a new parent page or database.",
454
+ "method": "POST",
455
+ "path": "/v1/pages/{page_id}/move",
456
+ "inputSchema": {
457
+ "type": "object",
458
+ "properties": {
459
+ "page_id": {
460
+ "type": "string",
461
+ "description": "The page_id"
462
+ },
463
+ "parent": {
464
+ "type": "string",
465
+ "description": "The parent field"
466
+ }
467
+ },
468
+ "required": [
469
+ "page_id"
470
+ ]
471
+ }
472
+ },
473
+ {
474
+ "name": "create_search",
475
+ "description": "Searches all parent or child pages and databases that have been shared with the integration.",
476
+ "method": "POST",
477
+ "path": "/v1/search",
478
+ "inputSchema": {
479
+ "type": "object",
480
+ "properties": {
481
+ "query": {
482
+ "type": "string",
483
+ "description": "The query field"
484
+ },
485
+ "sort": {
486
+ "type": "string",
487
+ "description": "The sort field"
488
+ }
489
+ },
490
+ "required": []
491
+ }
492
+ },
493
+ {
494
+ "name": "update_blocks_by_block_id",
495
+ "description": "Updates the content for the specified block.",
496
+ "method": "PATCH",
497
+ "path": "/v1/blocks/{block_id}",
498
+ "inputSchema": {
499
+ "type": "object",
500
+ "properties": {
501
+ "block_id": {
502
+ "type": "string",
503
+ "description": "The block_id"
504
+ },
505
+ "paragraph": {
506
+ "type": "string",
507
+ "description": "The paragraph field"
508
+ }
509
+ },
510
+ "required": [
511
+ "block_id"
512
+ ]
513
+ }
514
+ },
515
+ {
516
+ "name": "update_blocks_by_block_id_children",
517
+ "description": "Creates and appends new children blocks to the parent block specified.",
518
+ "method": "PATCH",
519
+ "path": "/v1/blocks/{block_id}/children",
520
+ "inputSchema": {
521
+ "type": "object",
522
+ "properties": {
523
+ "block_id": {
524
+ "type": "string",
525
+ "description": "The block_id"
526
+ },
527
+ "children": {
528
+ "type": "string",
529
+ "description": "The children field"
530
+ }
531
+ },
532
+ "required": [
533
+ "block_id"
534
+ ]
535
+ }
536
+ },
537
+ {
538
+ "name": "update_data_sources_by_data_source_id",
539
+ "description": "Updates the specified data source object.",
540
+ "method": "PATCH",
541
+ "path": "/v1/data_sources/{data_source_id}",
542
+ "inputSchema": {
543
+ "type": "object",
544
+ "properties": {
545
+ "data_source_id": {
546
+ "type": "string",
547
+ "description": "The data_source_id"
548
+ },
549
+ "title": {
550
+ "type": "string",
551
+ "description": "The title field"
552
+ },
553
+ "properties": {
554
+ "type": "string",
555
+ "description": "The properties field"
556
+ }
557
+ },
558
+ "required": [
559
+ "data_source_id"
560
+ ]
561
+ }
562
+ },
563
+ {
564
+ "name": "update_databases_by_database_id",
565
+ "description": "Updates an existing database object.",
566
+ "method": "PATCH",
567
+ "path": "/v1/databases/{database_id}",
568
+ "inputSchema": {
569
+ "type": "object",
570
+ "properties": {
571
+ "database_id": {
572
+ "type": "string",
573
+ "description": "The database_id"
574
+ },
575
+ "title": {
576
+ "type": "string",
577
+ "description": "The title field"
578
+ },
579
+ "properties": {
580
+ "type": "string",
581
+ "description": "The properties field"
582
+ }
583
+ },
584
+ "required": [
585
+ "database_id"
586
+ ]
587
+ }
588
+ },
589
+ {
590
+ "name": "update_pages_by_page_id",
591
+ "description": "Updates page property values for the specified page.",
592
+ "method": "PATCH",
593
+ "path": "/v1/pages/{page_id}",
594
+ "inputSchema": {
595
+ "type": "object",
596
+ "properties": {
597
+ "page_id": {
598
+ "type": "string",
599
+ "description": "The page_id"
600
+ },
601
+ "properties": {
602
+ "type": "string",
603
+ "description": "The properties field"
604
+ }
605
+ },
606
+ "required": [
607
+ "page_id"
608
+ ]
609
+ }
610
+ },
611
+ {
612
+ "name": "delete_blocks_by_block_id",
613
+ "description": "Sets a Block object, including page blocks, to archived: true.",
614
+ "method": "DELETE",
615
+ "path": "/v1/blocks/{block_id}",
616
+ "inputSchema": {
617
+ "type": "object",
618
+ "properties": {
619
+ "block_id": {
620
+ "type": "string",
621
+ "description": "The block_id"
622
+ }
623
+ },
624
+ "required": [
625
+ "block_id"
626
+ ]
627
+ }
628
+ }
629
+ ]
630
+ }
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import { createMCPServer } from '../../core/server-base.js';
3
+ import { tools } from './tools.js';
4
+
5
+ const { start } = createMCPServer({
6
+ name: 'notion-adoptai',
7
+ version: '1.0.0',
8
+ tools,
9
+ });
10
+
11
+ start();
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "adoptai-notion-mcp",
3
+ "version": "1.0.0",
4
+ "description": "Notion API (2025-09-03) — users, pages, blocks, data sources, databases, search, comments, file uploads.",
5
+ "type": "module",
6
+ "main": "index.js",
7
+ "bin": {
8
+ "adoptai-notion-mcp": "./setup.js"
9
+ },
10
+ "scripts": {
11
+ "start": "node index.js",
12
+ "setup": "node setup.js",
13
+ "generate:endpoints": "node scripts/generate-endpoints.mjs",
14
+ "publish:adoptai": "node publish-to-adoptai.js"
15
+ },
16
+ "keywords": ["mcp", "notion", "ai", "cursor", "claude", "adopt.ai"],
17
+ "license": "MIT",
18
+ "dependencies": {
19
+ "@modelcontextprotocol/sdk": "^1.0.0",
20
+ "axios": "^1.6.0"
21
+ },
22
+ "adoptai": {
23
+ "appId": "notion",
24
+ "toolCount": 48,
25
+ "sourceFormat": "postman_v2.1",
26
+ "authType": "bearer",
27
+ "specSources": [
28
+ "specs/notion/Notion API (2025-09-03).postman_collection.json",
29
+ "specs/notion/Notion API.postman_collection.json"
30
+ ],
31
+ "generatedAt": "2026-03-26T15:05:58.488Z"
32
+ }
33
+ }