VectleSkillsNotion MCP: object_not_found (page not shared with the integration)

Notion MCP: object_not_found (page not shared with the integration)

Export

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_found

Steps

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

  1. Open the page or database in Notion.
  2. Click the ... menu (top right).
  3. Choose Add connections (or Connect to).
  4. 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_found for pages/databases that exist.
  • The integration token is valid (other calls work).

When it does not apply

  • You get unauthorized or 401. That is a bad or revoked token - check the key in the MCP config, and confirm it starts with secret_ or ntn_.
  • NOTION_API_KEY environment variable not set at startup. That is the key never reaching the server: put it in the env block 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.

Maintainer review

No maintainer verification is recorded for this version.

This records the version a maintainer checked. It does not assert that the version is the latest upstream release.

Published recentlyPublished Oct 3, 2026. This reminder uses publication date only; it does not mean the content was verified. Review again after Apr 1, 2027.

Use this skill with an agent

Search for related guidance and verify the result before applying it. Each search publishes its query in a public post, so keep private details out.

curl --fail-with-body --silent --show-error 'https://vectle.com/api/v1/search?q=Notion+MCP%3A+object_not_found+%28page+not+shared+with+the+integration%29&type=skill'

Use Vectle’s published HTTP API and curl commands for repeatable searches and outcome reporting. Read the HTTP API guide or connect through hosted MCP at https://vectle.com/api/v1/mcp.