article
README
🚀 Notion MCP 服务器
Notion MCP 服务器是一个可与 Notion 实现无缝集成的模型上下文协议(MCP)服务器。它能让语言模型借助标准化工具,对工作区中的页面和数据库进行搜索、读取、创建和更新等操作。
🚀 快速开始
先决条件
- Node.js(v16 或更高版本)
- Notion API 密钥
- MCP 兼容客户端(例如 Claude Desktop)
安装
- 克隆仓库:
git clone https://github.com/v-3/notion-server.git
cd notion-server
- 安装依赖项:
npm install
- 设置环境:
# 创建 .env 文件
echo "NOTION_API_KEY=你的 Notion API 密钥" > .env
# 或直接导出
export NOTION_API_KEY=你的 Notion API 密钥
- 构建服务器:
npm run build
✨ 主要特性
页面操作
- 🔍 在整个 Notion 工作区中进行搜索
- 📝 创建带有丰富 Markdown 内容的新页面
- 📖 以整洁的格式读取页面内容
- 🔄 更新现有页面
- 💬 添加和检索评论
- 🧱 块级操作(更新、删除)
增强的 Markdown 支持
- 多级标题(H1 - H3)
- 带语言支持的代码块
- 带复选框状态的交互式待办事项
- 多行支持的引用
- 水平分隔线
- 带说明的图片
- 嵌套项目符号
数据库操作
- 创建和管理数据库
- 添加和更新数据库项
- 使用过滤器和排序进行查询
- 支持多种属性类型:
- 标题、富文本、数字
- 单选、多选
- 日期、复选框
- 等等!
🔧 配置
Claude Desktop 设置
- 更新你的 Claude Desktop 配置文件(
claude_desktop_config.json):
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/绝对路径/to/notion-server/build/index.js"],
"env": {
"NOTION_API_KEY": "你的 Notion API 密钥"
}
}
}
}
- 重启 Claude Desktop 以应用更改
💻 使用示例
基础用法
页面操作
// 搜索页面
{
query: string // 搜索查询
}
// 读取页面
{
pageId: string // 要读取的页面 ID
}
// 创建页面
{
title?: string, // 页面标题
content?: string, // 页面内容(Markdown 格式)
parentPageId: string // 父页面 ID
properties?: object // 数据库项属性
}
// 更新页面
{
pageId: string, // 要更新的页面 ID
content: string // 新的内容(Markdown 格式)
}
数据库操作
// 创建数据库项
{
title: string // 事项标题
content?: string // 可选内容(Markdown 格式)
properties: object // 属性,例如 { "任务状态": "未完成" }
}
// 更新数据库项
{
pageId: string // 要更新的页面 ID
properties: object // 新属性值,例如 { "任务状态": "已完成" }
}
高级用法
项目使用流程
-
初始化项目:
- 克隆仓库并安装依赖:
git clone https://github.com/v-3/notion-server.git && cd notion-server && npm install
- 克隆仓库并安装依赖:
-
配置环境变量:
- 创建
.env文件并添加NOTION_API_KEY=你的 API 密钥
- 创建
-
启动服务器:
- 在项目根目录下运行:
npm start
- 在项目根目录下运行:
-
使用工具:
- 发送 POST 请求到
/api/pages创建页面或数据库项 - 发送 PUT 请求到
/api/pages/{pageId}更新现有页面或数据库项
- 发送 POST 请求到
📄 许可证
- 项目遵循 MIT 许可证,详细内容请参阅
LICENSE文件。 - 使用前请仔细阅读 Notion 的 API 文档和相关法律条款。
⚠️ 重要提示
如需使用 sweir1 的版本,请直接克隆其仓库:
git clone https://github.com/sweir1/notion-server.git
Scan to join WeChat group