Back to guides

How Do I Connect Claude to My Notion Workspace Without Exposing Everything?

Jake McCluskeyBeginner25 min read
How Do I Connect Claude to My Notion Workspace Without Exposing Everything?

Notion is where your team's thinking lives. Claude can't reach it by default, so half of your "ask Claude" moments end with "let me paste the doc in." The Notion MCP connector fixes that in under 25 minutes — Claude can read your databases, search pages, and pull content directly. Here's the safe setup that doesn't accidentally expose your whole workspace.

Why this matters

Notion workspaces tend to sprawl. Meeting notes, SOPs, client briefs, finance trackers, HR docs, product specs — all in one tree. When Claude can query this tree live, the kinds of questions you can answer with one prompt get dramatically bigger:

  • "Summarize every meeting note from the last two weeks that mentions the pricing change."
  • "Find the client brief for Acme and turn the 'Goals' section into a proposal draft."
  • "Which projects in the Active Projects database are flagged as at-risk and haven't been updated in 7 days?"

The catch: giving Claude full read access to your whole workspace also means giving it access to HR files, financial data, and anything else that lives there. So the setup is less about "turn it on" and more about "scope it tight."

Before you start

You need:

  • A Notion workspace you administer (or admin-level access to create an integration).
  • Claude Pro, Team, or Enterprise — connectors are a paid feature.
  • 5 minutes to decide what Claude should and shouldn't see. Open Notion and look at your top-level pages. Which ones are okay for Claude? Which are HR/legal/financial and off-limits?

Step 1: Check the MCP Directory for the Notion connector

In Claude → Settings → Connectors → browse the directory. Look for Notion. Anthropic and Notion have both shipped connectors in this space; use whichever is current in your directory. The "official Notion" branded one is typically the one you want.

If you can't find it, the directory may not have it for your plan tier. Fall back to the generic MCP setup using Notion's own MCP server (Notion maintains one) — same end result, slightly more config.

Step 2: Authenticate via OAuth

Click Connect. You'll be redirected to Notion's OAuth flow.

At the scope selection screen, Notion asks: "Allow Claude to access which pages?" This is the most important click in this whole guide. You have two options:

  • Select pages/databases (recommended): pick only the pages and databases Claude should see. E.g., "Client Projects" database, "Public Playbooks" page, "Meeting Notes — External" database. HR files, finance, and private docs never appear in the picker if you don't select them.
  • All pages: Claude sees the entire workspace. Only do this if your workspace is already segregated (personal Claude workspace, agency workspace with only client work in it, etc.).

Click through and approve. The connector is now authorized.

Step 3: Verify what Claude can actually see

Open a new Claude chat. Ask: "List the top-level pages you can see in my Notion workspace."

Claude makes a tool call and returns a list. Read it carefully.

  • If something you didn't want to share shows up, go back to Step 2 and reduce scope in the Notion integration settings.
  • If something you did want to share is missing, you forgot to include it — add it in Notion's integration settings page.

This check takes 30 seconds and saves you a data-exposure headache later.

Step 4: Ask a real question

Now the payoff. Try something workflow-sized, not just "list pages":

"Find every page in the 'Meeting Notes' database from the last 10 days. Summarize each in one sentence. Flag any that mention the string 'blocker' or 'at-risk'."

Claude queries the database, iterates, summarizes. You get a scannable list in about 20 seconds.

Iterate on your prompt until the output is what you actually want. Then save the prompt as a Project custom instruction or Skill for repeat use.

Step 5: Combine with a Claude Project for context

MCP gives Claude access to live data. A Project gives Claude persistent context about how you work. Combine them:

Create a "Team Ops" project with:

  • Custom instructions: "Always pull Notion data live for questions about meetings or projects. Format project reports in our standard template (see knowledge base). Flag ambiguities rather than guessing."
  • Knowledge base: your standard report template, your team glossary, anything that helps Claude format output correctly.

Now when you ask "give me this week's project pulse," Claude pulls from Notion via MCP and formats through your template from the Project.

Projects are covered end-to-end in How Do I Build My First Claude Project.

Step 6: Decide on write access (or don't)

The Notion MCP can also create and edit Notion content. By default most connectors install read-only, which is what I recommend.

If you need write access — e.g., "Claude, create a new page in 'Meeting Notes' with today's summary" — enable it in the connector settings, and:

  • Only grant write access to specific databases, never the whole workspace.
  • Review what gets created for the first week. Claude writes in Notion's native block format, which can look strange until you've seen a few examples.
  • Add a rule in your Project's custom instructions: "Always confirm before creating new Notion pages. Never edit existing pages without explicit approval."

Verify it worked

1. Tool calls are visible. In chat, Claude should show it's invoking notion.search, notion.get_page, etc. If it's not, it's answering from general knowledge, not your workspace.

2. Private content is NOT listed. Re-confirm Step 3. Claude should only see what you granted.

3. A cross-reference query works. Try: "Find the Acme client brief and the most recent meeting note that mentions Acme. Summarize both." If Claude pulls both and correlates them, the integration is working end-to-end.

Where this breaks

  • Accidentally sharing the whole workspace. The "All pages" OAuth option is tempting because it's easier, but it's how HR docs end up in AI responses. Scope tightly, even if it's more clicks upfront.
  • Notion rate limits. Notion's API caps at ~3 requests/second. A Claude query that needs to paginate through 500 pages will be slow and may fail. For big datasets, use Notion's database views to pre-filter before pointing Claude at them.
  • Page content that references assets Claude can't see. Embedded Figma files, linked Google Docs, attachments — Claude sees the Notion block but not the embed content. Pull the underlying source directly when possible.
  • Shared workspaces with sensitive content. If you're a guest in someone else's workspace, granting Claude access may share things that aren't yours to share. Confirm with the workspace owner before wiring in a connector.
  • Write operations that fail silently. Notion's API returns 200 for some permission-denied cases if the integration has partial access. Always verify in Notion itself that a Claude-created page actually exists.

What to try next

Want this built for you instead?

Let's talk about your AI + SEO stack

If you'd rather skip the how-to and have it shipped for you, that's what I do. Start a conversation and we'll figure out the fastest path to results.

Let's Talk
Questions from readers

Frequently asked

Does the Notion connector give Claude write access?

Not by default — most installs are read-only. Write access is a separate permission you enable in the connector settings, scoped to the databases or pages you choose. Keep it read-only unless you have a specific write workflow.

How do I restrict Claude to specific Notion pages?

During OAuth, Notion's page picker lets you select exactly which pages and databases the integration can see. Pick surgically — 'Client Projects' database, 'Public Playbooks' page — instead of granting All Pages. Anything you don't select remains invisible to Claude.

What happens if I revoke the Notion integration?

Claude immediately loses access. Past chat history that referenced Notion content stays in your Claude account unless you clear it, but new queries fail until you re-authorize. Clean way to offboard or rotate access.

Why can't Claude see my page about Figma designs?

Embedded content — Figma files, Google Docs, Miro boards — isn't Notion content. The MCP sees the Notion block that wraps the embed, but can't follow into the external system. For embedded assets, wire up that system's MCP separately.

Does Claude count against Notion's API rate limits?

Yes. Notion caps around 3 requests/second. Large queries (500+ pages) can hit the limit and slow down. Pre-filter using Notion database views before asking Claude to summarize, and you stay well under the cap.