#How to authenticate when using Notion MCP?
1 messages · Page 1 of 1 (latest)
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:
- OpenClaw’s MCP config supports:
- remote MCP via
urlplus optionalheaders - stdio MCP via
command/args/env
Docs: https://docs.openclaw.ai/cli/mcp and https://docs.openclaw.ai/gateway/secrets
- remote MCP via
- Notion’s hosted MCP (
https://mcp.notion.com/mcp) uses user OAuth, and Notion explicitly says it does not support bearer token auth for that hosted server.
Docs: https://developers.notion.com/guides/mcp/get-started-with-mcp
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:
- Use a client that supports Notion MCP OAuth directly (Codex, Claude Code, Cursor, etc.)
- Use a token-based/self-hosted Notion MCP server and pass credentials via env/headers to OpenClaw
- 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.
OpenClaw doesn't support OAuth?
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 viaurlplus optionalheaders, or stdio viacommand/env, but not alogin/ 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:
- use a client that can do Notion MCP OAuth directly
- use a token-based/self-hosted Notion MCP server
- 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.
I want option 3
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:
- Build a small tool plugin
- Expose only a few safe tools, for example:
notion_searchnotion_get_pagenotion_create_pagenotion_append_block
- Store the Notion token in env / secret config, not inline
- Add a companion skill like “when the user asks about client notes, search Notion first”
Docs:
- FAQ note that Notion is not built-in: https://docs.openclaw.ai/help/faq
- Build a plugin: https://docs.openclaw.ai/plugins/building-plugins
- Create a skill: https://docs.openclaw.ai/tools/creating-skills
- Skills overview: https://docs.openclaw.ai/tools/skills
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.
Isn't there an already existing Notion plugin for OpenClaw?
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-skillMoikapy/openclaw-notion-skillivangdavila/notion-api-integrationrobansuini/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.
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.
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:
-
Same agent + its subagents
Keep aCHECKLIST.mdin the agent workspace. Subagents inherit the parent workspace, so they can all read the same file. -
Multiple top-level agents
Use either:- a shared skill in
~/.openclaw/skillsfor reusable instructions/checklists, or - memory/wiki if you want it to become searchable knowledge
- a shared skill in
Docs:
- Memory Wiki: https://docs.openclaw.ai/plugins/memory-wiki
- Skills: https://docs.openclaw.ai/tools/skills
So if your goal is basically “all my helpers should follow the same checklist”, I’d start with a plain CHECKLIST.md or shared skill before reaching for Notion again. It’s a lot less fragile.
If I use mcp-remote, would it support OAuth authentication to Notion?
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-remoteas the fallback for tools that only support stdio mcp-remoteis 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.
I installed it through Volta and authenticated. What do I need to do on OpenClaw config to add it?
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-remotecommand
If it helps, next I can give you the exact command for:
- raw
openclaw.json, or 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.
Now, how to allow my agent and/or Discord bot to access it?
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:
- Add the MCP server in OpenClaw config
- Make sure the gateway can run
mcp-remote - 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.
Has a fix been released as a beta version already?
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