N

Notion MCP Server

设置Notion API密钥和权限,并通过Python脚本与Notion进行交互。
2分
19
安装
复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

🚀 配置 Notion API 密钥和权限

本项目主要用于指导用户完成 Notion API 密钥的创建、页面权限的配置、代码更新、Claude 环境设置、Notion 库安装以及文档字符串的生成等操作,帮助用户顺利使用 Notion API 进行开发。

🚀 快速开始

创建 Notion API 密钥

  1. 访问 Notion 集成:访问 Notion 集成,并使用您的 Notion 账户登录。
  2. 创建新集成:点击 "New Integration",填写所需的字段(例如集成名称),然后选择您要连接的工作区。
  3. 保存集成:提交后会生成一个 API 密钥。请将此密钥复制并安全保存,用于后续的 API 请求认证。
  4. 获取 API 密钥:复制生成的 API 密钥,并确保其安全性。

配置页面权限以使用集成

  1. 打开 Notion 页面:打开您要赋予权限的 Notion 页面。
  2. 共享页面:点击页面顶部右侧的 "Share" 按钮。
  3. 邀请集成:在 "Invite" 文本框中输入您的集成名称,并从下拉列表中选择它。这样可以授予该集成对页面的访问权限。
  4. 设置权限:确保集成具有执行所需操作(例如读取、写入)的必要权限。

代码更新

notion_sdk.py 文件中,将 PAGE_ID 更新为之前创建的页面 ID。您可以通过复制页面链接来获取该 ID。

💻 使用示例

示例中的 Notion 页面 ID

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

Curl 示例

以下是一个使用 Notion API 创建新页面的示例:

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": "新页面标题"
            }
        }
    ]
}
'

在 Claude 中设置

安装 uv 工具

如果您使用的是 Mac,请通过以下命令安装:

brew install uv

验证安装是否成功:

uv --version

运行 Python 脚本:

uv run <script>.py
设置环境变量

在 Claude 中,您需要将 NOTION_API_KEY 添加到环境变量。例如:

export NOTION_API_KEY=your_api_key_here

或者,在配置文件中指定可执行文件路径:

{
  "executors": {
    "default_python": {
      "command": "/usr/bin/python3",
      "env": {
        "NOTION_API_KEY": "your_api_key"
      }
    }
  }
}

安装 Notion 库

使用 pip 安装 notion-client

pip install notion-client

生成文档字符串示例

以下是一个函数的示例 docstring,帮助 LLM 和人类理解工具的用法和参数:

示例函数及其 docstring
def get_page_content(page_id: str) -> dict:
    """
    获取指定页面的内容。
    
    Args:
        page_id (str): 需要获取内容的页面 ID
        
    Returns:
        dict: 页面内容,包含标题和其他属性
    """
    # 具体实现代码
另一个示例
def create_new_page(parent_id: str, title: str) -> str:
    """
    在指定父页面下创建新页面。
    
    Args:
        parent_id (str): 父页面的 ID
        title (str): 新页面的标题
        
    Returns:
        str: 新创建页面的 ID
    """
    # 具体实现代码
使用注意事项
  • 摘要:简要描述函数的目的。
  • 参数:详细说明每个输入参数及其类型和用途。
  • 返回值:明确返回值的类型和含义。

通过遵循这些规范,您可以确保文档字符串既对人友好又对模型友好。

精选MCP服务推荐
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
1.2K
4.3分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
6.9K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
4.3K
5分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
973
4.5分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
2.0K
5分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
412
4.8分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
1.1K
4.8分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
5.6K
4.7分
AIbase
智启未来,您的人工智能解决方案智库
© 2025AIbase