返回 MCP 目录
verified_user已验证dns本地运行

notion-api-mcp

一个基于Python的MCP服务器,通过Notion API提供高级待办事项管理和内容组织功能,实现AI模型与Notion的无缝集成。

article

README

🚀 Notion API MCP

Notion API MCP是一个基于模型上下文协议(MCP)的Python服务器,借助Notion的API实现高级待办事项管理与内容组织功能。MCP让AI模型能与外部工具和服务无缝集成,充分发挥Notion的强大能力。

🚀 快速开始

克隆代码并设置环境

git clone https://github.com/yourusername/notion-api-mcp.git
cd notion-api-mcp
uv venv && source .venv/bin/activate  # Windows用户请使用 poetry install 或 conda create

安装依赖项

pip install -r requirements.txt

运行服务器

python -m notion_api_mcp

✨ 主要特性

该Python服务器支持AI模型通过Notion API进行交互,具备以下功能:

  • 待办事项管理:可创建、更新和跟踪任务,支持丰富的文本格式、截止日期、优先级及嵌套子任务。
  • 数据库操作:能创建和管理自定义属性、过滤器及视图的Notion数据库。
  • 内容组织:通过Markdown支持、层次列表及块操作来结构化和整理内容。
  • 实时集成:借助干净的异步实现,可直接与Notion的工作区、页面及数据库交互。

完整功能列表 →

📚 详细文档

💻 使用示例

入门指南

创建配置文件

在项目根目录下创建一个config.yaml文件,内容如下:

database:
  name: "My Notion Database"  # 数据库名称
  id: "YOUR_NOTION_DATABASE_ID"  # 替换为你的Notion数据库ID
  space_id: "YOUR_NOTION_SPACE_ID"  # 替换为空间ID

auth:
  token: "YOUR_NOTION_TOKEN"  # 替换为你的Notion API令牌

启动服务器

# 在终端中运行以下命令启动服务器
PYTHONPATH=/path/to/project python -m notion_api_mcp

🔧 技术细节

项目结构

notion_api_mcp/
├── config.py           # 配置文件
├── database.py         # 数据库操作类
├── models.py           # Pydantic模型定义
├── server.py           # 主服务文件
└── utils/             # 工具函数

调试技巧

  • 日志输出
    • 开发模式:控制台输出。
    • 生产模式:文件日志记录。
    • 详细错误信息及请求响应日志(调试级别)。
  • 设置环境变量
export PYTHONPATH=/path/to/project

🚀 未来开发

计划中的改进

  1. 性能优化
    • 实现请求缓存机制。
    • 优化数据库查询效率。
    • 引入连接池技术。
  2. 高级功能
    • 支持多工作区模式。
    • 批量操作功能。
    • 实时更新通知。
    • 高级搜索能力。
  3. 开发者体验提升
    • 提供交互式API文档。
    • 增加CLI工具。
    • 添加更多代码示例。
    • 引入性能监控。
  4. 测试增强
    • 性能基准测试。
    • 负载测试。
    • 新增边界情况测试。
    • 扩展集成测试。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端