#How to authenticate when using Notion MCP?

1 messages · Page 1 of 1 (latest)

quick sky
#

I'm trying to allow my agent to access Notion MCP. What should I do so I can authenticate? I haven't found anything about it anywhere I've looked. Maybe I haven't looked on enough docs?

rocky minnowBOT
wind fieldBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

rocky minnowBOT
languid berryBOT
#

Let me verify the MCP docs and the exact auth shape, then I’ll give you the cleanest path.

#

You’re probably not missing a doc, I don’t think OpenClaw currently has a built-in auth flow for official Notion MCP.

What I found:

So the mismatch is: OpenClaw documents token/header/env style MCP setup, while Notion’s hosted MCP wants an interactive OAuth login flow.

Practical options:

  1. Use a client that supports Notion MCP OAuth directly (Codex, Claude Code, Cursor, etc.)
  2. Use a token-based/self-hosted Notion MCP server and pass credentials via env/headers to OpenClaw
#
  1. Skip MCP and use a Notion API skill/plugin if you want headless automation

Also, if this is an ACP/Codex/Claude session inside OpenClaw, MCP needs to be configured on the gateway/agent side, not per-session.

If you want, paste:

  • openclaw --version
  • how you’re running the agent
  • your MCP config (redact secrets)

and I can help you pick the least painful setup.

quick sky
#

OpenClaw doesn't support OAuth?

languid berryBOT
#

Yeah, basically:

  • OAuth in general: yes
    OpenClaw supports OAuth for model/providers, for example Codex/OpenAI auth and provider plugins.
    Docs: https://docs.openclaw.ai/concepts/oauth

  • Notion MCP OAuth specifically: I don’t see support documented for that right now
    OpenClaw’s MCP docs show remote MCP via url plus optional headers, or stdio via command/env, but not a login / browser OAuth flow for MCP servers.
    Docs: https://docs.openclaw.ai/cli/mcp

That’s the problem with hosted Notion MCP: Notion says it requires user OAuth and does not support bearer-token auth for that hosted endpoint.
Docs: https://developers.notion.com/guides/mcp/get-started-with-mcp

So the short version is:

  • OpenClaw supports OAuth
  • OpenClaw does not appear to support Notion’s MCP OAuth flow yet
#

If you want this working today, the realistic paths are:

  1. use a client that can do Notion MCP OAuth directly
  2. use a token-based/self-hosted Notion MCP server
  3. use the Notion API via a custom skill/plugin instead of MCP

If you want, I can help sketch the cleanest config for option 2 or 3.

quick sky
#

I want option 3

languid berryBOT
#

I’m checking the plugin/skill docs so I don’t point you at the wrong abstraction.

#

Nice, I think that’s the sanest path right now.

One important nuance: for real Notion API access, I’d do a plugin + optional skill, not just a skill.

  • Plugin = actual Notion API calls
  • Skill = teaches the agent when/how to use those tools

A skill alone is mostly instructions, it does not magically add Notion access.

Recommended first cut:

  1. Build a small tool plugin
  2. Expose only a few safe tools, for example:
    • notion_search
    • notion_get_page
    • notion_create_page
    • notion_append_block
#
  1. Store the Notion token in env / secret config, not inline
  2. Add a companion skill like “when the user asks about client notes, search Notion first”

Docs:

If you want, next I can sketch a minimal Notion plugin structure for you.
If you paste openclaw --version, I can make it line up with your installed version.

quick sky
#

Isn't there an already existing Notion plugin for OpenClaw?

languid berryBOT
#

Yeah, looks like there are community Notion packages on ClawHub, just not a built-in core OpenClaw integration.

I found these ClawHub entries:

  • dimagious/notion-skill
  • Moikapy/openclaw-notion-skill
  • ivangdavila/notion-api-integration
  • robansuini/notion-sync

So the distinction is:

  • Built into OpenClaw core: no
  • Already exists in the ecosystem: yes, seems so

Docs for installing/searching ClawHub skills: https://docs.openclaw.ai/tools/clawhub

A good first step is:

#
openclaw skills search "notion"

Then inspect the ClawHub page/readme before installing, especially for:

  • how auth is handled
  • whether it is a skill only or includes real API tooling
  • whether it supports the read/write actions you want

If you want, I can help you choose which of those looks most legit.

quick sky
#

I guess I'm instead going to rely on downloading the pages I need as markdown if that's possible on free Notion. I just wish there were a way to share checklist across agents and sub-agents.

languid berryBOT
#

Yeah, that’s a pretty reasonable fallback.

On the Notion side, export to Markdown & CSV does exist in their help docs, so page export should be viable. I’m just not 100% sure which workspace-wide export edges differ on free vs admin access.
Notion docs: https://www.notion.so/help/export-your-content

For the shared checklist part, the simplest OpenClaw-native options are:

  1. Same agent + its subagents
    Keep a CHECKLIST.md in the agent workspace. Subagents inherit the parent workspace, so they can all read the same file.

  2. Multiple top-level agents
    Use either:

    • a shared skill in ~/.openclaw/skills for reusable instructions/checklists, or
    • memory/wiki if you want it to become searchable knowledge

Docs:

quick sky
#

If I use mcp-remote, would it support OAuth authentication to Notion?

languid berryBOT
#

Yeah, probably yes. In fact, this is the first thing I’d try.

Why I’m saying that:

  • Notion’s own MCP docs explicitly show mcp-remote as the fallback for tools that only support stdio
  • mcp-remote is meant to bridge stdio clients to remote MCP servers with OAuth/auth flows

So the auth would be handled by mcp-remote, not by OpenClaw directly.

The main caveat is:

  • you still need a human to complete the OAuth flow
  • if your agent is running headless / remote, the browser callback flow can still be awkward

Notion docs: https://developers.notion.com/guides/mcp/get-started-with-mcp
mcp-remote: https://github.com/geelen/mcp-remote

#

So, short version:

  • OpenClaw alone: not enough for Notion MCP OAuth
  • OpenClaw + mcp-remote: very likely the right path

If you want, I can help you turn that into the exact mcp.servers.notion config shape for OpenClaw.

quick sky
#

I installed it through Volta and authenticated. What do I need to do on OpenClaw config to add it?

languid berryBOT
#

If mcp-remote is already installed and authenticated, the OpenClaw side should just be a stdio MCP server entry.

The config shape is:

{
  mcp: {
    servers: {
      notion: {
        command: "mcp-remote",
        args: ["https://mcp.notion.com/mcp"]
      }
    }
  }
}
#

Or via CLI:

openclaw mcp set notion '{"command":"mcp-remote","args":["https://mcp.notion.com/mcp"]}'

Docs: https://docs.openclaw.ai/cli/mcp

One important Volta caveat:

  • if the OpenClaw gateway service cannot see your Volta PATH, use the full path to the shim instead of just mcp-remote

Example:

{
#
  mcp: {
    servers: {
      notion: {
        command: "/home/you/.volta/bin/mcp-remote",
        args: ["https://mcp.notion.com/mcp"]
      }
    }
  }
}

So basically:

  • do not add Notion headers/tokens in OpenClaw config
  • just point OpenClaw at the already-authenticated mcp-remote command
#

If it helps, next I can give you the exact command for:

  1. raw openclaw.json, or
  2. openclaw mcp set, whichever you prefer.

Also, if it still doesn’t show up, paste openclaw --version plus:

openclaw mcp show notion --json

and I’ll sanity-check it.

quick sky
#

Now, how to allow my agent and/or Discord bot to access it?

languid berryBOT
#

The key thing is: the Discord bot does not access it separately. The agent does, and the Discord bot just forwards messages to that agent.

So the flow is:

  1. Add the MCP server in OpenClaw config
  2. Make sure the gateway can run mcp-remote
  3. Use that agent through Discord

So in practice:

{
  mcp: {
    servers: {
      notion: {
        command: "mcp-remote",
#
        args: ["https://mcp.notion.com/mcp"]
      }
    }
  }
}

Important bits:

  • If you installed via Volta, use the full shim path if needed, for example ~/.volta/bin/mcp-remote
  • Make sure the gateway runs as the same OS user that authenticated mcp-remote
  • After adding it, start a fresh session (and if needed restart the gateway)

For Discord, there is usually no separate “allow the bot” toggle. If the Discord thread is routed to the agent that has this MCP config, that agent should be able to use it.

So short version:

#
  • Agent access: yes, via mcp.servers.notion
  • Discord bot access: indirect only, through that agent

If you want, I can give you the exact openclaw mcp set notion ... command plus the likely Volta-path version.

quick sky
#

Has a fix been released as a beta version already?

languid berryBOT
#

I’m checking the repo, I don’t want to guess on a release question.

#

I can confirm there are newer betas, latest I can see is v2026.4.19-beta.2.

But I don’t see a clearly documented fix that says “Notion MCP OAuth” or “mcp-remote auth support” specifically.

What I do see in recent beta work is mostly:

  • Codex OAuth fixes
  • general MCP transport/tooling work
  • not a clearly called out Notion remote MCP auth fix

So my honest answer is: maybe, but I can’t verify that a specific fix for your case has shipped already.

If you want, send:

openclaw --version