grainne-b
MCP Servergrainne-bpublic

notion_mcp_server

一个用于集成 Notion API 的 Python 服务端实现。

Repository Info

0
Stars
0
Forks
0
Watchers
0
Issues
Python
Language
-
License

About This Server

一个用于集成 Notion API 的 Python 服务端实现。

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

Setting Up Notion API Key and Permissions

Creating a Notion API Key

  1. Go to Notion Integrations:

    • Visit Notion Integrations and log in with your Notion account.
  2. Create a New Integration:

    • Click on "New Integration" and fill out the required fields such as the name of the integration, and select the workspace you want to connect to.
  3. Save the Integration:

    • After filling out the details, click "Submit" to create the integration. You will be provided with an API key.
  4. Copy the API Key:

    • Copy the API key and store it securely. You will use this key to authenticate your requests to the Notion API.

Giving a Page Permissions to Use the Integration

  1. Open Notion:

    • Navigate to the page you want to give permissions to.
  2. Share the Page:

    • Click on the "Share" button at the top right of the page.
  3. Invite the Integration:

    • In the "Invite" field, type the name of your integration and select it from the dropdown. This will give the integration access to the page.
  4. Set Permissions:

    • Ensure the integration has the necessary permissions (e.g., read, write) to perform the actions you need.

Code update

In notion_sdk.py , update the PAGE_ID, with the PAGE_ID of the page you created above. The page id can be retrieved by copying the page link

Setting Up uv for Python

  1. Install uv using Homebrew:

    • Ensure you have Homebrew installed on your system.
    • Run the following command to install uv:
      brew install uv
      
  2. Verify Installation:

    • Check if uv is installed correctly by running:
      uv --version
      
  3. Basic Usage:

    • You can run a Python script using uv with:
      uv run <your_script.py>
      

Notion parent page id

https://www.notion.so/MCP-Parent-Page-1d21f7216bdb80789f88fccd964b5031

Curl example

curl --location --request POST 'https://api.notion.com/v1/pages' \
--header 'Authorization: Bearer $NOTION_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Notion-Version: 2021-05-13' \
--data '{
"parent": { "page_id": "1d21f7216bdb80789f88fccd964b5031" },
"properties": {
    "title": [
        {
            "text": {
                "content": "Curl example"
            }
        }
    ]
}
}'

Notes

When installing in Claude, the key needs to be hardcoded

How to run

uv run mcp dev server.py

To use in Claude

uv run mcp install server.py

Will add to claude_desktop_config.json

{
  "mcpServers": {
    "Notion MCP Server": {
      "command": "uv",
      "args": [
        "run",
        "mcp",
        "run",
        "/Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/server.py"
      ],
      "env": {
        "NOTION_API_KEY": "REPLACE_ME"
      }
    }
  }
}
{
  "mcpServers": {
    "Notion MCP Server": {
"command": "bash",
"args": [
  "-c",
  "source /Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/.venv/bin/activate && uv run mcp run /Users/UBHREGR/Documents/repos/experiments/notion_mcp_server/server.py"
      ],
      "env": {
        "NOTION_API_KEY": "TODO"
      }
    }
  }
}

Notion package

notion-client

Prompt to LLM to create docstrings

I am building an MCP (Model Context Protocol) server in Python.
The functions I provide will be registered as tools using @mcp.tool() from FastMCP.

Please generate a concise and informative docstring for each function I give you, following this structure:
	•	A one-line summary describing the function’s purpose.
	•	A section called Args: listing each argument with its type and purpose.
	•	A section called Returns: describing the return value and its type.

The docstring should help both humans and LLMs understand how and when to use the tool.

Quick Start

1

Clone the repository

git clone https://github.com/grainne-b/notion_mcp_server
2

Install dependencies

cd notion_mcp_server
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownergrainne-b
Reponotion_mcp_server
LanguagePython
License-
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation