Notion自动化服务器

一个轻量级的Notion自动化服务器,通过Model Context Protocol封装业务规则并支持多种运行时环境。

  • by LucasBiason
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 LucasBiason/notion-mcp-server

使用说明

MCP服务器概念

透过 Model Context Protocol 自动化 Notion 流的简洁 MCP 伺服器。它封装了特定于数据库的业务规则,并展示了与Cursor和其他MCP代理兼容的工具。

概述

  • 支持的域名 : 工作,学习,人员和内容。
  • 内置规则 : 验证 HTTP 调用前的标题、状态、关系、期间和时间。
  • 技术: Python 3.10+, httpx, tenacity, structlog, pytest, mcp.
  • 运行时间: FastMCP 支持stdio/SSE/HTTP。
  • 集成 : 通过 stdio (notion-mcp-serverDocker 容器已准备就绪。

仓库结构

notion-automation-suite/
├── src/
│   ├── custom/        # Regras por domínio (Work, Studies, Personal, Youtuber)
│   ├── services/      # Wrapper da API do Notion
│   ├── tools/         # Definição das tools MCP
│   ├── runtime/       # Fabricação FastMCP, carga de env e logging
│   ├── utils/         # Constantes, validações e formatadores
│   ├── exceptions/    # Exceções específicas do serviço
│   └── notion_mcp.py  # Compatibilidade com imports antigos
├── tests/
│   ├── custom/
│   ├── services/
│   ├── tools/
│   └── conftest.py
├── docs/
│   ├── README.md
│   └── mcp/           # Documentação detalhada
└── pyproject.toml

环境设置

  1. 克隆仓库 :

    git clone https://github.com/LucasBiason/notion-automation-suite.git
    cd notion-automation-suite
    
  2. 创建虚拟环境并安装依赖关系:

    python -m venv .venv
    source .venv/bin/activate
    pip install -e .[dev]
    
  3. 设置 Notion 变量 :

    • 副本 config/env.example (如有)为 config/.env 或者手动设置变量。
    • 预期字段:
      • NOTION_API_TOKEN
      • NOTION_WORK_DATABASE_ID
      • NOTION_STUDIES_DATABASE_ID
      • NOTION_PERSONAL_DATABASE_ID
      • NOTION_YOUTUBER_DATABASE_ID
  4. 在本地运行服务器 :

    notion-mcp-server
    

    该命令加载环境,初始化日志并提供stdio循环。

通过 Docker 运行

docker build -t notion-mcp-server .
docker run -i --rm \
  -e NOTION_API_TOKEN=secret_xxx \
  -e NOTION_WORK_DATABASE_ID=... \
  -e NOTION_STUDIES_DATABASE_ID=... \
  -e NOTION_PERSONAL_DATABASE_ID=... \
  -e NOTION_YOUTUBER_DATABASE_ID=... \
  notion-mcp-server

睾丸

  • 执行 make test 单元+集成(Unit + Integration)
  • ruff, mypy 其他工具可以通过 make lint/make type 案件设置。

文档

完整的文档在 docs/ 包括:

  • 概述和目标(docs/mcp/README.md)
  • 详细建筑(docs/mcp/ARCHITECTURE.md)
  • API 参考(docs/mcp/API.md)
  • 光标配置指南 (docs/mcp/SETUP_CURSOR.md)
  • 实例(docs/mcp/EXAMPLES.md)
  • 路线图和下一步(docs/mcp/ROADMAP.md)

与代理商的集成

此仓库仅暴露 MCP。任何特定代理和配置的协调都必须在 cursor-multiagent-system它使用此服务器作为自动化后端。

维护

  • 总是通过添加相应的测试来调整业务规则。
  • 在进行重大更改后更新文档。
  • 将代币和 ID 保持在版本控制之外 (config/private/ 它仍然被忽视)。