跳到主要内容

Notion (MCP)

社区贡献

本教程由社区贡献,不受 Open WebUI 团队支持。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要做出贡献?请查看 贡献教程

Notion 在 https://mcp.notion.com/mcp 托管了一个远程 MCP 服务器,Open WebUI 可以通过 Streamable HTTP 进行原生连接。身份验证通过 Notion 的 OAuth 流程处理 —— 无需 API 令牌,无需代理,也无需额外部署容器。

Setup

前提条件:WEBUI_SECRET_KEY

必须WEBUI_SECRET_KEY 环境变量设置为持久化的固定值。如果不设置,每次容器重启时您的 OAuth 会话都会失效,从而强制要求重新进行身份验证。有关详细信息,请参阅 MCP 功能文档

1. Add the tool

转到 管理员面板 → 设置 → 外部工具,然后点击 + 添加新连接。填写以下内容:

字段
类型 (Type)MCP Streamable HTTP
URLhttps://mcp.notion.com/mcp
认证方式 (Auth)OAuth 2.1
IDntn
名称 (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."
    }
  }
]

已导入 Notion MCP 配置的外部工具模态框。

2. Authorize

在任意聊天中,打开 + → 集成 (Integrations) → 工具 (Tools) 并启用 Notion 开关。您将被重定向到 Notion 的 OAuth 流程 —— 选择您的工作区并授予访问权限。

启用了 Notion 工具的聊天输入栏。

Notion OAuth 授权页面。

OAuth 2.1 工具无法预先启用

不要 将其设置为模型的默认工具。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 工具(+集成 → 工具)以重新授权。

聊天中显示的 Failed to connect to MCP server 错误。

OAuth callback failed: mismatching_state

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

OAuth 回调 mismatching_state 错误。

Object not found

该页面尚未与集成共享。在 OAuth 流程中,Notion 会询问要授予访问权限的页面 —— 请确保已勾选相关页面。您可以随时从 Notion 集成设置 中更新访问权限。

missing_property when creating a page

Notion 需要父页面或数据库。请告诉模型:“先搜索我的‘Notes’页面,然后在其内部创建新页面。”

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.