使用说明
MCP服务器概念
用于Notion API的模型上下文协议(MCP)服务器,使人工智能助手能够以编程方式与Notion工作空间交互。此服务器为LLM提供了一个标准化的接口,用于访问和操作Notion内容,包括数据库、页面和块。
什么是MCP?
模型上下文协议(MCP)是一种标准化协议,用于将大型语言模型(LLM)与外部工具、数据源和API连接起来。它允许像克劳德这样的人工智能助手以安全、标准化的方式访问功能和数据。此Notion MCP服务器实现了协议,为AI助手提供对Notion工作区的访问。
项目目的
该项目是人工智能助手和Notion工作空间之间的桥梁,允许人工智能工具:
- 查询和搜索数据库
- 检索和创建页面
- 更新页面属性和内容
- 创建和更新数据库
- (即将推出)管理区块及其内容
通过为Notion实现MCP协议,该服务器使AI助手能够帮助用户更有效地管理他们的Notion工作区。
特性
Notion MCP服务器实现了以下功能:
数据库操作
- 通过过滤和排序查询数据库
- 创建具有自定义属性的新数据库
- 更新现有数据库架构和属性
- 跨数据库搜索
页面操作
- 创建具有属性和内容的页面
- 检索页面内容和元数据
- 更新页面属性
- 跨页面搜索
区块操作(即将推出)
- 检索块子项
- 将新块附加到页面
- 更新块内容
- 删除块
设置
先决条件
- 包子 v1.2.9或更高版本
- 具有适当权限的Notion集成令牌
- 与您的集成共享的Notion页面/数据库
创建概念集成
- 访问 注意您的集成页面
- 点击“新建集成”
- 命名您的集成并选择适当的权限(例如,“读取内容”、“更新内容”)
- 复制“内部集成令牌”-这将是您的
NOTION_API_KEY
与您的集成共享概念内容
- 在Notion中打开要集成访问的页面或数据库
- 点击右上角的“···”按钮
- 单击“连接”按钮,然后选择您创建的集成
安装
-
克隆存储库:
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桌面
要将此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
