@atikk-co-jp/notion-mcp-server 0.1.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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +203 -0
  3. package/README.md +203 -0
  4. package/dist/bin/cli.d.ts +3 -0
  5. package/dist/bin/cli.d.ts.map +1 -0
  6. package/dist/bin/cli.js +25 -0
  7. package/dist/src/index.d.ts +7 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +9 -0
  10. package/dist/src/notion-client.d.ts +82 -0
  11. package/dist/src/notion-client.d.ts.map +1 -0
  12. package/dist/src/notion-client.js +93 -0
  13. package/dist/src/schemas/block.d.ts +2250 -0
  14. package/dist/src/schemas/block.d.ts.map +1 -0
  15. package/dist/src/schemas/block.js +195 -0
  16. package/dist/src/schemas/common.d.ts +126 -0
  17. package/dist/src/schemas/common.d.ts.map +1 -0
  18. package/dist/src/schemas/common.js +85 -0
  19. package/dist/src/schemas/filter.d.ts +105 -0
  20. package/dist/src/schemas/filter.d.ts.map +1 -0
  21. package/dist/src/schemas/filter.js +125 -0
  22. package/dist/src/schemas/index.d.ts +5 -0
  23. package/dist/src/schemas/index.d.ts.map +1 -0
  24. package/dist/src/schemas/index.js +8 -0
  25. package/dist/src/schemas/page.d.ts +474 -0
  26. package/dist/src/schemas/page.d.ts.map +1 -0
  27. package/dist/src/schemas/page.js +134 -0
  28. package/dist/src/server.d.ts +5 -0
  29. package/dist/src/server.d.ts.map +1 -0
  30. package/dist/src/server.js +16 -0
  31. package/dist/src/tools/append-block-children.d.ts +4 -0
  32. package/dist/src/tools/append-block-children.d.ts.map +1 -0
  33. package/dist/src/tools/append-block-children.js +32 -0
  34. package/dist/src/tools/create-comment.d.ts +4 -0
  35. package/dist/src/tools/create-comment.d.ts.map +1 -0
  36. package/dist/src/tools/create-comment.js +35 -0
  37. package/dist/src/tools/create-page.d.ts +4 -0
  38. package/dist/src/tools/create-page.d.ts.map +1 -0
  39. package/dist/src/tools/create-page.js +50 -0
  40. package/dist/src/tools/get-block-children.d.ts +4 -0
  41. package/dist/src/tools/get-block-children.d.ts.map +1 -0
  42. package/dist/src/tools/get-block-children.js +30 -0
  43. package/dist/src/tools/index.d.ts +13 -0
  44. package/dist/src/tools/index.d.ts.map +1 -0
  45. package/dist/src/tools/index.js +24 -0
  46. package/dist/src/tools/query-database.d.ts +4 -0
  47. package/dist/src/tools/query-database.d.ts.map +1 -0
  48. package/dist/src/tools/query-database.js +51 -0
  49. package/dist/src/tools/retrieve-page.d.ts +4 -0
  50. package/dist/src/tools/retrieve-page.d.ts.map +1 -0
  51. package/dist/src/tools/retrieve-page.js +16 -0
  52. package/dist/src/tools/search.d.ts +4 -0
  53. package/dist/src/tools/search.d.ts.map +1 -0
  54. package/dist/src/tools/search.js +58 -0
  55. package/dist/src/tools/update-page.d.ts +4 -0
  56. package/dist/src/tools/update-page.d.ts.map +1 -0
  57. package/dist/src/tools/update-page.js +47 -0
  58. package/dist/src/utils/error-handler.d.ts +11 -0
  59. package/dist/src/utils/error-handler.d.ts.map +1 -0
  60. package/dist/src/utils/error-handler.js +64 -0
  61. package/dist/src/utils/index.d.ts +3 -0
  62. package/dist/src/utils/index.d.ts.map +1 -0
  63. package/dist/src/utils/index.js +2 -0
  64. package/dist/src/utils/response-formatter.d.ts +5 -0
  65. package/dist/src/utils/response-formatter.d.ts.map +1 -0
  66. package/dist/src/utils/response-formatter.js +30 -0
  67. package/package.json +58 -0
@@ -0,0 +1,474 @@
1
+ import { z } from "zod";
2
+ export declare const TitlePropertySchema: z.ZodObject<{
3
+ type: z.ZodOptional<z.ZodLiteral<"title">>;
4
+ title: z.ZodArray<z.ZodObject<{
5
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
6
+ text: z.ZodObject<{
7
+ content: z.ZodString;
8
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
9
+ url: z.ZodString;
10
+ }, z.core.$strip>>>;
11
+ }, z.core.$strip>;
12
+ annotations: z.ZodOptional<z.ZodObject<{
13
+ bold: z.ZodOptional<z.ZodBoolean>;
14
+ italic: z.ZodOptional<z.ZodBoolean>;
15
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
16
+ underline: z.ZodOptional<z.ZodBoolean>;
17
+ code: z.ZodOptional<z.ZodBoolean>;
18
+ color: z.ZodOptional<z.ZodEnum<{
19
+ default: "default";
20
+ gray: "gray";
21
+ brown: "brown";
22
+ orange: "orange";
23
+ yellow: "yellow";
24
+ green: "green";
25
+ blue: "blue";
26
+ purple: "purple";
27
+ pink: "pink";
28
+ red: "red";
29
+ gray_background: "gray_background";
30
+ brown_background: "brown_background";
31
+ orange_background: "orange_background";
32
+ yellow_background: "yellow_background";
33
+ green_background: "green_background";
34
+ blue_background: "blue_background";
35
+ purple_background: "purple_background";
36
+ pink_background: "pink_background";
37
+ red_background: "red_background";
38
+ }>>;
39
+ }, z.core.$strip>>;
40
+ plain_text: z.ZodOptional<z.ZodString>;
41
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ }, z.core.$strip>>;
43
+ }, z.core.$strip>;
44
+ export declare const RichTextPropertySchema: z.ZodObject<{
45
+ type: z.ZodOptional<z.ZodLiteral<"rich_text">>;
46
+ rich_text: z.ZodArray<z.ZodObject<{
47
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
48
+ text: z.ZodObject<{
49
+ content: z.ZodString;
50
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
51
+ url: z.ZodString;
52
+ }, z.core.$strip>>>;
53
+ }, z.core.$strip>;
54
+ annotations: z.ZodOptional<z.ZodObject<{
55
+ bold: z.ZodOptional<z.ZodBoolean>;
56
+ italic: z.ZodOptional<z.ZodBoolean>;
57
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
58
+ underline: z.ZodOptional<z.ZodBoolean>;
59
+ code: z.ZodOptional<z.ZodBoolean>;
60
+ color: z.ZodOptional<z.ZodEnum<{
61
+ default: "default";
62
+ gray: "gray";
63
+ brown: "brown";
64
+ orange: "orange";
65
+ yellow: "yellow";
66
+ green: "green";
67
+ blue: "blue";
68
+ purple: "purple";
69
+ pink: "pink";
70
+ red: "red";
71
+ gray_background: "gray_background";
72
+ brown_background: "brown_background";
73
+ orange_background: "orange_background";
74
+ yellow_background: "yellow_background";
75
+ green_background: "green_background";
76
+ blue_background: "blue_background";
77
+ purple_background: "purple_background";
78
+ pink_background: "pink_background";
79
+ red_background: "red_background";
80
+ }>>;
81
+ }, z.core.$strip>>;
82
+ plain_text: z.ZodOptional<z.ZodString>;
83
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
+ }, z.core.$strip>>;
85
+ }, z.core.$strip>;
86
+ export declare const NumberPropertySchema: z.ZodObject<{
87
+ type: z.ZodOptional<z.ZodLiteral<"number">>;
88
+ number: z.ZodNullable<z.ZodNumber>;
89
+ }, z.core.$strip>;
90
+ export declare const SelectPropertySchema: z.ZodObject<{
91
+ type: z.ZodOptional<z.ZodLiteral<"select">>;
92
+ select: z.ZodNullable<z.ZodObject<{
93
+ id: z.ZodOptional<z.ZodString>;
94
+ name: z.ZodString;
95
+ color: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strip>>;
97
+ }, z.core.$strip>;
98
+ export declare const MultiSelectPropertySchema: z.ZodObject<{
99
+ type: z.ZodOptional<z.ZodLiteral<"multi_select">>;
100
+ multi_select: z.ZodArray<z.ZodObject<{
101
+ id: z.ZodOptional<z.ZodString>;
102
+ name: z.ZodString;
103
+ color: z.ZodOptional<z.ZodString>;
104
+ }, z.core.$strip>>;
105
+ }, z.core.$strip>;
106
+ export declare const StatusPropertySchema: z.ZodObject<{
107
+ type: z.ZodOptional<z.ZodLiteral<"status">>;
108
+ status: z.ZodNullable<z.ZodObject<{
109
+ id: z.ZodOptional<z.ZodString>;
110
+ name: z.ZodString;
111
+ color: z.ZodOptional<z.ZodString>;
112
+ }, z.core.$strip>>;
113
+ }, z.core.$strip>;
114
+ export declare const DatePropertySchema: z.ZodObject<{
115
+ type: z.ZodOptional<z.ZodLiteral<"date">>;
116
+ date: z.ZodNullable<z.ZodObject<{
117
+ start: z.ZodString;
118
+ end: z.ZodOptional<z.ZodNullable<z.ZodString>>;
119
+ time_zone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>;
122
+ export declare const CheckboxPropertySchema: z.ZodObject<{
123
+ type: z.ZodOptional<z.ZodLiteral<"checkbox">>;
124
+ checkbox: z.ZodBoolean;
125
+ }, z.core.$strip>;
126
+ export declare const UrlPropertySchema: z.ZodObject<{
127
+ type: z.ZodOptional<z.ZodLiteral<"url">>;
128
+ url: z.ZodNullable<z.ZodString>;
129
+ }, z.core.$strip>;
130
+ export declare const EmailPropertySchema: z.ZodObject<{
131
+ type: z.ZodOptional<z.ZodLiteral<"email">>;
132
+ email: z.ZodNullable<z.ZodString>;
133
+ }, z.core.$strip>;
134
+ export declare const PhoneNumberPropertySchema: z.ZodObject<{
135
+ type: z.ZodOptional<z.ZodLiteral<"phone_number">>;
136
+ phone_number: z.ZodNullable<z.ZodString>;
137
+ }, z.core.$strip>;
138
+ export declare const RelationPropertySchema: z.ZodObject<{
139
+ type: z.ZodOptional<z.ZodLiteral<"relation">>;
140
+ relation: z.ZodArray<z.ZodObject<{
141
+ id: z.ZodString;
142
+ }, z.core.$strip>>;
143
+ }, z.core.$strip>;
144
+ export declare const PeoplePropertySchema: z.ZodObject<{
145
+ type: z.ZodOptional<z.ZodLiteral<"people">>;
146
+ people: z.ZodArray<z.ZodObject<{
147
+ id: z.ZodString;
148
+ object: z.ZodOptional<z.ZodLiteral<"user">>;
149
+ }, z.core.$strip>>;
150
+ }, z.core.$strip>;
151
+ export declare const FilesPropertySchema: z.ZodObject<{
152
+ type: z.ZodOptional<z.ZodLiteral<"files">>;
153
+ files: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
154
+ type: z.ZodLiteral<"external">;
155
+ name: z.ZodString;
156
+ external: z.ZodObject<{
157
+ url: z.ZodString;
158
+ }, z.core.$strip>;
159
+ }, z.core.$strip>, z.ZodObject<{
160
+ type: z.ZodLiteral<"file">;
161
+ name: z.ZodString;
162
+ file: z.ZodObject<{
163
+ url: z.ZodString;
164
+ expiry_time: z.ZodOptional<z.ZodString>;
165
+ }, z.core.$strip>;
166
+ }, z.core.$strip>]>>;
167
+ }, z.core.$strip>;
168
+ export declare const PropertyValueSchema: z.ZodUnion<readonly [z.ZodObject<{
169
+ type: z.ZodOptional<z.ZodLiteral<"title">>;
170
+ title: z.ZodArray<z.ZodObject<{
171
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
172
+ text: z.ZodObject<{
173
+ content: z.ZodString;
174
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
175
+ url: z.ZodString;
176
+ }, z.core.$strip>>>;
177
+ }, z.core.$strip>;
178
+ annotations: z.ZodOptional<z.ZodObject<{
179
+ bold: z.ZodOptional<z.ZodBoolean>;
180
+ italic: z.ZodOptional<z.ZodBoolean>;
181
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
182
+ underline: z.ZodOptional<z.ZodBoolean>;
183
+ code: z.ZodOptional<z.ZodBoolean>;
184
+ color: z.ZodOptional<z.ZodEnum<{
185
+ default: "default";
186
+ gray: "gray";
187
+ brown: "brown";
188
+ orange: "orange";
189
+ yellow: "yellow";
190
+ green: "green";
191
+ blue: "blue";
192
+ purple: "purple";
193
+ pink: "pink";
194
+ red: "red";
195
+ gray_background: "gray_background";
196
+ brown_background: "brown_background";
197
+ orange_background: "orange_background";
198
+ yellow_background: "yellow_background";
199
+ green_background: "green_background";
200
+ blue_background: "blue_background";
201
+ purple_background: "purple_background";
202
+ pink_background: "pink_background";
203
+ red_background: "red_background";
204
+ }>>;
205
+ }, z.core.$strip>>;
206
+ plain_text: z.ZodOptional<z.ZodString>;
207
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
208
+ }, z.core.$strip>>;
209
+ }, z.core.$strip>, z.ZodObject<{
210
+ type: z.ZodOptional<z.ZodLiteral<"rich_text">>;
211
+ rich_text: z.ZodArray<z.ZodObject<{
212
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
213
+ text: z.ZodObject<{
214
+ content: z.ZodString;
215
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
216
+ url: z.ZodString;
217
+ }, z.core.$strip>>>;
218
+ }, z.core.$strip>;
219
+ annotations: z.ZodOptional<z.ZodObject<{
220
+ bold: z.ZodOptional<z.ZodBoolean>;
221
+ italic: z.ZodOptional<z.ZodBoolean>;
222
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
223
+ underline: z.ZodOptional<z.ZodBoolean>;
224
+ code: z.ZodOptional<z.ZodBoolean>;
225
+ color: z.ZodOptional<z.ZodEnum<{
226
+ default: "default";
227
+ gray: "gray";
228
+ brown: "brown";
229
+ orange: "orange";
230
+ yellow: "yellow";
231
+ green: "green";
232
+ blue: "blue";
233
+ purple: "purple";
234
+ pink: "pink";
235
+ red: "red";
236
+ gray_background: "gray_background";
237
+ brown_background: "brown_background";
238
+ orange_background: "orange_background";
239
+ yellow_background: "yellow_background";
240
+ green_background: "green_background";
241
+ blue_background: "blue_background";
242
+ purple_background: "purple_background";
243
+ pink_background: "pink_background";
244
+ red_background: "red_background";
245
+ }>>;
246
+ }, z.core.$strip>>;
247
+ plain_text: z.ZodOptional<z.ZodString>;
248
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
249
+ }, z.core.$strip>>;
250
+ }, z.core.$strip>, z.ZodObject<{
251
+ type: z.ZodOptional<z.ZodLiteral<"number">>;
252
+ number: z.ZodNullable<z.ZodNumber>;
253
+ }, z.core.$strip>, z.ZodObject<{
254
+ type: z.ZodOptional<z.ZodLiteral<"select">>;
255
+ select: z.ZodNullable<z.ZodObject<{
256
+ id: z.ZodOptional<z.ZodString>;
257
+ name: z.ZodString;
258
+ color: z.ZodOptional<z.ZodString>;
259
+ }, z.core.$strip>>;
260
+ }, z.core.$strip>, z.ZodObject<{
261
+ type: z.ZodOptional<z.ZodLiteral<"multi_select">>;
262
+ multi_select: z.ZodArray<z.ZodObject<{
263
+ id: z.ZodOptional<z.ZodString>;
264
+ name: z.ZodString;
265
+ color: z.ZodOptional<z.ZodString>;
266
+ }, z.core.$strip>>;
267
+ }, z.core.$strip>, z.ZodObject<{
268
+ type: z.ZodOptional<z.ZodLiteral<"status">>;
269
+ status: z.ZodNullable<z.ZodObject<{
270
+ id: z.ZodOptional<z.ZodString>;
271
+ name: z.ZodString;
272
+ color: z.ZodOptional<z.ZodString>;
273
+ }, z.core.$strip>>;
274
+ }, z.core.$strip>, z.ZodObject<{
275
+ type: z.ZodOptional<z.ZodLiteral<"date">>;
276
+ date: z.ZodNullable<z.ZodObject<{
277
+ start: z.ZodString;
278
+ end: z.ZodOptional<z.ZodNullable<z.ZodString>>;
279
+ time_zone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
+ }, z.core.$strip>>;
281
+ }, z.core.$strip>, z.ZodObject<{
282
+ type: z.ZodOptional<z.ZodLiteral<"checkbox">>;
283
+ checkbox: z.ZodBoolean;
284
+ }, z.core.$strip>, z.ZodObject<{
285
+ type: z.ZodOptional<z.ZodLiteral<"url">>;
286
+ url: z.ZodNullable<z.ZodString>;
287
+ }, z.core.$strip>, z.ZodObject<{
288
+ type: z.ZodOptional<z.ZodLiteral<"email">>;
289
+ email: z.ZodNullable<z.ZodString>;
290
+ }, z.core.$strip>, z.ZodObject<{
291
+ type: z.ZodOptional<z.ZodLiteral<"phone_number">>;
292
+ phone_number: z.ZodNullable<z.ZodString>;
293
+ }, z.core.$strip>, z.ZodObject<{
294
+ type: z.ZodOptional<z.ZodLiteral<"relation">>;
295
+ relation: z.ZodArray<z.ZodObject<{
296
+ id: z.ZodString;
297
+ }, z.core.$strip>>;
298
+ }, z.core.$strip>, z.ZodObject<{
299
+ type: z.ZodOptional<z.ZodLiteral<"people">>;
300
+ people: z.ZodArray<z.ZodObject<{
301
+ id: z.ZodString;
302
+ object: z.ZodOptional<z.ZodLiteral<"user">>;
303
+ }, z.core.$strip>>;
304
+ }, z.core.$strip>, z.ZodObject<{
305
+ type: z.ZodOptional<z.ZodLiteral<"files">>;
306
+ files: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
307
+ type: z.ZodLiteral<"external">;
308
+ name: z.ZodString;
309
+ external: z.ZodObject<{
310
+ url: z.ZodString;
311
+ }, z.core.$strip>;
312
+ }, z.core.$strip>, z.ZodObject<{
313
+ type: z.ZodLiteral<"file">;
314
+ name: z.ZodString;
315
+ file: z.ZodObject<{
316
+ url: z.ZodString;
317
+ expiry_time: z.ZodOptional<z.ZodString>;
318
+ }, z.core.$strip>;
319
+ }, z.core.$strip>]>>;
320
+ }, z.core.$strip>]>;
321
+ export declare const PropertiesSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
322
+ type: z.ZodOptional<z.ZodLiteral<"title">>;
323
+ title: z.ZodArray<z.ZodObject<{
324
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
325
+ text: z.ZodObject<{
326
+ content: z.ZodString;
327
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
328
+ url: z.ZodString;
329
+ }, z.core.$strip>>>;
330
+ }, z.core.$strip>;
331
+ annotations: z.ZodOptional<z.ZodObject<{
332
+ bold: z.ZodOptional<z.ZodBoolean>;
333
+ italic: z.ZodOptional<z.ZodBoolean>;
334
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
335
+ underline: z.ZodOptional<z.ZodBoolean>;
336
+ code: z.ZodOptional<z.ZodBoolean>;
337
+ color: z.ZodOptional<z.ZodEnum<{
338
+ default: "default";
339
+ gray: "gray";
340
+ brown: "brown";
341
+ orange: "orange";
342
+ yellow: "yellow";
343
+ green: "green";
344
+ blue: "blue";
345
+ purple: "purple";
346
+ pink: "pink";
347
+ red: "red";
348
+ gray_background: "gray_background";
349
+ brown_background: "brown_background";
350
+ orange_background: "orange_background";
351
+ yellow_background: "yellow_background";
352
+ green_background: "green_background";
353
+ blue_background: "blue_background";
354
+ purple_background: "purple_background";
355
+ pink_background: "pink_background";
356
+ red_background: "red_background";
357
+ }>>;
358
+ }, z.core.$strip>>;
359
+ plain_text: z.ZodOptional<z.ZodString>;
360
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
361
+ }, z.core.$strip>>;
362
+ }, z.core.$strip>, z.ZodObject<{
363
+ type: z.ZodOptional<z.ZodLiteral<"rich_text">>;
364
+ rich_text: z.ZodArray<z.ZodObject<{
365
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
366
+ text: z.ZodObject<{
367
+ content: z.ZodString;
368
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
369
+ url: z.ZodString;
370
+ }, z.core.$strip>>>;
371
+ }, z.core.$strip>;
372
+ annotations: z.ZodOptional<z.ZodObject<{
373
+ bold: z.ZodOptional<z.ZodBoolean>;
374
+ italic: z.ZodOptional<z.ZodBoolean>;
375
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
376
+ underline: z.ZodOptional<z.ZodBoolean>;
377
+ code: z.ZodOptional<z.ZodBoolean>;
378
+ color: z.ZodOptional<z.ZodEnum<{
379
+ default: "default";
380
+ gray: "gray";
381
+ brown: "brown";
382
+ orange: "orange";
383
+ yellow: "yellow";
384
+ green: "green";
385
+ blue: "blue";
386
+ purple: "purple";
387
+ pink: "pink";
388
+ red: "red";
389
+ gray_background: "gray_background";
390
+ brown_background: "brown_background";
391
+ orange_background: "orange_background";
392
+ yellow_background: "yellow_background";
393
+ green_background: "green_background";
394
+ blue_background: "blue_background";
395
+ purple_background: "purple_background";
396
+ pink_background: "pink_background";
397
+ red_background: "red_background";
398
+ }>>;
399
+ }, z.core.$strip>>;
400
+ plain_text: z.ZodOptional<z.ZodString>;
401
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
402
+ }, z.core.$strip>>;
403
+ }, z.core.$strip>, z.ZodObject<{
404
+ type: z.ZodOptional<z.ZodLiteral<"number">>;
405
+ number: z.ZodNullable<z.ZodNumber>;
406
+ }, z.core.$strip>, z.ZodObject<{
407
+ type: z.ZodOptional<z.ZodLiteral<"select">>;
408
+ select: z.ZodNullable<z.ZodObject<{
409
+ id: z.ZodOptional<z.ZodString>;
410
+ name: z.ZodString;
411
+ color: z.ZodOptional<z.ZodString>;
412
+ }, z.core.$strip>>;
413
+ }, z.core.$strip>, z.ZodObject<{
414
+ type: z.ZodOptional<z.ZodLiteral<"multi_select">>;
415
+ multi_select: z.ZodArray<z.ZodObject<{
416
+ id: z.ZodOptional<z.ZodString>;
417
+ name: z.ZodString;
418
+ color: z.ZodOptional<z.ZodString>;
419
+ }, z.core.$strip>>;
420
+ }, z.core.$strip>, z.ZodObject<{
421
+ type: z.ZodOptional<z.ZodLiteral<"status">>;
422
+ status: z.ZodNullable<z.ZodObject<{
423
+ id: z.ZodOptional<z.ZodString>;
424
+ name: z.ZodString;
425
+ color: z.ZodOptional<z.ZodString>;
426
+ }, z.core.$strip>>;
427
+ }, z.core.$strip>, z.ZodObject<{
428
+ type: z.ZodOptional<z.ZodLiteral<"date">>;
429
+ date: z.ZodNullable<z.ZodObject<{
430
+ start: z.ZodString;
431
+ end: z.ZodOptional<z.ZodNullable<z.ZodString>>;
432
+ time_zone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
433
+ }, z.core.$strip>>;
434
+ }, z.core.$strip>, z.ZodObject<{
435
+ type: z.ZodOptional<z.ZodLiteral<"checkbox">>;
436
+ checkbox: z.ZodBoolean;
437
+ }, z.core.$strip>, z.ZodObject<{
438
+ type: z.ZodOptional<z.ZodLiteral<"url">>;
439
+ url: z.ZodNullable<z.ZodString>;
440
+ }, z.core.$strip>, z.ZodObject<{
441
+ type: z.ZodOptional<z.ZodLiteral<"email">>;
442
+ email: z.ZodNullable<z.ZodString>;
443
+ }, z.core.$strip>, z.ZodObject<{
444
+ type: z.ZodOptional<z.ZodLiteral<"phone_number">>;
445
+ phone_number: z.ZodNullable<z.ZodString>;
446
+ }, z.core.$strip>, z.ZodObject<{
447
+ type: z.ZodOptional<z.ZodLiteral<"relation">>;
448
+ relation: z.ZodArray<z.ZodObject<{
449
+ id: z.ZodString;
450
+ }, z.core.$strip>>;
451
+ }, z.core.$strip>, z.ZodObject<{
452
+ type: z.ZodOptional<z.ZodLiteral<"people">>;
453
+ people: z.ZodArray<z.ZodObject<{
454
+ id: z.ZodString;
455
+ object: z.ZodOptional<z.ZodLiteral<"user">>;
456
+ }, z.core.$strip>>;
457
+ }, z.core.$strip>, z.ZodObject<{
458
+ type: z.ZodOptional<z.ZodLiteral<"files">>;
459
+ files: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
460
+ type: z.ZodLiteral<"external">;
461
+ name: z.ZodString;
462
+ external: z.ZodObject<{
463
+ url: z.ZodString;
464
+ }, z.core.$strip>;
465
+ }, z.core.$strip>, z.ZodObject<{
466
+ type: z.ZodLiteral<"file">;
467
+ name: z.ZodString;
468
+ file: z.ZodObject<{
469
+ url: z.ZodString;
470
+ expiry_time: z.ZodOptional<z.ZodString>;
471
+ }, z.core.$strip>;
472
+ }, z.core.$strip>]>>;
473
+ }, z.core.$strip>]>>;
474
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/schemas/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG9B,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGjC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;iBAS/B,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;iBASpC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;iBAS/B,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;iBAS7B,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;iBAOjC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;iBAQ/B,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;iBAqB9B,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAe9B,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAA4C,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { z } from "zod";
2
+ import { RichTextArraySchema } from "./common.js";
3
+ // Title property value
4
+ export const TitlePropertySchema = z.object({
5
+ type: z.literal("title").optional(),
6
+ title: RichTextArraySchema,
7
+ });
8
+ // Rich text property value
9
+ export const RichTextPropertySchema = z.object({
10
+ type: z.literal("rich_text").optional(),
11
+ rich_text: RichTextArraySchema,
12
+ });
13
+ // Number property value
14
+ export const NumberPropertySchema = z.object({
15
+ type: z.literal("number").optional(),
16
+ number: z.number().nullable(),
17
+ });
18
+ // Select property value
19
+ export const SelectPropertySchema = z.object({
20
+ type: z.literal("select").optional(),
21
+ select: z
22
+ .object({
23
+ id: z.string().optional(),
24
+ name: z.string(),
25
+ color: z.string().optional(),
26
+ })
27
+ .nullable(),
28
+ });
29
+ // Multi-select property value
30
+ export const MultiSelectPropertySchema = z.object({
31
+ type: z.literal("multi_select").optional(),
32
+ multi_select: z.array(z.object({
33
+ id: z.string().optional(),
34
+ name: z.string(),
35
+ color: z.string().optional(),
36
+ })),
37
+ });
38
+ // Status property value
39
+ export const StatusPropertySchema = z.object({
40
+ type: z.literal("status").optional(),
41
+ status: z
42
+ .object({
43
+ id: z.string().optional(),
44
+ name: z.string(),
45
+ color: z.string().optional(),
46
+ })
47
+ .nullable(),
48
+ });
49
+ // Date property value
50
+ export const DatePropertySchema = z.object({
51
+ type: z.literal("date").optional(),
52
+ date: z
53
+ .object({
54
+ start: z.string(),
55
+ end: z.string().nullable().optional(),
56
+ time_zone: z.string().nullable().optional(),
57
+ })
58
+ .nullable(),
59
+ });
60
+ // Checkbox property value
61
+ export const CheckboxPropertySchema = z.object({
62
+ type: z.literal("checkbox").optional(),
63
+ checkbox: z.boolean(),
64
+ });
65
+ // URL property value
66
+ export const UrlPropertySchema = z.object({
67
+ type: z.literal("url").optional(),
68
+ url: z.string().nullable(),
69
+ });
70
+ // Email property value
71
+ export const EmailPropertySchema = z.object({
72
+ type: z.literal("email").optional(),
73
+ email: z.string().nullable(),
74
+ });
75
+ // Phone number property value
76
+ export const PhoneNumberPropertySchema = z.object({
77
+ type: z.literal("phone_number").optional(),
78
+ phone_number: z.string().nullable(),
79
+ });
80
+ // Relation property value
81
+ export const RelationPropertySchema = z.object({
82
+ type: z.literal("relation").optional(),
83
+ relation: z.array(z.object({
84
+ id: z.string(),
85
+ })),
86
+ });
87
+ // People property value
88
+ export const PeoplePropertySchema = z.object({
89
+ type: z.literal("people").optional(),
90
+ people: z.array(z.object({
91
+ id: z.string(),
92
+ object: z.literal("user").optional(),
93
+ })),
94
+ });
95
+ // Files property value
96
+ export const FilesPropertySchema = z.object({
97
+ type: z.literal("files").optional(),
98
+ files: z.array(z.union([
99
+ z.object({
100
+ type: z.literal("external"),
101
+ name: z.string(),
102
+ external: z.object({
103
+ url: z.string(),
104
+ }),
105
+ }),
106
+ z.object({
107
+ type: z.literal("file"),
108
+ name: z.string(),
109
+ file: z.object({
110
+ url: z.string(),
111
+ expiry_time: z.string().optional(),
112
+ }),
113
+ }),
114
+ ])),
115
+ });
116
+ // Combined property value schema (flexible for any property type)
117
+ export const PropertyValueSchema = z.union([
118
+ TitlePropertySchema,
119
+ RichTextPropertySchema,
120
+ NumberPropertySchema,
121
+ SelectPropertySchema,
122
+ MultiSelectPropertySchema,
123
+ StatusPropertySchema,
124
+ DatePropertySchema,
125
+ CheckboxPropertySchema,
126
+ UrlPropertySchema,
127
+ EmailPropertySchema,
128
+ PhoneNumberPropertySchema,
129
+ RelationPropertySchema,
130
+ PeoplePropertySchema,
131
+ FilesPropertySchema,
132
+ ]);
133
+ // Properties object schema (record of property name to property value)
134
+ export const PropertiesSchema = z.record(z.string(), PropertyValueSchema);
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ export declare function startServer(): Promise<void>;
4
+ export { McpServer, StdioServerTransport };
5
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAMjF,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjD;AAED,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { createNotionClient } from "./notion-client.js";
4
+ import { registerAllTools } from "./tools/index.js";
5
+ const PACKAGE_VERSION = "0.1.0";
6
+ export async function startServer() {
7
+ const server = new McpServer({
8
+ name: "notion-mcp-server",
9
+ version: PACKAGE_VERSION,
10
+ });
11
+ const notion = createNotionClient();
12
+ registerAllTools(server, notion);
13
+ const transport = new StdioServerTransport();
14
+ await server.connect(transport);
15
+ }
16
+ export { McpServer, StdioServerTransport };
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { NotionClient } from "../notion-client.js";
3
+ export declare function registerAppendBlockChildren(server: McpServer, notion: NotionClient): void;
4
+ //# sourceMappingURL=append-block-children.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-block-children.d.ts","sourceRoot":"","sources":["../../../src/tools/append-block-children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoBxD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA2BzF"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { formatResponse, handleError } from "../utils/index.js";
3
+ const inputSchema = {
4
+ block_id: z.string().describe("The ID of the block or page to append children to"),
5
+ children: z
6
+ .array(z.any())
7
+ .describe("Array of block objects to append. " +
8
+ 'Example: [{ "type": "paragraph", "paragraph": { "rich_text": [{ "text": { "content": "Hello" } }] } }]'),
9
+ after: z
10
+ .string()
11
+ .optional()
12
+ .describe("The ID of a block to insert the new children after. " +
13
+ "If not provided, children are appended at the end."),
14
+ };
15
+ export function registerAppendBlockChildren(server, notion) {
16
+ server.tool("append-block-children", "Append new blocks as children to a block or page.", inputSchema, async ({ block_id, children, after }) => {
17
+ try {
18
+ const params = {
19
+ block_id,
20
+ children,
21
+ };
22
+ if (after) {
23
+ params.after = after;
24
+ }
25
+ const response = await notion.blocks.children.append(params);
26
+ return formatResponse(response);
27
+ }
28
+ catch (error) {
29
+ return handleError(error);
30
+ }
31
+ });
32
+ }