mcporter call notion.<tool_name> --args '{ ... }'
Clean. Consistent. One pattern to rule them all.
Here is the full arsenal β 14 tools, one agent, zero excuses for undocumented projects:
| Tool |
What It Does |
notion.search |
Find existing pages/databases before creating duplicates |
notion.create_page |
Spin up a new page anywhere in the workspace |
notion.retrieve_page |
Read a page's metadata |
notion.update_page |
Update page properties |
notion.append_block_children |
Add content blocks to an existing page |
notion.retrieve_block_children |
Read what is already on a page |
notion.retrieve_block |
Fetch a specific block |
notion.update_block |
Edit an existing block |
notion.delete_block |
Remove a block |
notion.create_database |
Create a new database |
notion.retrieve_database |
Read database structure |
notion.update_database |
Modify database schema |
notion.query_database |
Filter and search database entries |
notion.create_database_item |
Add a row to a database |
Escriber also has workflow rules baked into his instructions. Because tools without discipline are just chaos with an API:
-
Search first. Always check if the page already exists before creating a new one.
-
Read before writing. Retrieve block children before appending to avoid structural disasters.
-
Right block type. Callouts for decisions. Toggles for details. Headings for structure. Not everything is a paragraph.
-
Structure intentionally. Measure twice, cut once. π€£
How I Used Notion MCP
Let me tell you how this actually works.
mcporter connects Escriber to Notion's official MCP server at https://mcp.notion.com/mcp. Every tool call gets proxied through that relay β no direct API wrangling, no custom request builders. The MCP layer handles it. Escriber just speaks tool.
Here is what that looks like day-to-day:
New project starts?
create_page to spin up the project hub. create_database_item to log it in the master projects database. Done in seconds.
Wrapping up a build session?
append_block_children to the existing project page. Build notes, decisions made, what broke, what did not. Structured. Timestamped. Actually findable later.
JB's Job Listings
create_page My recruiter agent stored a list of jobs using Esciber every morning. Future-me will be grateful. Past-me was not doing this. These are stored in Notion daily, and sortable β οΈ
Notion Job Notes
Let me tell you about the shame moment that made this real.
I went back through my own Notion workspace a few weeks ago. Pages with titles like "ideas v3 FINAL" and "project notes DO NOT DELETE" containing exactly... three bullet points and a YouTube link. That is it. That is the legacy. A graveyard of good intentions. β οΈ
Escriber exists because I needed someone with more documentation discipline than me. Turns out that someone is a focused AI agent with a soul file and 14 Notion tools.
One job. One lane. Real personality. And the docs actually get written now.
"Optimization starts with a single point of failureβor a single point of success. Own the lane."
Also, thanks to Bloggy, for taking the time to help with this post.
Escriber is part of my OpenClaw agent team. If you are curious about building multi-agent setups in openclaw, drop a comment β I am writing more about this whole stack as it comes together.