Back to MCP directory
verified_userVerifieddnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client