home / mcp / notion mcp server

Notion MCP Server

Provides Notion access to an MCP client, enabling search, create, update, and query actions across Notion content.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ampcome-mcps-notion-mcp": {
      "command": "uvx",
      "args": [
        "git+https://github.com/ampcome-mcps/notion-mcp.git"
      ],
      "env": {
        "NOTION_TOKEN": "secret_token",
        "NANGO_BASE_URL": "https://api.nango.dev",
        "NANGO_SECRET_KEY": "your_nango_secret_key_here",
        "NANGO_CONNECTION_ID": "your_connection_id_here",
        "NANGO_INTEGRATION_ID": "notion"
      }
    }
  }
}

You can connect Claude to your Notion workspace with this MCP server, enabling natural language search, creation, and management of Notion content through conversations. This server bridges your AI assistant with Notion so you can interact with pages, databases, and blocks without leaving your chat.

How to use

Once you have configured an MCP client, you can have natural conversations that perform Notion actions. You can search across pages and databases, create new content, update existing pages, and query databases with filters. Use everyday language like “Find pages about project planning,” “Create a task in my tasks database,” or “Update the status of this page.” The MCP server handles the translation from your chat prompts into Notion API calls and returns results you can act on in the chat.

How to install

Prerequisites you need on your machine before starting:

  • Python 3.8 or higher
  • A Notion workspace
  • Nango account for OAuth authentication
  • Claude Desktop app for AI integration

Step by step setup and start flow you can follow to get the MCP server running:

Next steps after install

Create and share a Notion integration, configure OAuth with Nango, and wire up Claude Desktop with the MCP server configuration. Then run the server, verify the connection, and begin issuing natural language commands to manage Notion content.

Notion & OAuth setup

Notion setup involves creating an integration, sharing pages with that integration, and obtaining an integration token. Then configure Nango for OAuth to securely bridge Notion with the MCP server and retrieve the necessary credentials.

Environment configuration

Create a .env file with your credentials to enable OAuth and integration access. Include NANGO_BASE_URL, NANGO_SECRET_KEY, NANGO_CONNECTION_ID, and NANGO_INTEGRATION_ID. If you are not using Nango, you can provide a direct Notion token in NOTION_TOKEN.

Claude Desktop configuration

Add the MCP configuration to Claude Desktop so it can communicate with the server. Place the configuration in the appropriate claude_desktop_config.json file for your operating system.

Test the connection

Start the server and verify the connection. You should be able to issue commands in Claude and see results reflect in Notion.

Troubleshooting

If authentication fails, verify your Nango credentials and integration setup. If pages aren’t accessible, ensure pages are shared with the Notion integration and the integration has the correct read/write capabilities. If Claude cannot reach the server, check the path in the Claude Desktop config and ensure Python is in your system PATH. For token or OAuth issues, refresh your Nango integration and recheck the connection ID.

Security notes

Keep your .env file private and never commit it to version control. Treat your Notion integration access as sensitive and limit permissions to what is necessary for your MCP server to function. Regularly review Notion integration access and Nango credentials.

File structure

The MCP server project typically includes core server code and configuration files. Keep credentials and environment-specific settings in a protected .env file and avoid exposing them in shared environments.

Getting help

Check logs for error messages, verify permissions for the Notion integration, test the server manually, and confirm Notion API status if you encounter issues.

What’s next

With the MCP server up, you can build more complex database queries, automate content creation workflows, and leverage Claude to help organize and restructure your Notion workspace.

Available tools

notion_search

Search across all Notion pages and databases and return matching results

notion_get_database

Retrieve structure and properties of a Notion database

notion_query_database

Run filtered queries on a database to fetch matching records

notion_create_database

Create a new database with specified properties and structure

notion_get_page

Fetch the content and properties of a Notion page

notion_create_page

Create a new page in a Notion database with given content and properties

notion_update_page

Update content or properties on an existing Notion page

notion_get_block_children

Read the content blocks within a Notion page

notion_append_blocks

Append content blocks to an existing Notion page

notion_get_current_user

Fetch information about the connected Notion integration and user