README
🚀 Notion MCP 服务器
Notion MCP 服务器是为 Notion API 实现的模型上下文协议 (MCP) 服务器,它让 AI 助手能以程序化的方式与 Notion 工作区交互。该服务器为大语言模型 (LLM) 提供了标准化接口,可用于访问和操作 Notion 中的数据库、页面和块等内容。
🚀 快速开始
先决条件
- Node.js 和 npm(版本 14 或更高)
- Docker(用于可选的 Docker 支持)
创建 Notion 集成
- 访问 Notion 开发人员面板
- 创建一个新的集成并获取 API 密钥
共享内容
- 将新创建的集成邀请到您的 Notion 工作区或特定页面/数据库
安装
- 克隆此仓库:
git clone https://github.com/yourusername/notion-mcp.git cd notion-mcp - 安装依赖项:
npm install
配置
- 复制
.env.example到.env文件:cp .env.example .env - 在
.env文件中设置以下变量:NOTION_API_KEY: 您的 Notion API 密钥NOTION_WORKSPACE_ID: 您的工作区 ID
启动服务器
npm run dev
配置 Claude Desktop
- 在
config.ts文件中设置以下内容:export const config = { tools: { notion: { apiKey: process.env.NOTION_API_KEY, workspaceId: process.env.NOTION_WORKSPACE_ID, }, }, };
✨ 主要特性
什么是 MCP?
模型上下文协议 (MCP) 是一种将大型语言模型 (LLM) 与其外部工具、数据源和 API 相连接的标准协议。它允许 AI 助手以安全且标准化的方式访问功能和数据。此 Notion MCP 服务器实现了该协议,使 AI 助手能够访问您的 Notion 工作区。
项目目的
该项目作为桥梁,将 AI 助手与 Notion 工作区连接起来,允许 AI 工具执行以下操作:
- 查询并搜索数据库
- 检索和创建页面
- 更新页面属性和内容
- 创建和更新数据库
- (即将推出)管理块及其内容
通过为 Notion 实现 MCP 协议,此服务器使 AI 助手能够更高效地帮助用户管理其 Notion 工作区。
功能
Notion MCP 服务器实现了以下功能:
数据库操作
- 使用过滤和排序查询数据库
- 创建具有自定义属性的新数据库
- 更新现有数据库模式和属性
- 搜索数据库
页面操作
- 使用属性和内容创建页面
- 检索页面内容和元数据
- 更新页面属性
- (即将推出)管理块及其内容
📦 安装指南
先决条件
- Node.js 和 npm(版本 14 或更高)
- Docker(用于可选的 Docker 支持)
创建 Notion 集成
- 访问 Notion 开发人员面板
- 创建一个新的集成并获取 API 密钥
共享内容
- 将新创建的集成邀请到您的 Notion 工作区或特定页面/数据库
安装
- 克隆此仓库:
git clone https://github.com/yourusername/notion-mcp.git cd notion-mcp - 安装依赖项:
npm install
配置
- 复制
.env.example到.env文件:cp .env.example .env - 在
.env文件中设置以下变量:NOTION_API_KEY: 您的 Notion API 密钥NOTION_WORKSPACE_ID: 您的工作区 ID
启动服务器
npm run dev
配置 Claude Desktop
- 在
config.ts文件中设置以下内容:export const config = { tools: { notion: { apiKey: process.env.NOTION_API_KEY, workspaceId: process.env.NOTION_WORKSPACE_ID, }, }, };
💻 使用示例
基础用法
由于文档未提供基础用法的代码示例,暂无法展示。
高级用法
由于文档未提供高级用法的代码示例,暂无法展示。
📚 详细文档
工具
数据库工具
queryDatabase: 查询 Notion 数据库createDatabase: 创建新的数据库updateDatabase: 更新现有数据库属性
页面工具
createPage: 使用属性和内容创建页面retrievePage: 检索特定页面的内容和元数据updatePage: 更新页面的属性和内容
项目结构
notion-mcp/
├── src/
│ ├── services/
│ │ └── notion.ts # Notion 客户端服务
│ ├── config.ts # 应用配置
│ ├── env.ts # t3-env 模式
│ ├── index.ts # 服务器入口点
│ ├── utils/
│ │ └── error-handling.ts # 错误处理工具
│ └── tools/
│ ├── index.ts # 导出所有工具
│ ├── 数据库/ # 数据库相关工具
│ │ ├── 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
Scan to contact