Notion MCP Server

Notion MCP Server

我的一个 Notion MCP 服务器的实现

kyrelldixon

开发者工具
访问服务器

README

Notion MCP 服务器

一个用于 Notion API 的模型上下文协议 (MCP) 服务器,使 AI 助手能够以编程方式与 Notion 工作区交互。该服务器为 LLM 提供了一个标准化的接口,用于访问和操作 Notion 内容,包括数据库、页面和块。

什么是 MCP?

模型上下文协议 (MCP) 是一种标准化的协议,用于将大型语言模型 (LLM) 与外部工具、数据源和 API 连接起来。它允许像 Claude 这样的 AI 助手以安全、标准化的方式访问功能和数据。这个 Notion MCP 服务器实现了该协议,为 AI 助手提供对您的 Notion 工作区的访问权限。

项目目的

该项目充当 AI 助手和 Notion 工作区之间的桥梁,允许 AI 工具:

  • 查询和搜索数据库
  • 检索和创建页面
  • 更新页面属性和内容
  • 创建和更新数据库
  • (即将推出) 管理块及其内容

通过为 Notion 实现 MCP 协议,该服务器使 AI 助手能够更有效地帮助用户管理他们的 Notion 工作区。

特性

Notion MCP 服务器实现了以下功能:

数据库操作

  • 使用过滤和排序查询数据库
  • 创建具有自定义属性的新数据库
  • 更新现有数据库模式和属性
  • 跨数据库搜索

页面操作

  • 创建具有属性和内容的页面
  • 检索页面内容和元数据
  • 更新页面属性
  • 跨页面搜索

块操作 (即将推出)

  • 检索块子项
  • 将新块附加到页面
  • 更新块内容
  • 删除块

设置

前提条件

  • Bun v1.2.9 或更高版本
  • 具有适当权限的 Notion 集成令牌
  • 与您的集成共享的 Notion 页面/数据库

创建 Notion 集成

  1. 访问 Notion Your Integrations 页面
  2. 点击 "New Integration"
  3. 命名您的集成并选择适当的权限(例如,“Read content”,“Update content”)
  4. 复制 "Internal Integration Token" - 这将是您的 NOTION_API_KEY

与您的集成共享 Notion 内容

  1. 在 Notion 中打开您希望集成访问的页面或数据库
  2. 点击右上角的 "···" 按钮
  3. 点击 "Connections" 按钮,然后选择您创建的集成

安装

  1. 克隆存储库:

    git clone https://github.com/kyrelldixon/notion-mcp.git
    cd notion-mcp
    
  2. 安装依赖项:

    bun install
    
  3. 在项目根目录中创建一个 .env 文件,其中包含您的 Notion API 令牌:

    NOTION_API_KEY=your_notion_integration_token
    
  4. 构建并运行服务器:

    bun run src/index.ts
    

配置 Claude Desktop

要将此 MCP 服务器与 Claude Desktop 一起使用,请将以下内容添加到您的 claude_desktop_config.json

{
  "mcpServers": {
    "notion": {
      "command": "bun",
      "args": ["run", "src/index.ts"],
      "cwd": "/absolute/path/to/notion-mcp",
      "env": {
        "NOTION_API_KEY": "your-integration-token"
      }
    }
  }
}

可用工具

Notion MCP 服务器为 AI 助手提供以下工具:

数据库工具

  1. queryDatabase

    • 使用过滤器和排序查询 Notion 数据库
    • 必需参数:database_id
    • 可选参数:filtersortspage_sizestart_cursor
  2. createDatabase

    • 在 Notion 中创建一个新数据库
    • 必需参数:parenttitleproperties
  3. updateDatabase

    • 更新数据库的属性或模式
    • 必需参数:database_id
    • 可选参数:titledescriptionproperties

页面工具

  1. retrievePage

    • 获取页面的内容和属性
    • 必需参数:page_id
  2. createPage

    • 在 Notion 中创建一个新页面
    • 必需参数:parentproperties
    • 可选参数:children
  3. updatePageProperties

    • 更新页面的属性
    • 必需参数:page_idproperties

搜索工具

  1. search
    • 按标题搜索整个 Notion 工作区
    • 可选参数:queryfiltersortpage_sizestart_cursor

故障排除

如果您遇到权限错误:

  1. 确保您的 Notion 集成具有所需的权限
  2. 验证是否已将集成邀请到相关的页面或数据库
  3. 确认您的令牌已在 .env 文件或配置中正确设置

项目结构

notion-mcp/
├── src/
│   ├── services/
│   │   └── notion.ts             # Notion 客户端服务
│   ├── config.ts                 # 应用程序配置
│   ├── env.ts                    # t3-env schema
│   ├── index.ts                  # 服务器入口点
│   ├── utils/
│   │   └── error-handling.ts     # 错误处理实用程序
│   └── tools/
│       ├── index.ts              # 导出所有工具
│       ├── databases/            # 数据库相关工具
│       │   ├── handler.ts        # 数据库操作的处理程序
│       │   ├── index.ts          # 导出数据库工具
│       │   └── schema.ts         # 数据库操作的 Zod 模式
│       └── pages/                # 页面相关工具
│           ├── handler.ts        # 页面操作的处理程序
│           ├── index.ts          # 导出页面工具
│           └── schema.ts         # 页面操作的 Zod 模式
├── tsconfig.json
├── package.json
├── todos.md
├── README.md
└── bun.lock

许可证

MIT

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript