关于 Notion MCP Server
Notion MCP Server 通过 Notion API 将 AI 助手连接到 Notion 工作区,支持搜索和管理页面与数据库;区块管理仍标记为即将推出。
主要功能
- 01按筛选条件和排序查询数据库
- 02创建和更新数据库结构
- 03搜索页面和数据库
- 04创建、读取和更新页面
适用场景
- 01按标题查找工作区页面
- 02筛选并查看数据库条目
- 03在 Notion 中创建页面或数据库
- 04更新页面属性或数据库结构
MCP 相关
向 MCP 客户端提供 Notion 搜索、页面和数据库操作工具。区块管理标记为即将推出。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Notion MCP 服务
一个用于 Notion API 的模型上下文协议(MCP)服务,可让 AI 助手以编程方式与 Notion 工作区交互。此服务为大模型提供标准化接口,用于访问和操作 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 集成
- 访问 Notion 集成页面
- 点击“New Integration”
- 为集成命名并选择适当的权限(例如,“Read content”和“Update content”)
- 复制“Internal Integration Token”——这将作为你的
NOTION_API_KEY
与集成共享 Notion 内容
- 在 Notion 中打开你希望集成访问的页面或数据库
- 点击右上角的“···”按钮
- 点击“Connections”按钮,然后选择你创建的集成
安装
-
克隆仓库:
git clone https://github.com/kyrelldixon/notion-mcp.git cd notion-mcp -
安装依赖项:
bun install -
在项目根目录创建
.env文件,并填入 Notion API 令牌:NOTION_API_KEY=your_notion_integration_token -
构建并运行服务:
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 助手提供以下工具:
数据库工具
-
queryDatabase- 使用筛选和排序查询 Notion 数据库
- 必需参数:
database_id - 可选参数:
filter、sorts、page_size、start_cursor
-
createDatabase- 在 Notion 中创建新数据库
- 必需参数:
parent、title、properties
-
updateDatabase- 更新数据库属性或架构
- 必需参数:
database_id - 可选参数:
title、description、properties
页面工具
-
retrievePage- 获取页面内容和属性
- 必需参数:
page_id
-
createPage- 在 Notion 中创建新页面
- 必需参数:
parent、properties - 可选参数:
children
-
updatePageProperties- 更新页面属性
- 必需参数:
page_id、properties
搜索工具
search- 按标题搜索 Notion 工作区
- 可选参数:
query、filter、sort、page_size、start_cursor
故障排除
如果遇到权限错误:
- 确保你的 Notion 集成具有所需的权限
- 确认已邀请该集成加入相关页面或数据库
- 确认令牌已在
.env文件或配置中正确设置
项目结构
notion-mcp/
├── src/
│ ├── services/
│ │ └── notion.ts # Notion client service
│ ├── config.ts # Application configuration
│ ├── env.ts # t3-env schema
│ ├── index.ts # Server entry point
│ ├── utils/
│ │ └── error-handling.ts # Error handling utilities
│ └── tools/
│ ├── index.ts # Export all tools
│ ├── databases/ # Database-related tools
│ │ ├── handler.ts # Handlers for database operations
│ │ ├── index.ts # Export database tools
│ │ └── schema.ts # Zod schemas for database operations
│ └── pages/ # Page-related tools
│ ├── handler.ts # Handlers for page operations
│ ├── index.ts # Export page tools
│ └── schema.ts # Zod schemas for page operations
├── tsconfig.json
├── package.json
├── todos.md
├── README.md
└── bun.lock
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。