Notion (MCP)
本教程由社区贡献,不受 Open WebUI 团队支持。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要做出贡献?请查看 贡献教程。
Notion 在 https://mcp.notion.com/mcp 托管了一个远程 MCP 服务器,Open WebUI 可以通过 Streamable HTTP 进行原生连接。身份验证通过 Notion 的 OAuth 流程处理 —— 无需 API 令牌,无需代理,也无需额外部署容器。
Setup
您 必须 将 WEBUI_SECRET_KEY 环境变量设置为持久化的固定值。如果不设置,每次容器重启时您的 OAuth 会话都会失效,从而强制要求重新进行身份验证。有关详细信息,请参阅 MCP 功能文档。
1. Add the tool
转到 管理员面板 → 设置 → 外部工具,然后点击 + 添加新连接。填写以下内容:
| 字段 | 值 |
|---|---|
| 类型 (Type) | MCP Streamable HTTP |
| URL | https://mcp.notion.com/mcp |
| 认证方式 (Auth) | OAuth 2.1 |
| ID | ntn |
| 名称 (Name) | Notion |
点击 Register Client (注册客户端),然后点击 Save (保存)。如果您有预先创建的 OAuth 客户端凭证,请使用 OAuth 2.1 (Static)。
备选方案:导入 JSON
您也可以在模态框中点击 Import (导入) 并粘贴以下配置:
[
{
"type": "mcp",
"url": "https://mcp.notion.com/mcp",
"spec_type": "url",
"spec": "",
"path": "openapi.json",
"auth_type": "oauth_2.1",
"key": "",
"info": {
"id": "ntn",
"name": "Notion",
"description": "Search, read, create, and manage Notion pages and databases."
}
}
]
2. Authorize
在任意聊天中,打开 + → 集成 (Integrations) → 工具 (Tools) 并启用 Notion 开关。您将被重定向到 Notion 的 OAuth 流程 —— 选择您的工作区并授予访问权限。


请 不要 将其设置为模型的默认工具。OAuth 2.1 需要交互式的浏览器重定向,这在请求进行到一半时是无法发生的。用户必须在每次聊天中通过 + 按钮手动启用它。有关详细信息,请参阅 MCP 文档。
在一段时间处于闲置状态或容器重启后,Notion 的 OAuth 会话可能会过期。如果看到 Failed to connect to MCP server 'ntn' 报错,请在任意聊天中重新开启该工具的开关,以再次触发授权流程。
Rate limits
适用标准的 Notion API 限制:
- 常规 (General): 180 次请求/分钟
- 搜索 (Search): 30 次请求/分钟
Troubleshooting
Failed to connect to MCP server 'ntn'
您的 OAuth 会话已过期。在任意聊天中重新开关 Notion 工具(+ → 集成 → 工具)以重新授权。

OAuth callback failed: mismatching_state
您正在通过 localhost 访问 Open WebUI,但 WEBUI_URL 被设置为公共域名。请使用与 WEBUI_URL 完全一致的 URL 访问您的实例,并再次进行授权。

Object not found
该页面尚未与集成共享。在 OAuth 流程中,Notion 会询问要授予访问权限的页面 —— 请确保已勾选相关页面。您可以随时从 Notion 集成设置 中更新访问权限。
missing_property when creating a page
Notion 需要父页面或数据库。请告诉模型:“先搜索我的‘Notes’页面,然后在其内部创建新页面。”