MCP服务器概念
](https://smithery.ai/server/@awkoy/notion-mcp-server)
MCP服务器概念 是一种模型上下文协议(MCP)服务器实现,使人工智能助手能够与Notion的API进行交互。这个生产就绪的服务器提供了一套完整的工具和端点,用于通过自然语言交互读取、创建和修改Notion内容。
🚧 积极发展:数据库支持现已可用!添加了评论和用户管理工具。如果你觉得这个项目有用,请考虑给它一颗星——这有助于我知道这项工作对社区有价值,并激励进一步的发展。
📑 目录
- 设置过程 - 光标集成 - Claude桌面集成
🚀 入门与集成
设置过程
- 获取Notion API密钥
- 在以下位置创建集成 概念开发者 - 复制API密钥
- 为您的页面启用集成
- 在Notion中选择现有页面或创建新页面 - 点击右上角的“…”菜单 - 转到“连接” - 从列表中查找并启用您的集成
- 选择您的集成方法
- 根据您首选的MCP客户端,遵循以下集成选项之一
- 让你的AI助手与Notion交互
- “使用今天的任务创建新页面” - “在Notion中更新我的会议记录” - “将要点添加到我的会议笔记页面” - “创建用于跟踪项目的新数据库” - “向我的任务数据库添加新条目” - “向我的项目页面添加评论” - “显示此文档的所有评论” - “列出我工作区中的所有用户” - “获取特定用户的信息”
光标集成
方法1:使用mcp.json
- 创建或编辑
.cursor/mcp.json项目目录中的文件:
{
"mcpServers": {
"notion-mcp-server": {
"command": "env NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx",
"args": ["-y", "notion-mcp-server"]
}
}
}- 替换
YOUR_KEY和YOUR_PAGE_ID使用您的实际Notion API密钥和页面ID - 重新启动Cursor以应用更改
方法2:手动模式
- 打开光标并转到设置
- 导航到“MCP”或“模型上下文协议”部分
- 点击“添加服务器”或等效选项
- 在相应字段中输入以下命令:
env NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx -y notion-mcp-server- 替换
YOUR_KEY和YOUR_PAGE_ID使用您的实际Notion API密钥和页面ID - 保存设置,必要时重新启动Cursor
Claude桌面集成
- 创建或编辑
mcp.json配置目录中的文件:
{
"mcpServers": {
"notion-mcp-server": {
"command": "npx",
"args": ["-y", "notion-mcp-server"],
"env": {
"NOTION_TOKEN": "YOUR_KEY",
"NOTION_PAGE_ID": "YOUR_PAGE_ID"
}
}
}
}- 替换
YOUR_KEY和YOUR_PAGE_ID使用您的实际Notion API密钥和页面ID - 重新启动Claude Desktop以应用更改
🌟 特性
- 📝 概念整合 -与Notion数据库、页面和块交互
- 🔌 通用MCP兼容性 -适用于所有MCP客户端,包括Cursor、Claude Desktop、Cline和Zed
- 🔍 数据检索 -从Notion页面、块和数据库中获取信息
- ✏️ 内容创建 -创建和更新Notion页面和块
- 📊 区块管理 -在Notion页面中附加、更新和删除块
- 💾 数据库操作 -创建、查询和更新数据库
- 🔄 批量操作 -在单个请求中执行多个操作
- 🗑️ 存档和还原 -存档和恢复Notion页面
- 🔎 搜索功能 -按标题搜索Notion页面和数据库
- 💬 评论管理 -获取、创建和回复页面和讨论上的评论
- 👥 用户管理 -检索工作区用户和用户信息
📚 文档
可用工具
服务器提供以下用于与Notion交互的整合工具:
notion_pages
一个全面的页面操作工具,包括:
- 使用指定内容创建新页面
- 更新页面属性
- 归档页面(移至垃圾箱)
- 恢复以前存档的页面
- 按标题搜索页面
示例操作:
{
"payload": {
"action": "create_page", // One of: "create_page", "archive_page", "restore_page", "search_pages", "update_page_properties"
"params": {
// Parameters specific to the chosen action
}
}
}notion_blocks
一个完整的区块操作工具包,包括:
- 正在检索块内容
- 获取儿童积木
- 将新块附加到父块
- 更新现有块
- 删除程序块
- 执行批处理操作(追加、更新、删除、混合)
示例操作:
{
"payload": {
"action": "append_block_children", // One of: "append_block_children", "retrieve_block", "retrieve_block_children", "update_block", "delete_block", "batch_append_block_children", "batch_update_blocks", "batch_delete_blocks", "batch_mixed_operations"
"params": {
// Parameters specific to the chosen action
}
}
}notion_database
一个强大的数据库交互工具,包括:
- 创建具有自定义属性的新数据库
- 使用过滤器和排序查询数据库
- 更新数据库结构和属性
示例操作:
{
"payload": {
"action": "create_database", // One of: "create_database", "query_database", "update_database"
"params": {
// Parameters specific to the chosen action
}
}
}notion_comments
管理Notion内容评论的工具:
- 从页面和块中检索评论
- 向页面添加新评论
- 对现有讨论的答复
示例操作:
{
"payload": {
"action": "get_comments", // One of: "get_comments", "add_page_comment", "add_discussion_comment"
"params": {
// Parameters specific to the chosen action
}
}
}notion_users
访问用户信息的工具:
- 列出所有工作区用户
- 获取特定用户的详细信息
- 正在检索有关当前机器人用户的信息
示例操作:
{
"payload": {
"action": "list_users", // One of: "list_users", "get_user", "get_bot_user"
"params": {
// Parameters specific to the chosen action
}
}
}可用资源
服务器目前不公开任何资源,而是专注于基于工具的操作。
🛠 发展
- 克隆存储库
git clone https://github.com/awkoy/notion-mcp-server.git
cd notion-mcp-server- 再进行
npm install- 设置环境变量
- 创建一个 .env 文件包含:
NOTION_TOKEN=your_notion_api_key
NOTION_PAGE_ID=your_notion_page_id- 构建项目
npm run build- 运行检查器
npm run inspector🔧 技术细节
- 使用TypeScript和MCP SDK(版本1.7.0+)构建
- 使用官方Notion API客户端(@notionhq/client v2.3.0+)
- 遵循模型上下文协议规范
- 在Notion页面、块和数据库上实现CRUD操作的工具
- 支持高效的批处理操作以优化性能
- 使用Zod模式验证输入/输出
❓ 故障排除
- 常见问题
- 身份验证错误:确保您的Notion令牌具有正确的权限,并且为您的页面/数据库启用了集成 - 页面访问问题:确保您的集成已添加到您尝试访问的页面中 - 速率限制:注意API有速率限制-使用批处理操作来优化请求
- 获取帮助
- 在上创建问题 - 检查 API文件通知 - 访问MCP社区渠道寻求帮助
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

