Notion
Notion MCP is the stdio server published by Notion as @notionhq/notion-mcp-server. It exposes the public Notion REST API to an agent as 24 tools: search, page read and write in markdown, block children, data source query and update, comments, and users. You bring your own integration token, and the agent can only touch pages that token has been shared with.
How we started it
npx -y @notionhq/notion-mcp-serverUse it, but not with every tool switched on. It started cleanly under a clean environment and answered initialize and tools/list without a token, then handed back a tools payload of 76,215 bytes, roughly 19,054 tokens by the chars/4 estimate. That is the heaviest bill in this batch, and it is charged on every single request, whether the agent touches Notion or not. If your workflow is really just search plus retrieve page markdown, prune the list and you keep the useful part.
Use it if
Skip it if
The bill for your context window
| Tool | Est. tokens | Described? | Required params |
|---|---|---|---|
| API-update-page-markdown | ~1,466 | yes (280 chars) | 2 |
| API-post-search | ~1,201 | yes (58 chars) | 0 |
| API-patch-page | ~973 | yes (65 chars) | 1 |
| API-post-page | ~892 | yes (56 chars) | 2 |
| API-query-data-source | ~829 | yes (62 chars) | 1 |
| API-create-a-comment | ~792 | yes (57 chars) | 2 |
| API-update-a-block | ~777 | yes (57 chars) | 1 |
| API-retrieve-page-markdown | ~777 | yes (231 chars) | 1 |
24 tools costing about 19,054 tokens works out to a fat schema per endpoint, and the reason is that the tools are generated from the Notion OpenAPI spec rather than hand-written for agents. API-update-page-markdown alone is about 1,466 tokens and API-post-search about 1,201, both far more schema than their short descriptions suggest; even API-get-self, which takes no arguments and returns who you are, costs around 640. Nothing here is padding you can shame the vendor about, it is just what a faithful REST mirror weighs. Trim to search, retrieve page markdown, update page markdown and query data source, and most of the bill goes away.
Setup reality
npx -y @notionhq/notion-mcp-server over stdio, no Docker, no daemon. Boot printed nothing but an npm deprecation warning about node-domexception and scraped no required env vars, because the server starts happily unauthenticated and only fails once a tool is called. Real use needs an internal integration token from notion.so/profile/integrations, passed as an auth header in your client config, plus the manual step everyone forgets: open each page or database, Connections, add the integration. Pages that are not connected are invisible to it, and the error message when that happens is not obvious.
Questions people ask
Does the Notion MCP server need a token to start?
No. We started it with a clean environment and no credentials, and it completed initialize and returned all 24 tools. Authentication only matters at call time, so a green boot in your client tells you nothing about whether your token works.
Why is the Notion MCP server so expensive in context?
Its tool schemas are generated from Notion's REST API spec, so each one carries full request-body typing. The whole list measured 76,215 bytes, about 19,054 tokens at four characters per token, on 2026-08-19.
Why can't the agent see my page?
The integration has to be added to that page or its parent through the Connections menu inside Notion. Sharing with a human teammate does not do it, and the resulting API error reads like the page does not exist rather than like a permission problem.
Can I run it with only a few tools?
Yes, if your client supports per-tool filtering. That is the single highest-value change you can make here, because the cost is almost entirely schema you never call, not runtime overhead.
Other productivity servers we started
How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.