Notion Official Remote MCP Server
Notion's hosted MCP endpoint connects your workspace to any MCP client with one OAuth login โ pages, databases and search become agent tools without configuring an internal integration.
- Provider
- Notion Labs โ
- Source
- https://github.com/makenotion/notion-mcp-server โ
- Categories
- ๐ Project Management & Productivity
ไธญๆ็ฎไป
Notion ๅฎๆนๆ็ฎก MCP ๆๅกๅจใAI ไปฃ็ๅฏๆ็ดขๅทฅไฝๅบใ่ฏปๅ้กต้ขๅนถๆฅ่ฏขๆฐๆฎๅบ๏ผๆฏๆ Streamable HTTP ไธ SSEใ
Legacy SSE endpoint
Or add to ~/.cursor/mcp.json:
{
"mcpServers": {
"notion": {
"url": "https://mcp.notion.com/mcp"
}
}
}claude mcp add --transport http notion https://mcp.notion.com/mcp
Or add to .vscode/mcp.json:
{
"servers": {
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp"
}
}
}- Open Settings โ Connectors (Integrations) โ Add Custom Connector.
- Paste the endpoint URL:
https://mcp.notion.com/mcp - Complete the browser OAuth 2.1 login flow when prompted.
Bridge the remote endpoint into stdio with mcp-remote in claude_desktop_config.json:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.notion.com/mcp"
]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"notion": {
"serverUrl": "https://mcp.notion.com/mcp"
}
}
}๐งฐ Tools exposed by Notion MCP (5)
| Tool | Safety | Description | Parameters |
|---|---|---|---|
| notion_search | ๐ข Read | Search pages and databases across your Notion workspace. | query*: stringfilter: string |
| notion_retrieve_page | ๐ข Read | Retrieve a Notion page's properties and content. | pageId*: string |
| notion_create_page | ๐ Write | Create a new page under a parent page or database. | parentId*: stringtitle*: stringcontent: string |
| notion_append_block_children | ๐ Write | Append blocks (paragraphs, todos, headings) to a Notion page. | blockId*: stringchildren*: array |
| notion_query_database | ๐ข Read | Query a Notion database with filters and sorts. | databaseId*: stringfilter: objectsorts: array |
๐ OAuth 2.1 & Security
- Auth type
- OAuth 2.1
- Dynamic Client Registration
- โ Supported
- PKCE S256
- โ Supported
- Protected resource metadata
- https://mcp.notion.com/.well-known/oauth-protected-resource (expected location)
๐งฉ Recommended Agent Skills
๐ Guide
Notion MCP โ Remote MCP Server
Notion's hosted MCP replaces the old flow of creating an internal integration and sharing pages manually: the OAuth consent screen grants the agent access to the content you choose. It speaks Streamable HTTP at /mcp and legacy SSE at /sse. Tools cover workspace search, page read/write, block appending and database queries.
Endpoint & Transport
- Endpoint URL:
https://mcp.notion.com/mcp - Legacy SSE endpoint:
https://mcp.notion.com/sse - Transport: Streamable HTTP + legacy SSE
Authentication
Notion MCP uses OAuth 2.1 โ the first request returns a 401 Unauthorized challenge with a WWW-Authenticate header pointing at the authorization metadata. Compliant clients (Cursor, Claude, VS Code, ChatGPT) handle the whole flow โ PKCE and Dynamic Client Registration, so no manual client setup is needed โ and simply open a browser consent screen.
Available Tools (5)
| Tool | Safety | Description |
|---|---|---|
notion_search |
read | Search pages and databases across your Notion workspace. |
notion_retrieve_page |
read | Retrieve a Notion page's properties and content. |
notion_create_page |
write | Create a new page under a parent page or database. |
notion_append_block_children |
write | Append blocks (paragraphs, todos, headings) to a Notion page. |
notion_query_database |
read | Query a Notion database with filters and sorts. |
Connect in 30 Seconds
Claude Code โ one command:
claude mcp add --transport http notion https://mcp.notion.com/mcp
Cursor โ add to ~/.cursor/mcp.json:
{ "mcpServers": { "notion": { "url": "https://mcp.notion.com/mcp" } } }
VS Code โ add to .vscode/mcp.json:
{ "servers": { "notion": { "type": "http", "url": "https://mcp.notion.com/mcp" } } }
Claude Desktop & stdio clients โ bridge with mcp-remote:
{ "mcpServers": { "notion": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.notion.com/mcp"] } } }
On first connect your client opens a browser OAuth consent screen โ approve it and tools become available immediately.
Troubleshooting
- 401 Unauthorized on connect โ that's expected; the server is OAuth-protected. Let your client complete the browser consent flow, or inspect the endpoint in our OAuth debugger to see the exact
WWW-Authenticatechallenge. - Which URL should I use? Prefer
https://mcp.notion.com/mcp(Streamable HTTP). The SSE URL is only for older clients pinned to the pre-2025-03-26 spec. - "Session expired" / stale
Mcp-Session-Idโ just re-sendinitialize; stateless clients can ignore session headers entirely. - During OAuth you pick which pages/workspaces the connection can access โ same model as public Notion integrations.
- Use /mcp for new clients; /sse is kept for clients on the pre-2025-03-26 spec.
๐ How to Connect
- Copy the Notion MCP endpoint URLThe remote endpoint is https://mcp.notion.com/mcp. A legacy SSE endpoint is also available at https://mcp.notion.com/sse.
- Add it to your MCP clientClaude Code:
claude mcp add --transport http notion https://mcp.notion.com/mcp. Cursor: add"notion": { "url": "https://mcp.notion.com/mcp" }undermcpServersin ~/.cursor/mcp.json. Other clients work similarly. - Complete the OAuth consentOn first connection your client opens a Notion Labs consent screen in the browser. Approve it to grant access; the token is stored by the client and refreshed automatically.
- Verify with the online inspectorPaste https://mcp.notion.com/mcp into remotemcp.net/inspector, run initialize and tools/list, and confirm Notion MCP's 5 tools respond.
โ FAQ
What is the Notion MCP remote MCP endpoint?
The primary endpoint is https://mcp.notion.com/mcp, with a legacy SSE endpoint at https://mcp.notion.com/sse. It is an official first-party server operated by Notion Labs, speaking the Streamable HTTP + legacy SSE transport.
Should I use Notion MCP's /mcp or /sse endpoint?
Use https://mcp.notion.com/mcp โ Streamable HTTP is the current MCP transport and what every modern client defaults to. https://mcp.notion.com/sse exists only for clients still on the legacy HTTP+SSE transport from the 2024 spec.
How do I authenticate with Notion MCP?
Notion MCP uses OAuth 2.1. When your client first connects it receives a 401 challenge, discovers the authorization server via RFC 9728 metadata, and opens a browser consent screen. Dynamic Client Registration is supported, so compliant clients register themselves automatically.
I'm getting a 401 Unauthorized from Notion MCP โ what's wrong?
A 401 means your client hasn't completed (or has lost) the OAuth authorization. Remove and re-add the server in your client to restart the consent flow, and check that your browser session can reach the provider's login page. If the 401 arrives without a WWW-Authenticate header, run it through our OAuth debugger to see what's missing.
Which MCP clients work with Notion MCP?
Any client that supports remote MCP servers: Cursor, Claude Code (`claude mcp add --transport http notion https://mcp.notion.com/mcp`), VS Code Copilot, ChatGPT connectors, Windsurf, and Claude Desktop via the `mcp-remote` bridge.
What tools does Notion MCP expose?
5 tools are cataloged in this directory โ including `notion_search`, `notion_retrieve_page`, `notion_create_page` and more. Use our online inspector to fetch the live tool list straight from the endpoint.
๐ Connect Guides
๐ Embed Status Badge in README
Related Servers
Linear's official remote MCP server. Agents can search, create and update issues and query your team's workflow over Streamable HTTP or SSE.
Atlassian's official remote MCP server for Jira and Confluence. Search and create issues and pages over the legacy SSE transport with OAuth 2.1.
Asana's official remote MCP server. Agents can search tasks, create work items and read project structure over the SSE transport with OAuth.
Intercom's official remote MCP server for customer support data. Agents can search conversations, look up contacts and reply to threads over OAuth.