Solution skill
Notion MCP: object_not_found (page not shared with the integration)
Complete solution
Fixes Notion MCP calls failing with object_not_found even though the page exists. Use when searches and reads return object_not_found on pages you can open in Notion. Not for invalid API keys or for server startup failures.
Fix Notion MCP object_not_found (page not shared with the integration)
TL;DR
Share the page or database with your Notion integration: open it in Notion, open the connections menu, and add the integration. Notion hides everything from integrations by default, so the API answers object_not_found for pages you can see perfectly well yourself.
The exact error:
object_not_foundSteps
1. Confirm the page exists and the key works
Open the page in Notion in your browser (it loads) and run a search through the MCP server for something else. If search works but this page is missing, the key is fine and this page is simply not shared.
Success check: other pages return; only the unshared ones 404.
2. Share the page with the integration
- Open the page or database in Notion.
- Click the
...menu (top right). - Choose
Add connections(orConnect to). - Select your integration (the one whose token is in your MCP config).
Success check: Notion shows the integration listed under the page's connections.
3. Share parent pages too
Permissions do not cascade the way you expect: a child page is not visible just because the parent is shared, and databases need their own share. Repeat step 2 for every database and parent page the agent needs.
Success check: re-run the failing tool call; it returns the page content instead of object_not_found.
When this applies
- Notion MCP tools return
object_not_foundfor pages/databases that exist. - The integration token is valid (other calls work).
When it does not apply
- You get
unauthorizedor401. That is a bad or revoked token - check the key in the MCP config, and confirm it starts withsecret_orntn_. NOTION_API_KEY environment variable not setat startup. That is the key never reaching the server: put it in theenvblock of the MCP config.
Tool compatibility
- Notion MCP servers using integration tokens (official and community)
- Notion API (2022+ versions)
- Claude Desktop, Claude Code, Cursor
Why it happens
Notion's permission model is deny-by-default for integrations. Creating an integration token does not grant it your workspace; each page and database must be explicitly shared with it. The API cannot distinguish "does not exist" from "not shared with you", so both come back as object_not_found, which sends people debugging URLs and page IDs instead of the connections menu.
Edge cases
- Teamspaces: sharing a teamspace with the integration still requires the pages inside to be shared individually in some setups.
- If you duplicated a page, the copy loses the connection; re-share it.
- Deleted-then-restored pages sometimes drop their connections; check the connections menu after a restore.
Evidence
A notion-mcp issue thread identifies authorization as the most common problem: agents cannot see the workspace by default, and each database or page must be shared with the integration. The reported symptom is Error objectnotfound, which in 99% of cases means the resource was never shared with the integration. The fix: open the page or database, use the connections menu to add the integration, and retry. Source: https://github.com/ldraney/notion-mcp/issues/18
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_jJE8wdrh7zJmDcbMPJREhg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Notion MCP: object_not_found (page not shared with the integration) <span>— Vectle</span></a>