notion-mcp-server 0.0.1

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +236 -0
  3. package/build/config/index.js +5 -0
  4. package/build/index.js +17 -0
  5. package/build/resources/imageList.js +62 -0
  6. package/build/resources/index.js +1 -0
  7. package/build/resources/predictionList.js +43 -0
  8. package/build/resources/svgList.js +69 -0
  9. package/build/schema/annotations.js +15 -0
  10. package/build/schema/blocks.js +209 -0
  11. package/build/schema/color.js +22 -0
  12. package/build/schema/file.js +11 -0
  13. package/build/schema/icon.js +10 -0
  14. package/build/schema/lang.js +77 -0
  15. package/build/schema/mention.js +102 -0
  16. package/build/schema/notion.js +57 -0
  17. package/build/schema/page.js +68 -0
  18. package/build/schema/preprocess.js +1 -0
  19. package/build/schema/rich-text.js +71 -0
  20. package/build/schema/richText.js +757 -0
  21. package/build/schema/timezone.js +599 -0
  22. package/build/schema/tools.js +17 -0
  23. package/build/server/index.js +27 -0
  24. package/build/services/notion.js +20 -0
  25. package/build/services/replicate.js +23 -0
  26. package/build/tools/appendBlockChildren.js +25 -0
  27. package/build/tools/batchAppendBlockChildren.js +33 -0
  28. package/build/tools/batchDeleteBlocks.js +32 -0
  29. package/build/tools/batchMixedOperations.js +58 -0
  30. package/build/tools/batchUpdateBlocks.js +33 -0
  31. package/build/tools/createPage.js +18 -0
  32. package/build/tools/createPrediction.js +28 -0
  33. package/build/tools/deleteBlock.js +24 -0
  34. package/build/tools/formatRichText.js +83 -0
  35. package/build/tools/generateImage.js +48 -0
  36. package/build/tools/generateImageVariants.js +105 -0
  37. package/build/tools/generateMultipleImages.js +60 -0
  38. package/build/tools/generateSVG.js +43 -0
  39. package/build/tools/getPrediction.js +22 -0
  40. package/build/tools/index.js +31 -0
  41. package/build/tools/predictionList.js +30 -0
  42. package/build/tools/retrieveBlock.js +24 -0
  43. package/build/tools/retrieveBlockChildren.js +32 -0
  44. package/build/tools/searchPage.js +28 -0
  45. package/build/tools/updateBlock.js +25 -0
  46. package/build/tools/updatePage.js +40 -0
  47. package/build/types/blocks.js +11 -0
  48. package/build/types/emoji.js +1 -0
  49. package/build/types/index.js +1 -0
  50. package/build/types/notion.js +1 -0
  51. package/build/types/page.js +6 -0
  52. package/build/types/richText.js +1 -0
  53. package/build/types/tools.js +1 -0
  54. package/build/utils/blob.js +5 -0
  55. package/build/utils/error.js +127 -0
  56. package/build/utils/image.js +34 -0
  57. package/build/utils/index.js +1 -0
  58. package/build/utils/richText.js +174 -0
  59. package/build/validation/blocks.js +568 -0
  60. package/build/validation/notion.js +51 -0
  61. package/build/validation/page.js +262 -0
  62. package/build/validation/richText.js +744 -0
  63. package/build/validation/tools.js +16 -0
  64. package/package.json +44 -0
@@ -0,0 +1,599 @@
1
+ import { z } from "zod";
2
+ export const TIMEZONE_SCHEMA = z.enum([
3
+ "Africa/Abidjan",
4
+ "Africa/Accra",
5
+ "Africa/Addis_Ababa",
6
+ "Africa/Algiers",
7
+ "Africa/Asmara",
8
+ "Africa/Asmera",
9
+ "Africa/Bamako",
10
+ "Africa/Bangui",
11
+ "Africa/Banjul",
12
+ "Africa/Bissau",
13
+ "Africa/Blantyre",
14
+ "Africa/Brazzaville",
15
+ "Africa/Bujumbura",
16
+ "Africa/Cairo",
17
+ "Africa/Casablanca",
18
+ "Africa/Ceuta",
19
+ "Africa/Conakry",
20
+ "Africa/Dakar",
21
+ "Africa/Dar_es_Salaam",
22
+ "Africa/Djibouti",
23
+ "Africa/Douala",
24
+ "Africa/El_Aaiun",
25
+ "Africa/Freetown",
26
+ "Africa/Gaborone",
27
+ "Africa/Harare",
28
+ "Africa/Johannesburg",
29
+ "Africa/Juba",
30
+ "Africa/Kampala",
31
+ "Africa/Khartoum",
32
+ "Africa/Kigali",
33
+ "Africa/Kinshasa",
34
+ "Africa/Lagos",
35
+ "Africa/Libreville",
36
+ "Africa/Lome",
37
+ "Africa/Luanda",
38
+ "Africa/Lubumbashi",
39
+ "Africa/Lusaka",
40
+ "Africa/Malabo",
41
+ "Africa/Maputo",
42
+ "Africa/Maseru",
43
+ "Africa/Mbabane",
44
+ "Africa/Mogadishu",
45
+ "Africa/Monrovia",
46
+ "Africa/Nairobi",
47
+ "Africa/Ndjamena",
48
+ "Africa/Niamey",
49
+ "Africa/Nouakchott",
50
+ "Africa/Ouagadougou",
51
+ "Africa/Porto-Novo",
52
+ "Africa/Sao_Tome",
53
+ "Africa/Timbuktu",
54
+ "Africa/Tripoli",
55
+ "Africa/Tunis",
56
+ "Africa/Windhoek",
57
+ "America/Adak",
58
+ "America/Anchorage",
59
+ "America/Anguilla",
60
+ "America/Antigua",
61
+ "America/Araguaina",
62
+ "America/Argentina/Buenos_Aires",
63
+ "America/Argentina/Catamarca",
64
+ "America/Argentina/ComodRivadavia",
65
+ "America/Argentina/Cordoba",
66
+ "America/Argentina/Jujuy",
67
+ "America/Argentina/La_Rioja",
68
+ "America/Argentina/Mendoza",
69
+ "America/Argentina/Rio_Gallegos",
70
+ "America/Argentina/Salta",
71
+ "America/Argentina/San_Juan",
72
+ "America/Argentina/San_Luis",
73
+ "America/Argentina/Tucuman",
74
+ "America/Argentina/Ushuaia",
75
+ "America/Aruba",
76
+ "America/Asuncion",
77
+ "America/Atikokan",
78
+ "America/Atka",
79
+ "America/Bahia_Banderas",
80
+ "America/Bahia",
81
+ "America/Barbados",
82
+ "America/Belem",
83
+ "America/Belize",
84
+ "America/Blanc-Sablon",
85
+ "America/Boa_Vista",
86
+ "America/Bogota",
87
+ "America/Boise",
88
+ "America/Buenos_Aires",
89
+ "America/Cambridge_Bay",
90
+ "America/Campo_Grande",
91
+ "America/Cancun",
92
+ "America/Caracas",
93
+ "America/Catamarca",
94
+ "America/Cayenne",
95
+ "America/Cayman",
96
+ "America/Chicago",
97
+ "America/Chihuahua",
98
+ "America/Ciudad_Juarez",
99
+ "America/Coral_Harbour",
100
+ "America/Cordoba",
101
+ "America/Costa_Rica",
102
+ "America/Creston",
103
+ "America/Cuiaba",
104
+ "America/Curacao",
105
+ "America/Danmarkshavn",
106
+ "America/Dawson_Creek",
107
+ "America/Dawson",
108
+ "America/Denver",
109
+ "America/Detroit",
110
+ "America/Dominica",
111
+ "America/Edmonton",
112
+ "America/Eirunepe",
113
+ "America/El_Salvador",
114
+ "America/Ensenada",
115
+ "America/Fort_Nelson",
116
+ "America/Fort_Wayne",
117
+ "America/Fortaleza",
118
+ "America/Glace_Bay",
119
+ "America/Godthab",
120
+ "America/Goose_Bay",
121
+ "America/Grand_Turk",
122
+ "America/Grenada",
123
+ "America/Guadeloupe",
124
+ "America/Guatemala",
125
+ "America/Guayaquil",
126
+ "America/Guyana",
127
+ "America/Halifax",
128
+ "America/Havana",
129
+ "America/Hermosillo",
130
+ "America/Indiana/Indianapolis",
131
+ "America/Indiana/Knox",
132
+ "America/Indiana/Marengo",
133
+ "America/Indiana/Petersburg",
134
+ "America/Indiana/Tell_City",
135
+ "America/Indiana/Vevay",
136
+ "America/Indiana/Vincennes",
137
+ "America/Indiana/Winamac",
138
+ "America/Indianapolis",
139
+ "America/Inuvik",
140
+ "America/Iqaluit",
141
+ "America/Jamaica",
142
+ "America/Jujuy",
143
+ "America/Juneau",
144
+ "America/Kentucky/Louisville",
145
+ "America/Kentucky/Monticello",
146
+ "America/Knox_IN",
147
+ "America/Kralendijk",
148
+ "America/La_Paz",
149
+ "America/Lima",
150
+ "America/Los_Angeles",
151
+ "America/Louisville",
152
+ "America/Lower_Princes",
153
+ "America/Maceio",
154
+ "America/Managua",
155
+ "America/Manaus",
156
+ "America/Marigot",
157
+ "America/Martinique",
158
+ "America/Matamoros",
159
+ "America/Mazatlan",
160
+ "America/Mendoza",
161
+ "America/Menominee",
162
+ "America/Merida",
163
+ "America/Metlakatla",
164
+ "America/Mexico_City",
165
+ "America/Miquelon",
166
+ "America/Moncton",
167
+ "America/Monterrey",
168
+ "America/Montevideo",
169
+ "America/Montreal",
170
+ "America/Montserrat",
171
+ "America/Nassau",
172
+ "America/New_York",
173
+ "America/Nipigon",
174
+ "America/Nome",
175
+ "America/Noronha",
176
+ "America/North_Dakota/Beulah",
177
+ "America/North_Dakota/Center",
178
+ "America/North_Dakota/New_Salem",
179
+ "America/Nuuk",
180
+ "America/Ojinaga",
181
+ "America/Panama",
182
+ "America/Pangnirtung",
183
+ "America/Paramaribo",
184
+ "America/Phoenix",
185
+ "America/Port_of_Spain",
186
+ "America/Port-au-Prince",
187
+ "America/Porto_Acre",
188
+ "America/Porto_Velho",
189
+ "America/Puerto_Rico",
190
+ "America/Punta_Arenas",
191
+ "America/Rainy_River",
192
+ "America/Rankin_Inlet",
193
+ "America/Recife",
194
+ "America/Regina",
195
+ "America/Resolute",
196
+ "America/Rio_Branco",
197
+ "America/Rosario",
198
+ "America/Santa_Isabel",
199
+ "America/Santarem",
200
+ "America/Santiago",
201
+ "America/Santo_Domingo",
202
+ "America/Sao_Paulo",
203
+ "America/Scoresbysund",
204
+ "America/Shiprock",
205
+ "America/Sitka",
206
+ "America/St_Barthelemy",
207
+ "America/St_Johns",
208
+ "America/St_Kitts",
209
+ "America/St_Lucia",
210
+ "America/St_Thomas",
211
+ "America/St_Vincent",
212
+ "America/Swift_Current",
213
+ "America/Tegucigalpa",
214
+ "America/Thule",
215
+ "America/Thunder_Bay",
216
+ "America/Tijuana",
217
+ "America/Toronto",
218
+ "America/Tortola",
219
+ "America/Vancouver",
220
+ "America/Virgin",
221
+ "America/Whitehorse",
222
+ "America/Winnipeg",
223
+ "America/Yakutat",
224
+ "America/Yellowknife",
225
+ "Antarctica/Casey",
226
+ "Antarctica/Davis",
227
+ "Antarctica/DumontDUrville",
228
+ "Antarctica/Macquarie",
229
+ "Antarctica/Mawson",
230
+ "Antarctica/McMurdo",
231
+ "Antarctica/Palmer",
232
+ "Antarctica/Rothera",
233
+ "Antarctica/South_Pole",
234
+ "Antarctica/Syowa",
235
+ "Antarctica/Troll",
236
+ "Antarctica/Vostok",
237
+ "Arctic/Longyearbyen",
238
+ "Asia/Aden",
239
+ "Asia/Almaty",
240
+ "Asia/Amman",
241
+ "Asia/Anadyr",
242
+ "Asia/Aqtau",
243
+ "Asia/Aqtobe",
244
+ "Asia/Ashgabat",
245
+ "Asia/Ashkhabad",
246
+ "Asia/Atyrau",
247
+ "Asia/Baghdad",
248
+ "Asia/Bahrain",
249
+ "Asia/Baku",
250
+ "Asia/Bangkok",
251
+ "Asia/Barnaul",
252
+ "Asia/Beirut",
253
+ "Asia/Bishkek",
254
+ "Asia/Brunei",
255
+ "Asia/Calcutta",
256
+ "Asia/Chita",
257
+ "Asia/Choibalsan",
258
+ "Asia/Chongqing",
259
+ "Asia/Chungking",
260
+ "Asia/Colombo",
261
+ "Asia/Dacca",
262
+ "Asia/Damascus",
263
+ "Asia/Dhaka",
264
+ "Asia/Dili",
265
+ "Asia/Dubai",
266
+ "Asia/Dushanbe",
267
+ "Asia/Famagusta",
268
+ "Asia/Gaza",
269
+ "Asia/Harbin",
270
+ "Asia/Hebron",
271
+ "Asia/Ho_Chi_Minh",
272
+ "Asia/Hong_Kong",
273
+ "Asia/Hovd",
274
+ "Asia/Irkutsk",
275
+ "Asia/Istanbul",
276
+ "Asia/Jakarta",
277
+ "Asia/Jayapura",
278
+ "Asia/Jerusalem",
279
+ "Asia/Kabul",
280
+ "Asia/Kamchatka",
281
+ "Asia/Karachi",
282
+ "Asia/Kashgar",
283
+ "Asia/Kathmandu",
284
+ "Asia/Katmandu",
285
+ "Asia/Khandyga",
286
+ "Asia/Kolkata",
287
+ "Asia/Krasnoyarsk",
288
+ "Asia/Kuala_Lumpur",
289
+ "Asia/Kuching",
290
+ "Asia/Kuwait",
291
+ "Asia/Macao",
292
+ "Asia/Macau",
293
+ "Asia/Magadan",
294
+ "Asia/Makassar",
295
+ "Asia/Manila",
296
+ "Asia/Muscat",
297
+ "Asia/Nicosia",
298
+ "Asia/Novokuznetsk",
299
+ "Asia/Novosibirsk",
300
+ "Asia/Omsk",
301
+ "Asia/Oral",
302
+ "Asia/Phnom_Penh",
303
+ "Asia/Pontianak",
304
+ "Asia/Pyongyang",
305
+ "Asia/Qatar",
306
+ "Asia/Qostanay",
307
+ "Asia/Qyzylorda",
308
+ "Asia/Rangoon",
309
+ "Asia/Riyadh",
310
+ "Asia/Saigon",
311
+ "Asia/Sakhalin",
312
+ "Asia/Samarkand",
313
+ "Asia/Seoul",
314
+ "Asia/Shanghai",
315
+ "Asia/Singapore",
316
+ "Asia/Srednekolymsk",
317
+ "Asia/Taipei",
318
+ "Asia/Tashkent",
319
+ "Asia/Tbilisi",
320
+ "Asia/Tehran",
321
+ "Asia/Tel_Aviv",
322
+ "Asia/Thimbu",
323
+ "Asia/Thimphu",
324
+ "Asia/Tokyo",
325
+ "Asia/Tomsk",
326
+ "Asia/Ujung_Pandang",
327
+ "Asia/Ulaanbaatar",
328
+ "Asia/Ulan_Bator",
329
+ "Asia/Urumqi",
330
+ "Asia/Ust-Nera",
331
+ "Asia/Vientiane",
332
+ "Asia/Vladivostok",
333
+ "Asia/Yakutsk",
334
+ "Asia/Yangon",
335
+ "Asia/Yekaterinburg",
336
+ "Asia/Yerevan",
337
+ "Atlantic/Azores",
338
+ "Atlantic/Bermuda",
339
+ "Atlantic/Canary",
340
+ "Atlantic/Cape_Verde",
341
+ "Atlantic/Faeroe",
342
+ "Atlantic/Faroe",
343
+ "Atlantic/Jan_Mayen",
344
+ "Atlantic/Madeira",
345
+ "Atlantic/Reykjavik",
346
+ "Atlantic/South_Georgia",
347
+ "Atlantic/St_Helena",
348
+ "Atlantic/Stanley",
349
+ "Australia/ACT",
350
+ "Australia/Adelaide",
351
+ "Australia/Brisbane",
352
+ "Australia/Broken_Hill",
353
+ "Australia/Canberra",
354
+ "Australia/Currie",
355
+ "Australia/Darwin",
356
+ "Australia/Eucla",
357
+ "Australia/Hobart",
358
+ "Australia/LHI",
359
+ "Australia/Lindeman",
360
+ "Australia/Lord_Howe",
361
+ "Australia/Melbourne",
362
+ "Australia/North",
363
+ "Australia/NSW",
364
+ "Australia/Perth",
365
+ "Australia/Queensland",
366
+ "Australia/South",
367
+ "Australia/Sydney",
368
+ "Australia/Tasmania",
369
+ "Australia/Victoria",
370
+ "Australia/West",
371
+ "Australia/Yancowinna",
372
+ "Brazil/Acre",
373
+ "Brazil/DeNoronha",
374
+ "Brazil/East",
375
+ "Brazil/West",
376
+ "Canada/Atlantic",
377
+ "Canada/Central",
378
+ "Canada/Eastern",
379
+ "Canada/Mountain",
380
+ "Canada/Newfoundland",
381
+ "Canada/Pacific",
382
+ "Canada/Saskatchewan",
383
+ "Canada/Yukon",
384
+ "CET",
385
+ "Chile/Continental",
386
+ "Chile/EasterIsland",
387
+ "CST6CDT",
388
+ "Cuba",
389
+ "EET",
390
+ "Egypt",
391
+ "Eire",
392
+ "EST",
393
+ "EST5EDT",
394
+ "Etc/GMT-0",
395
+ "Etc/GMT-1",
396
+ "Etc/GMT-10",
397
+ "Etc/GMT-11",
398
+ "Etc/GMT-12",
399
+ "Etc/GMT-13",
400
+ "Etc/GMT-14",
401
+ "Etc/GMT-2",
402
+ "Etc/GMT-3",
403
+ "Etc/GMT-4",
404
+ "Etc/GMT-5",
405
+ "Etc/GMT-6",
406
+ "Etc/GMT-7",
407
+ "Etc/GMT-8",
408
+ "Etc/GMT-9",
409
+ "Etc/GMT",
410
+ "Etc/GMT+0",
411
+ "Etc/GMT+1",
412
+ "Etc/GMT+10",
413
+ "Etc/GMT+11",
414
+ "Etc/GMT+12",
415
+ "Etc/GMT+2",
416
+ "Etc/GMT+3",
417
+ "Etc/GMT+4",
418
+ "Etc/GMT+5",
419
+ "Etc/GMT+6",
420
+ "Etc/GMT+7",
421
+ "Etc/GMT+8",
422
+ "Etc/GMT+9",
423
+ "Etc/GMT0",
424
+ "Etc/Greenwich",
425
+ "Etc/UCT",
426
+ "Etc/Universal",
427
+ "Etc/UTC",
428
+ "Etc/Zulu",
429
+ "Europe/Amsterdam",
430
+ "Europe/Andorra",
431
+ "Europe/Astrakhan",
432
+ "Europe/Athens",
433
+ "Europe/Belfast",
434
+ "Europe/Belgrade",
435
+ "Europe/Berlin",
436
+ "Europe/Bratislava",
437
+ "Europe/Brussels",
438
+ "Europe/Bucharest",
439
+ "Europe/Budapest",
440
+ "Europe/Busingen",
441
+ "Europe/Chisinau",
442
+ "Europe/Copenhagen",
443
+ "Europe/Dublin",
444
+ "Europe/Gibraltar",
445
+ "Europe/Guernsey",
446
+ "Europe/Helsinki",
447
+ "Europe/Isle_of_Man",
448
+ "Europe/Istanbul",
449
+ "Europe/Jersey",
450
+ "Europe/Kaliningrad",
451
+ "Europe/Kiev",
452
+ "Europe/Kirov",
453
+ "Europe/Kyiv",
454
+ "Europe/Lisbon",
455
+ "Europe/Ljubljana",
456
+ "Europe/London",
457
+ "Europe/Luxembourg",
458
+ "Europe/Madrid",
459
+ "Europe/Malta",
460
+ "Europe/Mariehamn",
461
+ "Europe/Minsk",
462
+ "Europe/Monaco",
463
+ "Europe/Moscow",
464
+ "Europe/Nicosia",
465
+ "Europe/Oslo",
466
+ "Europe/Paris",
467
+ "Europe/Podgorica",
468
+ "Europe/Prague",
469
+ "Europe/Riga",
470
+ "Europe/Rome",
471
+ "Europe/Samara",
472
+ "Europe/San_Marino",
473
+ "Europe/Sarajevo",
474
+ "Europe/Saratov",
475
+ "Europe/Simferopol",
476
+ "Europe/Skopje",
477
+ "Europe/Sofia",
478
+ "Europe/Stockholm",
479
+ "Europe/Tallinn",
480
+ "Europe/Tirane",
481
+ "Europe/Tiraspol",
482
+ "Europe/Ulyanovsk",
483
+ "Europe/Uzhgorod",
484
+ "Europe/Vaduz",
485
+ "Europe/Vatican",
486
+ "Europe/Vienna",
487
+ "Europe/Vilnius",
488
+ "Europe/Volgograd",
489
+ "Europe/Warsaw",
490
+ "Europe/Zagreb",
491
+ "Europe/Zaporozhye",
492
+ "Europe/Zurich",
493
+ "GB-Eire",
494
+ "GB",
495
+ "GMT-0",
496
+ "GMT",
497
+ "GMT+0",
498
+ "GMT0",
499
+ "Greenwich",
500
+ "Hongkong",
501
+ "HST",
502
+ "Iceland",
503
+ "Indian/Antananarivo",
504
+ "Indian/Chagos",
505
+ "Indian/Christmas",
506
+ "Indian/Cocos",
507
+ "Indian/Comoro",
508
+ "Indian/Kerguelen",
509
+ "Indian/Mahe",
510
+ "Indian/Maldives",
511
+ "Indian/Mauritius",
512
+ "Indian/Mayotte",
513
+ "Indian/Reunion",
514
+ "Iran",
515
+ "Israel",
516
+ "Jamaica",
517
+ "Japan",
518
+ "Kwajalein",
519
+ "Libya",
520
+ "MET",
521
+ "Mexico/BajaNorte",
522
+ "Mexico/BajaSur",
523
+ "Mexico/General",
524
+ "MST",
525
+ "MST7MDT",
526
+ "Navajo",
527
+ "NZ-CHAT",
528
+ "NZ",
529
+ "Pacific/Apia",
530
+ "Pacific/Auckland",
531
+ "Pacific/Bougainville",
532
+ "Pacific/Chatham",
533
+ "Pacific/Chuuk",
534
+ "Pacific/Easter",
535
+ "Pacific/Efate",
536
+ "Pacific/Enderbury",
537
+ "Pacific/Fakaofo",
538
+ "Pacific/Fiji",
539
+ "Pacific/Funafuti",
540
+ "Pacific/Galapagos",
541
+ "Pacific/Gambier",
542
+ "Pacific/Guadalcanal",
543
+ "Pacific/Guam",
544
+ "Pacific/Honolulu",
545
+ "Pacific/Johnston",
546
+ "Pacific/Kanton",
547
+ "Pacific/Kiritimati",
548
+ "Pacific/Kosrae",
549
+ "Pacific/Kwajalein",
550
+ "Pacific/Majuro",
551
+ "Pacific/Marquesas",
552
+ "Pacific/Midway",
553
+ "Pacific/Nauru",
554
+ "Pacific/Niue",
555
+ "Pacific/Norfolk",
556
+ "Pacific/Noumea",
557
+ "Pacific/Pago_Pago",
558
+ "Pacific/Palau",
559
+ "Pacific/Pitcairn",
560
+ "Pacific/Pohnpei",
561
+ "Pacific/Ponape",
562
+ "Pacific/Port_Moresby",
563
+ "Pacific/Rarotonga",
564
+ "Pacific/Saipan",
565
+ "Pacific/Samoa",
566
+ "Pacific/Tahiti",
567
+ "Pacific/Tarawa",
568
+ "Pacific/Tongatapu",
569
+ "Pacific/Truk",
570
+ "Pacific/Wake",
571
+ "Pacific/Wallis",
572
+ "Pacific/Yap",
573
+ "Poland",
574
+ "Portugal",
575
+ "PRC",
576
+ "PST8PDT",
577
+ "ROC",
578
+ "ROK",
579
+ "Singapore",
580
+ "Turkey",
581
+ "UCT",
582
+ "Universal",
583
+ "US/Alaska",
584
+ "US/Aleutian",
585
+ "US/Arizona",
586
+ "US/Central",
587
+ "US/East-Indiana",
588
+ "US/Eastern",
589
+ "US/Hawaii",
590
+ "US/Indiana-Starke",
591
+ "US/Michigan",
592
+ "US/Mountain",
593
+ "US/Pacific",
594
+ "US/Samoa",
595
+ "UTC",
596
+ "W-SU",
597
+ "WET",
598
+ "Zulu",
599
+ ]);
@@ -0,0 +1,17 @@
1
+ // import { z } from "zod";
2
+ // import { blockSchema } from "./blocks.js";
3
+ // import { parentSchema } from "./page.js";
4
+ export {};
5
+ // export const createPageSchema = {
6
+ // parent: parentSchema,
7
+ // properties: z.object({
8
+ // title: z.object({
9
+ // title: z.array(z.any()), // Rich text array
10
+ // }),
11
+ // }),
12
+ // children: z.array(blockSchema).optional(),
13
+ // };
14
+ // export const appendBlocksSchema = {
15
+ // block_id: z.string(),
16
+ // children: z.array(blockSchema),
17
+ // };
@@ -0,0 +1,27 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { CONFIG } from "../config/index.js";
4
+ export const server = new McpServer({
5
+ name: CONFIG.serverName,
6
+ version: CONFIG.serverVersion,
7
+ }, {
8
+ capabilities: {
9
+ resources: {},
10
+ tools: {},
11
+ },
12
+ instructions: `
13
+ MCP server for the Notion.
14
+ It is used to create, update and delete Notion entities.
15
+ `,
16
+ });
17
+ export async function startServer() {
18
+ try {
19
+ const transport = new StdioServerTransport();
20
+ await server.connect(transport);
21
+ console.error(`${CONFIG.serverName} v${CONFIG.serverVersion} running on stdio`);
22
+ }
23
+ catch (error) {
24
+ console.error("Server initialization error:", error instanceof Error ? error.message : String(error));
25
+ process.exit(1);
26
+ }
27
+ }
@@ -0,0 +1,20 @@
1
+ import { Client } from "@notionhq/client";
2
+ export function getApiToken() {
3
+ const token = process.env.NOTION_TOKEN;
4
+ if (!token) {
5
+ console.error("Error: NOTION_TOKEN environment variable is required");
6
+ process.exit(1);
7
+ }
8
+ return token;
9
+ }
10
+ export function getRootPageId() {
11
+ const pageId = process.env.NOTION_PAGE_ID;
12
+ if (!pageId) {
13
+ console.error("Error: NOTION_PAGE_ID environment variable is required");
14
+ process.exit(1);
15
+ }
16
+ return pageId;
17
+ }
18
+ export const notion = new Client({
19
+ auth: process.env.NOTION_TOKEN,
20
+ });
@@ -0,0 +1,23 @@
1
+ import Replicate from "replicate";
2
+ import { CONFIG } from "../config/index.js";
3
+ export function getReplicateApiToken() {
4
+ const token = process.env.REPLICATE_API_TOKEN;
5
+ if (!token) {
6
+ console.error("Error: REPLICATE_API_TOKEN environment variable is required");
7
+ process.exit(1);
8
+ }
9
+ return token;
10
+ }
11
+ export const replicate = new Replicate({
12
+ auth: getReplicateApiToken(),
13
+ });
14
+ export async function pollForCompletion(predictionId) {
15
+ for (let i = 0; i < CONFIG.pollingAttempts; i++) {
16
+ const latest = await replicate.predictions.get(predictionId);
17
+ if (latest.status !== "starting" && latest.status !== "processing") {
18
+ return latest;
19
+ }
20
+ await new Promise((resolve) => setTimeout(resolve, CONFIG.pollingInterval));
21
+ }
22
+ return null;
23
+ }