使用说明

项目简介

Notion MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供访问和操作 Notion 工作空间内容的标准化接口。通过该服务器,LLM 可以安全、便捷地获取 Notion 中的信息,并执行诸如内容检索、创建、更新和删除等操作,从而实现更智能化的工作流程和知识管理。

主要功能点

  • 资源访问 (Resources)
    • 获取工作空间中的数据库列表 ('notion://databases')
    • 获取指定数据库的结构信息 ('notion://databases/{databaseId}/schema')
    • 获取指定数据库的内容(页面/条目) ('notion://databases/{databaseId}/content')
    • 获取指定页面的内容 ('notion://pages/{pageId}')
    • 获取最近的工作空间更新记录 ('notion://updates')
  • 工具调用 (Tools)
    • 'search-notion':在 Notion 中执行内容搜索
    • 'create-page':在 Notion 中创建新的页面
    • 'update-page':更新 Notion 中已存在的页面
    • 'delete-page':删除 Notion 中的页面(归档)
    • 'manage-backups':管理页面备份,包括列表、恢复和清理
    • 'generate-context-summary':生成 Notion 工作空间上下文的摘要
  • Prompt 模板 (Prompts)
    • 'upcoming-deadlines':获取即将到来的截止日期列表
    • 'project-status':总结项目状态
    • 'daily-tasks':获取今日任务列表

安装步骤

  1. 克隆仓库

    git clone https://github.com/ghubnerr/Notion-MCP.git
    cd Notion-MCP
  2. 安装依赖

    npm install
  3. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入你的 Notion API 密钥。你可以在 Notion integrations 获取 API 密钥。

    NOTION_API_KEY=你的Notion_API_密钥

    你还可以根据需要配置其他可选环境变量,例如 'DEBUG','REQUIRE_CONFIRMATION_FOR_CREATE' 等,具体请参考仓库 'README.md' 文件中的 "Optional settings" 部分。

  4. 构建项目

    npm run build
  5. 启动服务器

    npm start

服务器配置 (用于MCP客户端)

以下是在 MCP 客户端(例如 Claude for Desktop)中配置 Notion MCP Server 的 JSON 格式示例。你需要根据你的实际情况修改 'command' 和 'args' 中的路径。

{
  "mcpServers": {
    "notion": {
      "command": "node",
      "args": ["/path/to/Notion-MCP/build/index.js"]
      // "command": "node":启动服务器的命令,通常为 Node.js
      // "args": ["/path/to/Notion-MCP/build/index.js"]:启动命令的参数,指向构建后的服务器入口文件 index.js。请将 "/path/to/Notion-MCP" 替换为你的 Notion-MCP 仓库在本地文件系统中的实际路径。
    }
  }
}

注意:'NOTION_API_KEY' 环境变量应该通过 '.env' 文件配置,而不是直接写在客户端的配置文件中,以保证安全性。

基本使用方法

  1. 确保 MCP 客户端(如 Claude for Desktop)已正确安装并配置了 Notion MCP Server。
  2. 在 MCP 客户端中,你可以通过自然语言指令来访问和操作你的 Notion 工作空间。例如:
    • 提问:“What tasks are due today in my workspace?” (我的工作空间里今天有哪些任务到期?)
    • 提问:“Show me the status of Project X” (显示项目 X 的状态)
    • 指令:“Create a new page in my 'Ideas' database with title 'New Feature Concept'” (在我的“想法”数据库中创建一个标题为“新功能概念”的新页面)

更多示例和详细用法,请参考仓库 'README.md' 文件中的 "Example Queries" 和 "Extending the Server" 部分。

信息

分类

生产力应用