Notion MCP Server
一个模型上下文协议服务器,使 Claude 和其他大型语言模型能够与 Notion 工作区进行交互,提供诸如搜索、检索、创建和更新页面以及管理数据库等功能。
README
Notion MCP 服务器
一个用于 Notion 集成的模型上下文协议服务器,允许 Claude 和其他 LLM 与您的 Notion 工作区进行交互。
功能
- 搜索 Notion: 搜索您的整个 Notion 工作区
- 获取页面: 从特定的 Notion 页面检索内容
- 创建页面: 在您的 Notion 工作区中创建新页面
- 更新页面: 使用新内容或标题更新现有页面
- 创建数据库: 创建具有自定义属性的新数据库
- 查询数据库: 使用过滤器和排序查询数据库
- 更新数据库条目: 更新数据库条目的属性
- 创建数据库行: 向具有自定义属性的现有数据库添加新行
设置
-
克隆此存储库
-
安装依赖项
npm install -
配置您的 Notion API 密钥
- 在 Notion 开发者门户 中创建一个集成
- 复制您的 API 密钥
- 您可以:
- 编辑
.env文件并将your_notion_api_key_here替换为您的实际 API 密钥,或者 - 直接在 Claude for Desktop 配置中传递它(推荐,请参见下文)
- 编辑
-
构建服务器
npm run build -
运行服务器
npm start
使用 Claude for Desktop 进行设置
-
安装 Claude for Desktop(如果尚未安装)
-
打开您的 Claude for Desktop App 配置:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 如果文件不存在,请创建它
- 在 macOS 上:
-
将 Notion 服务器添加到您的配置:
{ "mcpServers": { "notion": { "command": "node", "args": [ "/Users/shaheerahmad/Documents/notion-mcp-server/dist/index.js", "--notion-api-key=YOUR_ACTUAL_API_KEY_HERE" ] } } }替换:
/Users/shaheerahmad/Documents/notion-mcp-server为您的项目目录的完整路径YOUR_ACTUAL_API_KEY_HERE为您的实际 Notion API 密钥
-
重新启动 Claude for Desktop
使用服务器
连接到 Claude for Desktop 后,您可以通过向 Claude 提出如下问题来使用服务器:
- "在我的 Notion 工作区中搜索会议记录"
- "获取我的项目计划页面的内容"(您需要页面 ID)
- "在 Notion 中创建一个包含任务列表的新页面"
- "使用内容 '这是要添加到页面的新内容' 更新我的 Notion 页面,ID 为 1aaada269d1b8003adceda69cf7bcd97"
- "在我的 Notion 页面中创建一个新数据库,ID 为 1aaada269d1b8003adceda69cf7bcd97"
- "查询我的 Notion 数据库,ID 为 1aaada269d1b8003adceda69cf7bcd97,查找状态为 '已完成' 的项目"
Claude 将根据您的请求自动使用适当的工具。
工具使用示例
搜索 Notion
在我的 Notion 工作区中搜索 "会议记录"
获取页面内容
获取我的 Notion 页面内容,ID 为 1aaada269d1b8003adceda69cf7bcd97
创建新页面
在 Notion 中创建一个新页面,标题为 "每周报告",内容为 "本周我们完成了以下任务..."
更新现有页面
使用内容 "将此新信息添加到页面" 更新我的 Notion 页面,ID 为 1aaada269d1b8003adceda69cf7bcd97。
您也可以更新标题:
使用标题 "新标题" 和内容 "要添加的新内容" 更新我的 Notion 页面,ID 为 1aaada269d1b8003adceda69cf7bcd97。
创建新数据库
在我的 Notion 页面中创建一个新数据库,ID 为 1aaada269d1b8003adceda69cf7bcd97,标题为 "任务跟踪器",属性为 {
"任务名称": { "title": {} },
"状态": {
"select": {
"options": [
{ "name": "未开始", "color": "red" },
{ "name": "进行中", "color": "yellow" },
{ "name": "已完成", "color": "green" }
]
}
},
"优先级": {
"select": {
"options": [
{ "name": "低", "color": "blue" },
{ "name": "中", "color": "yellow" },
{ "name": "高", "color": "red" }
]
}
},
"截止日期": { "date": {} }
}
查询数据库
查询我的 Notion 数据库,ID 为 1aaada269d1b8003adceda69cf7bcd97,使用过滤器 {
"property": "状态",
"select": {
"equals": "已完成"
}
}
您还可以添加排序:
查询我的 Notion 数据库,ID 为 1aaada269d1b8003adceda69cf7bcd97,使用排序 {
"property": "截止日期",
"direction": "ascending"
}
更新数据库条目
更新现有数据库条目(数据库中的页面)的属性。
{
"tool_name": "update-database-entry",
"tool_params": {
"pageId": "page_id_of_database_entry",
"properties": {
"状态": {
"select": {
"name": "已完成"
}
},
"优先级": {
"select": {
"name": "高"
}
},
"截止日期": {
"date": {
"start": "2023-12-31"
}
}
}
}
}
properties 参数应与 Notion API 期望的结构相匹配,以适应数据库中特定属性类型。不同的属性类型(文本、选择、日期等)需要不同的格式。
创建数据库行
向具有自定义属性的现有数据库添加新行。
{
"tool_name": "create-database-row",
"tool_params": {
"databaseId": "your_database_id_here",
"properties": {
"名称": {
"title": [
{
"text": {
"content": "新任务"
}
}
]
},
"状态": {
"select": {
"name": "未开始"
}
},
"优先级": {
"select": {
"name": "中"
}
},
"截止日期": {
"date": {
"start": "2023-12-15"
}
},
"备注": {
"rich_text": [
{
"text": {
"content": "这是一个通过 API 创建的新任务"
}
}
]
}
}
}
}
properties 参数必须包含数据库的所有必需属性,并遵循每个属性类型的 Notion API 结构。
故障排除
-
如果工具未显示,请检查 Claude for Desktop 日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log -
确保您的 Notion API 密钥已正确设置,并且您的集成已被授予访问您要交互的页面的权限。
-
如果您在日志中看到 "Unexpected token" 错误,则可能是 console.log 语句干扰了 MCP 协议。此版本的服务器已更新以避免这些问题。
未来改进
- 添加数据库查询功能
- 实施更好的内容格式
- 增加对更多块类型的支持
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。