arcade-mcp/toolkits/notion
Eric Gustin 8f87212058
Notion Toolkit Optimizations (#379)
1. Paginate through all current level blocks before recursing into
children (before this PR we would go back and forth between paginate and
recurse)
2. For top-level blocks only, split blocks into 5 lists, and
concurrently get their content


---------

From my local timing benchmarks, this speeds up the tool call by ~60%
(23 seconds to 9.1 seconds) for larger Notion pages


Without optimization: Avg 22995
Attempt 1: 27503.49497795105
Attempt 2: 20863.977909088135
Attempt 3: 20888.309955596924
Attempt 4: 18574.61714744568
Attempt 5: 27147.75586128235

With optimization: Avg 9148.6
Attempt 1: 9941.372871398926
Attempt 2: 10097.685098648071
Attempt 3: 7855.895042419434
Attempt 4: 9078.719854354858
Attempt 5: 8772.69196510315
2025-04-24 11:03:23 -07:00
..
arcade_notion_toolkit Notion Toolkit Optimizations (#379) 2025-04-24 11:03:23 -07:00
evals Update Notion Toolkit (#309) 2025-03-17 21:15:00 -07:00
tests Update Notion Toolkit (#309) 2025-03-17 21:15:00 -07:00
.pre-commit-config.yaml Notion Toolkit (#283) 2025-03-15 11:08:10 -08:00
.ruff.toml Common changes in all toolkits (#345) 2025-04-04 09:32:37 -07:00
conftest.py Notion Toolkit (#283) 2025-03-15 11:08:10 -08:00
LICENSE Notion Toolkit (#283) 2025-03-15 11:08:10 -08:00
Makefile Common changes in all toolkits (#345) 2025-04-04 09:32:37 -07:00
pyproject.toml Notion Toolkit Optimizations (#379) 2025-04-24 11:03:23 -07:00