@atikk-co-jp/notion-mcp-server 0.10.0 → 0.10.2

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.
package/README.ja.md CHANGED
@@ -6,6 +6,79 @@ Notion API用のMCP(Model Context Protocol)サーバー。AIアシスタン
6
6
 
7
7
  **APIバージョン**: 2025-09-03(最新)
8
8
 
9
+ ## なぜこのリポジトリ?
10
+
11
+ ### このリポジトリを作った理由
12
+
13
+ Notionのタスクデータベースから、特定の条件でタスクを取得してAIエージェントに処理させたいと考えました:
14
+
15
+ > 「ステータスが『未着手』かつ担当者が『Aさん』のタスクを優先度順で取得したい」
16
+
17
+ 既存の選択肢を調査した結果:
18
+
19
+ | MCPオプション | プロパティフィルタ | トークン効率 | 必要なプラン |
20
+ |--------------|-------------------|--------------|-------------|
21
+ | [公式Notion MCP](https://developers.notion.com/docs/mcp) | メタデータのみ (created_at, created_by) / フル (Enterprise+AI) | 良好 | Notion AI |
22
+ | [`@notionhq/notion-mcp-server`](https://github.com/makenotion/notion-mcp-server) | ✅ フルサポート | レスポンス大 | なし |
23
+ | **このリポジトリ** | ✅ フルサポート | **最適化** | **なし** |
24
+
25
+ **埋めたかったギャップ:**
26
+ - データベースプロパティの完全なフィルタリング(AND/OR、select、checkbox、date等)
27
+ - LLMのトークン効率を考慮した最適化されたレスポンスサイズ
28
+ - プラン制限なし
29
+
30
+ **このリポジトリは、`fields`パラメータによる90%のトークン削減と共にプロパティフィルタを提供します。**
31
+
32
+ ## クイックスタート
33
+
34
+ ### 1. Notionトークンを取得
35
+
36
+ 1. [Notion Integrations](https://www.notion.so/my-integrations)にアクセス
37
+ 2. 「新しいインテグレーション」をクリック
38
+ 3. 名前を入力し、ワークスペースを選択
39
+ 4. 「内部インテグレーションシークレット」をコピー(`ntn_`で始まる)
40
+ 5. アクセスしたいページ/データベースをインテグレーションと共有
41
+
42
+ ### 2. AIクライアントを設定
43
+
44
+ #### Claude Desktop
45
+
46
+ 設定ファイル(macOSの場合: `~/.config/claude/claude_desktop_config.json`)に追加:
47
+
48
+ ```json
49
+ {
50
+ "mcpServers": {
51
+ "notion": {
52
+ "command": "npx",
53
+ "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
54
+ "env": {
55
+ "NOTION_TOKEN": "ntn_xxxxxxxxxxxx"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ #### Claude Code
63
+
64
+ `.mcp.json`に追加:
65
+
66
+ ```json
67
+ {
68
+ "mcpServers": {
69
+ "notion": {
70
+ "command": "npx",
71
+ "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
72
+ "env": {
73
+ "NOTION_TOKEN": "ntn_xxxxxxxxxxxx"
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ 以上です!AIクライアントを再起動して、Notionの操作を始めましょう。
81
+
9
82
  ## 特徴
10
83
 
11
84
  - **ページ操作**: Notionページの作成、取得、更新、移動
@@ -64,62 +137,6 @@ Notion API用のMCP(Model Context Protocol)サーバー。AIアシスタン
64
137
  | **検索** | | | | |
65
138
  | | [Search](https://developers.notion.com/reference/post-search) | `search` | JSON | **simple**/json |
66
139
 
67
- ## インストール
68
-
69
- ```bash
70
- npm install @atikk-co-jp/notion-mcp-server
71
- # または
72
- pnpm add @atikk-co-jp/notion-mcp-server
73
- # または
74
- yarn add @atikk-co-jp/notion-mcp-server
75
- ```
76
-
77
- ## 使い方
78
-
79
- ### Claude Desktopで使用する
80
-
81
- Claude Desktopの設定ファイル(macOSの場合: `~/.config/claude/claude_desktop_config.json`)に追加:
82
-
83
- ```json
84
- {
85
- "mcpServers": {
86
- "notion": {
87
- "command": "npx",
88
- "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
89
- "env": {
90
- "NOTION_TOKEN": "your-notion-integration-token"
91
- }
92
- }
93
- }
94
- }
95
- ```
96
-
97
- ### Claude Codeで使用する
98
-
99
- `.mcp.json`に追加:
100
-
101
- ```json
102
- {
103
- "mcpServers": {
104
- "notion": {
105
- "command": "npx",
106
- "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
107
- "env": {
108
- "NOTION_TOKEN": "your-notion-integration-token"
109
- }
110
- }
111
- }
112
- }
113
- ```
114
-
115
- ## Notionトークンの取得方法
116
-
117
- 1. [Notion Integrations](https://www.notion.so/my-integrations)にアクセス
118
- 2. 「新しいインテグレーション」をクリック
119
- 3. 名前を入力し、ワークスペースを選択
120
- 4. 「内部インテグレーションシークレット」をコピー(`ntn_`で始まる)
121
- 5. アクセスしたいページ/データベースをインテグレーションと共有
122
-
123
140
  ## 利用可能なツール
124
141
 
125
142
  ### retrieve-page
@@ -408,17 +425,6 @@ Markdownを使ってブロックを追加します。`append-block-children`と
408
425
  | append-block-children (ブロック構造) | ~201 | - |
409
426
  | append-blocks-simple (Markdown) | ~42 | **79%** |
410
427
 
411
- ### create-comment
412
-
413
- ページにコメントを追加します。
414
-
415
- ```json
416
- {
417
- "page_id": "ページのUUID",
418
- "rich_text": [{ "type": "text", "text": { "content": "これはコメントです" } }]
419
- }
420
- ```
421
-
422
428
  ### replace-page-content ⭐
423
429
 
424
430
  ページの全コンテンツをMarkdownで置換します。`child_database`と`child_page`ブロックは自動的に保護されます(削除されません)。
@@ -484,6 +490,33 @@ Markdownを使ってブロックを追加します。`append-block-children`と
484
490
 
485
491
  **対象ブロックタイプ:** paragraph, heading_1/2/3, bulleted_list_item, numbered_list_item, to_do, quote, callout, toggle
486
492
 
493
+ ### create-comment
494
+
495
+ ページにコメントを追加します。
496
+
497
+ ```json
498
+ {
499
+ "page_id": "ページのUUID",
500
+ "rich_text": [{ "type": "text", "text": { "content": "これはコメントです" } }]
501
+ }
502
+ ```
503
+
504
+ ### create-comment-simple ⭐
505
+
506
+ Markdownを使ってコメントを追加します。`create-comment`より簡単。
507
+
508
+ **パラメータ:**
509
+ - `page_id` (必須): ページのID
510
+ - `content` (必須): コメント内容(Markdown形式)
511
+ - `discussion_id` (任意): 既存スレッドへの返信
512
+
513
+ ```json
514
+ {
515
+ "page_id": "ページのUUID",
516
+ "content": "これは**重要**で[リンク](https://example.com)もあります"
517
+ }
518
+ ```
519
+
487
520
  ## 開発
488
521
 
489
522
  ```bash
package/README.md CHANGED
@@ -6,6 +6,79 @@ MCP (Model Context Protocol) server for Notion API. Enables AI assistants to int
6
6
 
7
7
  **API Version**: 2025-09-03 (latest)
8
8
 
9
+ ## Why this repository?
10
+
11
+ ### Why I Built This
12
+
13
+ I wanted to use AI agents to process tasks from my Notion database with specific conditions:
14
+
15
+ > "Get tasks where Status = 'Not Started' AND Assignee = 'Alice', sorted by Priority"
16
+
17
+ Here's what I found with existing options:
18
+
19
+ | MCP Option | Property Filtering | Token Efficiency | Plan Required |
20
+ |------------|-------------------|------------------|---------------|
21
+ | [Official Notion MCP](https://developers.notion.com/docs/mcp) | Metadata only (created_at, created_by) / Full (Enterprise+AI) | Good | Notion AI |
22
+ | [`@notionhq/notion-mcp-server`](https://github.com/makenotion/notion-mcp-server) | ✅ Full support | Large responses | None |
23
+ | **This repository** | ✅ Full support | **Optimized** | **None** |
24
+
25
+ **The gap I wanted to fill:**
26
+ - Full database property filtering (AND/OR, select, checkbox, date, etc.)
27
+ - Optimized response sizes for LLM token efficiency
28
+ - No plan restrictions
29
+
30
+ **This repository provides property filtering with `fields` parameter for 90% token reduction.**
31
+
32
+ ## Quick Start
33
+
34
+ ### 1. Get a Notion Token
35
+
36
+ 1. Go to [Notion Integrations](https://www.notion.so/my-integrations)
37
+ 2. Click "New integration"
38
+ 3. Give it a name and select the workspace
39
+ 4. Copy the "Internal Integration Token" (starts with `ntn_`)
40
+ 5. Share the pages/databases you want to access with your integration
41
+
42
+ ### 2. Configure Your AI Client
43
+
44
+ #### Claude Desktop
45
+
46
+ Add to your configuration (`~/.config/claude/claude_desktop_config.json` on macOS):
47
+
48
+ ```json
49
+ {
50
+ "mcpServers": {
51
+ "notion": {
52
+ "command": "npx",
53
+ "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
54
+ "env": {
55
+ "NOTION_TOKEN": "ntn_xxxxxxxxxxxx"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ #### Claude Code
63
+
64
+ Add to your `.mcp.json`:
65
+
66
+ ```json
67
+ {
68
+ "mcpServers": {
69
+ "notion": {
70
+ "command": "npx",
71
+ "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
72
+ "env": {
73
+ "NOTION_TOKEN": "ntn_xxxxxxxxxxxx"
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ That's it! Restart your AI client and start using Notion.
81
+
9
82
  ## Features
10
83
 
11
84
  - **Page Operations**: Create, retrieve, update, and move Notion pages
@@ -63,62 +136,6 @@ MCP (Model Context Protocol) server for Notion API. Enables AI assistants to int
63
136
  | **Search** | | | | |
64
137
  | | [Search](https://developers.notion.com/reference/post-search) | `search` | JSON | **simple**/json |
65
138
 
66
- ## Installation
67
-
68
- ```bash
69
- npm install @atikk-co-jp/notion-mcp-server
70
- # or
71
- pnpm add @atikk-co-jp/notion-mcp-server
72
- # or
73
- yarn add @atikk-co-jp/notion-mcp-server
74
- ```
75
-
76
- ## Usage
77
-
78
- ### With Claude Desktop
79
-
80
- Add to your Claude Desktop configuration (`~/.config/claude/claude_desktop_config.json` on macOS):
81
-
82
- ```json
83
- {
84
- "mcpServers": {
85
- "notion": {
86
- "command": "npx",
87
- "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
88
- "env": {
89
- "NOTION_TOKEN": "your-notion-integration-token"
90
- }
91
- }
92
- }
93
- }
94
- ```
95
-
96
- ### With Claude Code
97
-
98
- Add to your `.mcp.json`:
99
-
100
- ```json
101
- {
102
- "mcpServers": {
103
- "notion": {
104
- "command": "npx",
105
- "args": ["-y", "@atikk-co-jp/notion-mcp-server"],
106
- "env": {
107
- "NOTION_TOKEN": "your-notion-integration-token"
108
- }
109
- }
110
- }
111
- }
112
- ```
113
-
114
- ## Getting a Notion Token
115
-
116
- 1. Go to [Notion Integrations](https://www.notion.so/my-integrations)
117
- 2. Click "New integration"
118
- 3. Give it a name and select the workspace
119
- 4. Copy the "Internal Integration Token" (starts with `ntn_`)
120
- 5. Share the pages/databases you want to access with your integration
121
-
122
139
  ## Available Tools
123
140
 
124
141
  ### retrieve-page
@@ -1 +1 @@
1
- {"version":3,"file":"find-and-replace-in-page.d.ts","sourceRoot":"","sources":["../../../src/tools/find-and-replace-in-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAIxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAyDvD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAWlG;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAWlF;AA4CD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAsG1F"}
1
+ {"version":3,"file":"find-and-replace-in-page.d.ts","sourceRoot":"","sources":["../../../src/tools/find-and-replace-in-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAIxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AA6DvD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,GAChB,MAAM,CAWR;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAWlF;AA4CD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAsG1F"}
@@ -100,7 +100,7 @@ async function getAllChildBlocks(notion, pageId) {
100
100
  allBlocks.push(block);
101
101
  }
102
102
  }
103
- cursor = response.has_more ? response.next_cursor ?? undefined : undefined;
103
+ cursor = response.has_more ? (response.next_cursor ?? undefined) : undefined;
104
104
  } while (cursor);
105
105
  return allBlocks;
106
106
  }
@@ -11,12 +11,12 @@ import { registerCreatePage } from './create-page.js';
11
11
  import { registerCreatePageSimple } from './create-page-simple.js';
12
12
  import { registerDeleteBlock } from './delete-block.js';
13
13
  import { registerFindAndReplaceInPage } from './find-and-replace-in-page.js';
14
- import { registerReplacePageContent } from './replace-page-content.js';
15
14
  import { registerGetBlockChildren } from './get-block-children.js';
16
15
  import { registerListComments } from './list-comments.js';
17
16
  import { registerListUsers } from './list-users.js';
18
17
  import { registerMovePage } from './move-page.js';
19
18
  import { registerQueryDataSource } from './query-data-source.js';
19
+ import { registerReplacePageContent } from './replace-page-content.js';
20
20
  import { registerRetrieveBlock } from './retrieve-block.js';
21
21
  import { registerRetrieveBotUser } from './retrieve-bot-user.js';
22
22
  import { registerRetrieveDataSource } from './retrieve-data-source.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA4C9E;AAED,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA4C9E;AAED,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,CAAA"}
@@ -9,12 +9,12 @@ import { registerCreatePage } from './create-page.js';
9
9
  import { registerCreatePageSimple } from './create-page-simple.js';
10
10
  import { registerDeleteBlock } from './delete-block.js';
11
11
  import { registerFindAndReplaceInPage } from './find-and-replace-in-page.js';
12
- import { registerReplacePageContent } from './replace-page-content.js';
13
12
  import { registerGetBlockChildren } from './get-block-children.js';
14
13
  import { registerListComments } from './list-comments.js';
15
14
  import { registerListUsers } from './list-users.js';
16
15
  import { registerMovePage } from './move-page.js';
17
16
  import { registerQueryDataSource } from './query-data-source.js';
17
+ import { registerReplacePageContent } from './replace-page-content.js';
18
18
  import { registerRetrieveBlock } from './retrieve-block.js';
19
19
  import { registerRetrieveBotUser } from './retrieve-bot-user.js';
20
20
  import { registerRetrieveDataSource } from './retrieve-data-source.js';
@@ -29,7 +29,7 @@ async function getAllChildBlocks(notion, pageId) {
29
29
  allBlocks.push(block);
30
30
  }
31
31
  }
32
- cursor = response.has_more ? response.next_cursor ?? undefined : undefined;
32
+ cursor = response.has_more ? (response.next_cursor ?? undefined) : undefined;
33
33
  } while (cursor);
34
34
  return allBlocks;
35
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atikk-co-jp/notion-mcp-server",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "description": "MCP server for Notion API - Create, read, update pages and databases",
5
5
  "type": "module",
6
6
  "license": "MIT",