@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 +100 -67
- package/README.md +73 -56
- package/dist/src/tools/find-and-replace-in-page.d.ts.map +1 -1
- package/dist/src/tools/find-and-replace-in-page.js +1 -1
- package/dist/src/tools/index.d.ts +1 -1
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +1 -1
- package/dist/src/tools/replace-page-content.js +1 -1
- package/package.json +1 -1
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;
|
|
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,
|
|
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"}
|
package/dist/src/tools/index.js
CHANGED
|
@@ -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
|
}
|