Notion Markdown MCP server

Integrates with Notion to provide simplified access to workspace content through Markdown conversion for easy retrieval and manipulation of databases and pages.
Back to servers
Setup instructions
Provider
karaage0703
Release date
Apr 14, 2025
Language
Python
Stats
44 stars

NotionMCP Light is a server that implements the Model Context Protocol (MCP) to synchronize Markdown files with Notion pages using the Notion API. Unlike the official Notion MCP server, this lightweight alternative doesn't consume LLM tokens and directly interacts with Notion's API for efficient synchronization.

Installation

Installing Dependencies

Before you can use NotionMCP Light, you need to install its dependencies:

# Install uv first if you don't have it
# pip install uv

# Install dependencies
uv sync

Setting Up Your Notion API Token

  1. Create an account at Notion Developers and obtain an API token.
  2. Set your token either as an environment variable or in a .env file:
# Example .env file
NOTION_TOKEN=your_notion_api_token

Usage

Starting the MCP Server

You can start the NotionMCP Light server using either uv (recommended) or standard Python:

Using uv (recommended):

uv run python -m src.main

Or specify the token directly:

uv run python -m src.main --token your_notion_api_token

Using standard Python:

python -m src.main

Or specify the token directly:

python -m src.main --token your_notion_api_token

Configuring in AI Coding Tools

To use NotionMCP Light with AI coding tools like Cline, Cursor, or Claude Code, add the following configuration to your MCP server settings JSON file:

{
  "mcpServers": {
    "notion-mcp-light": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/notion-mcp-light",
        "-m",
        "src.main"
      ],
      "env": {
        "NOTION_TOKEN": "your_notion_api_token"
      }
    }
  }
}

Replace /path/to/notion-mcp-light with your actual installation directory and your_notion_api_token with your Notion API token.

MCP Tools

NotionMCP Light provides the following MCP tools:

uploadMarkdown

This tool uploads a Markdown file and creates a Notion page:

{
  "jsonrpc": "2.0",
  "method": "uploadMarkdown",
  "params": {
    "filepath": "path/to/markdown.md",
    "database_id": "optional_database_id",
    "page_id": "optional_parent_page_id"
  },
  "id": 1
}

downloadMarkdown

This tool downloads a Notion page and saves it as a Markdown file:

{
  "jsonrpc": "2.0",
  "method": "downloadMarkdown",
  "params": {
    "page_id": "notion_page_id",
    "output_path": "path/to/output.md"
  },
  "id": 2
}

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "notion-mcp-light" '{"command":"uv","args":["run","--directory","/path/to/notion-mcp-light","python","-m","src.main"],"env":{"NOTION_TOKEN":"your_notion_api_token"},"disabled":false,"alwaysAllow":[]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "notion-mcp-light": {
            "command": "uv",
            "args": [
                "run",
                "--directory",
                "/path/to/notion-mcp-light",
                "python",
                "-m",
                "src.main"
            ],
            "env": {
                "NOTION_TOKEN": "your_notion_api_token"
            },
            "disabled": false,
            "alwaysAllow": []
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "notion-mcp-light": {
            "command": "uv",
            "args": [
                "run",
                "--directory",
                "/path/to/notion-mcp-light",
                "python",
                "-m",
                "src.main"
            ],
            "env": {
                "NOTION_TOKEN": "your_notion_api_token"
            },
            "disabled": false,
            "alwaysAllow": []
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later