Notion MCP服务器设置

一个全面的指南,用于设置Notion MCP服务器,包括环境配置、依赖安装和API集成。

  • by sathyanmadhavan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sathyanmadhavan/notion-mcp-server

使用说明

完整的概念MCP服务器设置指南

设置Notion MCP服务器的全面指南。

先决条件

  • Python 3.7+
  • 具有API访问权限的通知工作区
  • 通知API集成设置

完整的安装过程

步骤1:克隆和设置项目目录

git clone <your-repository-url>
cd notion-mcp-server

第二步:创建虚拟环境

窗户:

python -m venv venv

macOS/Linux:

python3 -m venv venv

步骤3:激活虚拟环境

窗户:

# Command Prompt
venv\Scripts\activate

# PowerShell
venv\Scripts\Activate.ps1

macOS/Linux:

source venv/bin/activate

注: 你应该看看 (venv) 当虚拟环境被激活时,在命令提示符的开头。

步骤4:安装依赖项

pip install -r requirements.txt

或者单独安装软件包:

pip install requests notion-client python-dotenv fastmcp

通知API设置

快速设置参考

有关Notion集成设置的详细信息,请遵循官方指南: 👉 MCP服务器概念-集成设置

所需步骤总结:

  1. 创建概念集成 -遵循上面的官方指南
  2. 共享页面/数据库 -授予对集成的访问权限
  3. 获取API令牌 -复制您的集成令牌

环境配置

创建一个 .env 项目根目录中的文件:

NOTION_API_KEY=your_notion_integration_token_here

替换 your_notion_integration_token_here 使用集成设置中的令牌。

运行脚本

通过MCP命令运行

mcp install `your_python_filename.py`

MCP客户端配置

适用于克劳德桌面

将以下配置添加到Claude Desktop MCP设置文件中:

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

虚拟环境配置:

{
  "mcpServers": {
    "notion-server": {
      "command": "C:\\path\\to\\your\\project\\venv\\Scripts\\uv.exe",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "notion-client",
        "--with",
        "python-dotenv",
        "--with",
        "requests",
        "mcp",
        "run",
        "C:\\path\\to\\your\\project\\notion_mcp_server.py"
      ]
    }
  }
}

对于macOS/Linux:

{
  "mcpServers": {
    "notion-server": {
      "command": "/path/to/your/project/venv/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "notion-client",
        "--with",
        "python-dotenv",
        "--with",
        "requests",
        "mcp",
        "run",
        "/path/to/your/project/notion_mcp_server.py"
      ]
    }
  }
}

替代方案:直接Python配置

{
  "mcpServers": {
    "notion-server": {
      "command": "/path/to/your/project/venv/bin/python",
      "args": [
        "/path/to/your/project/notion_mcp_server.py"
      ],
      "env": {
        "NOTION_API_KEY": "your_notion_api_key_here"
      }
    }
  }
}

Windows版本:

{
  "mcpServers": {
    "notion-server": {
      "command": "C:\\path\\to\\your\\project\\venv\\Scripts\\python.exe",
      "args": [
        "C:\\path\\to\\your\\project\\notion_mcp_server.py"
      ],
      "env": {
        "NOTION_API_KEY": "your_notion_api_key_here"
      }
    }
  }
}

重要路径更新

确保用实际项目路径替换以下路径:

窗户:

  • 虚拟环境Python: C:\path\to\your\project\venv\Scripts\python.exe
  • 虚拟环境紫外线: C:\path\to\your\project\venv\Scripts\uv.exe
  • 脚本路径: C:\path\to\your\project\notion_mcp_server.py

macOS/Linux:

  • 虚拟环境Python: /path/to/your/project/venv/bin/python
  • 虚拟环境紫外线: /path/to/your/project/venv/bin/uv
  • 脚本路径: /path/to/your/project/notion_mcp_server.py

测试您的设置

  1. 激活您的虚拟环境
  2. 直接测试脚本:
     mcp install `your_python_filename.py`
    
  3. 如果成功,请重新启动Claude Desktop
  4. 检查克劳德中是否有Notion工具

虚拟环境故障排除

如果激活失败:

Windows PowerShell执行策略问题:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

验证虚拟环境是否已激活:

  • 寻找 (venv) 在命令提示符中
  • 检查Python路径: which python (macOS/Linux)或 where python (Windows)

停用虚拟环境

当你完成工作时:

deactivate

依赖项

  • requests:API调用的HTTP客户端
  • notion-client:Python SDK官方概念
  • python-dotenv:环境变量管理
  • fastmcp:MCP服务器框架
  • uv:快速Python包安装程序和运行器

安全说明

  • 永远不要承诺你的 .env 版本控制的文件或API密钥
  • 确保Notion API密钥的安全并定期轮换
  • 仅授予集成所需的权限
  • 定期检查哪些页面/数据库与您的集成共享
  • 始终使用虚拟环境隔离项目依赖关系