MCP Directory

Notion MCP Server (official)

Official

Official Notion server to read, search, create, and update pages and databases in your workspace.

Verified
stdio (local)
API key
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npx -y @notionhq/notion-mcp-server

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "notion-mcp-server-official": {
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ],
      "env": {
        "NOTION_TOKEN": "<your-notion-integration-token>"
      }
    }
  }
}

Before you start

  • Node.js (a current LTS, Node 18+; run via npx without a global install)
  • A Notion internal integration token (an 'Internal Integration Secret') created at https://www.notion.so/profile/integrations
  • Each page/database the agent should touch must be shared with the integration (via the page's Connections menu or the integration's Access tab)
  • Optional: Docker if you prefer the mcp/notion image instead of npx

About Notion MCP Server (official)

This is Notion's official MCP server, letting an AI agent read, search, create, and update content in your Notion workspace — pages, databases (data sources), blocks, and comments — through the Notion API. It wraps Notion's REST endpoints as MCP tools so an agent can answer questions from your docs or write structured changes back.

The repo (@notionhq/notion-mcp-server) runs locally over stdio or streamable HTTP, authenticated with a Notion internal integration token. A key gotcha: the integration only sees pages and databases you've explicitly shared with it, so you must connect target pages to the integration before tools return anything.

Notion now also offers a hosted remote MCP server (mcp.notion.com) with one-click OAuth setup and more token-efficient, Notion-tuned tools. Notion has signaled it is prioritizing the remote server and may sunset active support for this local repo, so for new setups the hosted OAuth option is often the simplest path; the local package remains useful for self-hosted/stdio scenarios and fine-grained control.

Tools & capabilities (9)

search

Search across pages and databases in the workspace

retrieve-a-page / create-a-page / update-a-page / move-page

Read, create, update, and move pages

query-data-source

Query a database/data source with filters and sorts

retrieve-a-data-source / create-a-data-source / update-a-data-source

Read and manage database (data source) schemas

retrieve-a-database

Retrieve a database object

append-block-children / retrieve-block-children

Read and append child blocks within a page

update-block / delete-a-block

Edit or delete individual content blocks

retrieve-comments / create-a-comment / update-a-comment / delete-a-comment

Read and manage page comments

list-data-source-templates

List templates available for a data source

When to use it

  • Use it when you want an agent to answer questions from your Notion docs and wikis
  • Use it when you want to create or update Notion pages (meeting notes, specs, tickets) from chat
  • Use it when you need to query a Notion database with filters/sorts and act on the results
  • Use it when syncing or appending structured content into a Notion knowledge base
  • Use it when leaving or reading comments on Notion pages as part of a workflow
  • Use it when building an agent that turns conversation into organized Notion records

Quick setup

  1. 1Create an internal integration at notion.so/profile/integrations and copy its secret token
  2. 2Share the specific pages/databases with the integration (Connections menu on the page or the integration's Access tab)
  3. 3Add the server to your MCP client, e.g. run `npx -y @notionhq/notion-mcp-server` with NOTION_TOKEN set to your secret
  4. 4Restart your MCP client so it loads the server
  5. 5Verify by asking the agent to search your workspace or retrieve a known page
  6. 6Alternatively, connect the hosted remote server at mcp.notion.com via OAuth for a no-token setup

Security notes

The integration token grants API access only to pages and databases you explicitly share with it, so scope access narrowly. Store NOTION_TOKEN as an env var, never in committed config.

Notion MCP Server (official) FAQ

Why do the tools return nothing / 'object not found'?

The integration can only see pages and databases explicitly shared with it. Open the target page's Connections menu (or the integration's Access tab) and add the integration.

How do I provide the token?

Set the NOTION_TOKEN environment variable to your integration's internal secret (recommended). An advanced OPENAPI_MCP_HEADERS variable also exists for passing custom Authorization and Notion-Version headers.

Is there a hosted/remote version?

Yes. Notion offers a remote MCP server at mcp.notion.com with OAuth-based setup and Notion-optimized tools; Notion is prioritizing it and may reduce support for this local repo.

Does it support HTTP transport?

Yes — besides the default stdio transport, it can run as a streamable HTTP server with bearer-token auth on a configurable port.

Is it official and free?

It's maintained by Notion (makenotion) under the MIT license and is free to run; you only need a free Notion integration token.

Alternatives to Notion MCP Server (official)

Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.

Verified
stdio (local)
API key
Python
11 tools
Updated 2 months agoRepo

Read, search, and edit your Obsidian vault through the Local REST API community plugin.

Verified
stdio (local)
API key
Python
7 tools
Updated 4 months agoRepo

Linear's official hosted MCP server — find, create, and update issues, projects, and comments.

Verified
HTTP (remote)
OAuth
TypeScript
15 tools
Updated 1 month agoRepo