Home

Awesome

Notion MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with Notion. This server enables LLMs to interact with your Notion workspace through standardized tools for searching, reading, creating, and updating pages.

Features

Prerequisites

Installation

  1. Clone the repository:
git clone https://github.com/v-3/notion-server.git
cd notion-server
  1. Install dependencies:
npm install
  1. Create a .env file in the root directory:
NOTION_API_KEY=your_notion_api_key_here
  1. Build the server:
npm run build

Usage with Claude Desktop

  1. Add the server to your Claude Desktop configuration (claude_desktop_config.json):
{
    "mcpServers": {
        "notion": {
            "command": "node",
            "args": ["/absolute/path/to/notion-server/build/index.js"],
            "env": {
                "NOTION_API_KEY": "your_notion_api_key_here"
            }
        }
    }
}
  1. Restart Claude Desktop

  2. The following tools will be available:

Available Tools

search_pages

Search through your Notion pages.

{
    query: string // Search query
}

read_page

Read the content of a specific Notion page.

{
    pageId: string // ID of the page to read
}

create_page

Create a new Notion page.

{
    title: string,      // Page title
    content: string,    // Page content in markdown format
    parentPageId?: string // Optional parent page ID
}

update_page

Update an existing Notion page.

{
    pageId: string,   // ID of the page to update
    content: string,  // New content to append
    type?: "paragraph" | "task" | "todo" | "heading" | "image" // Optional content type
}

Security Considerations

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.