append-block-children
Append blocks to a parent block
Search a Notion workspace, read pages down to their individual blocks, and create or change pages, blocks and databases that the integration has been given access to.
LABSCO SUMMARY
The set is close to symmetric: database, page and block can each be read and changed, and archiving stands in for deletion on pages and blocks. Reach is decided outside the server, so whatever the integration has been granted is exactly what search and list-databases will see. Paging is explicit on the query, children and search calls, which means large collections arrive a cursor at a time.
A Notion server covering the database, page and block layers of the API, with workspace search on top.
A Notion integration with the databases and pages you want reachable shared with it — list-databases returns only what that integration has been granted.
One command plus a key — npx -y @sjotie/notion-mcp-server, then supply credentials
USE CASES
Search on whatever phrase you recall, open the page that looks right, and read its blocks to confirm it.
See which databases are reachable, query one to learn what its rows look like, then add the new entry with its properties filled in.
Query the database for the row that matches, then set the properties that moved — or archive the row if the work is over.
Create the database under a parent page with its property schema, adjust the schema once the shape settles, and seed the first row.
Walk the block tree, add new blocks at the right point, and rewrite or archive the ones that no longer hold.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
append-block-childrenAppend blocks to a parent block
create-databaseCreate a new database
create-pageCreate a new page in a database
get-blockRetrieve a block by its ID
get-block-childrenRetrieve the children blocks of a block
get-pageRetrieve a page by its ID
list-databasesList all databases the integration has access to
query-databaseQuery a database
searchSearch Notion for pages or databases
update-blockUpdate a block's content or archive status
update-databaseUpdate an existing database
update-pageUpdate an existing page
BEFORE YOU INSTALL
12 tools when we connected. The integration sees nothing until someone adds it to each page or database through Add connections, so an empty list-databases usually means nothing has been shared yet.
CONTEXT COST
Rated by the size of the 12 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"notion-mcp-server": {
"command": "npx",
"args": [
"-y",
"@sjotie/notion-mcp-server"
]
}
}
}The configuration on this page does not set NOTION_API_KEY; the project's instructions put it in a .env file. Check which folder the server reads that file from before you rely on it.
npx -y @sjotie/notion-mcp-server