/ 目錄 / 演練場 / Notion
● 官方 makenotion 🔑 需要你的金鑰

Notion

作者 makenotion · makenotion/notion-mcp-server

給你的 Agent 存取你的團隊知識庫的讀寫權限——規格查找、頁面起稿、資料庫 CRUD,全部在一個 MCP 中。

Notion 官方 MCP。讀取頁面、建立區塊、查詢資料庫、更新屬性。將 Notion 變成你的 Agent 可以搜尋、摘要和追加的第二大腦——讓內部文件 AI 可定址的最乾淨方式,不需要獨立的 RAG 管道。

為什麼要用

核心特性

即時演示

實際使用效果

notion.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ]
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ]
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ]
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ]
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "notion",
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "notion": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@notionhq/notion-mcp-server"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add notion -- npx -y @notionhq/notion-mcp-server

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: Notion

讓 Agent 檢視你的 PRD 尋找漏洞

👤 產品經理、技術主管 ⏱ ~15 min intermediate

何時使用: 你起稿了規格說明,想在與工程團隊分享前進行批評性閱讀。

前置條件
  • Notion 內部整合密鑰 — notion.so/my-integrations → 新整合 → 複製密鑰
  • 與整合共享的頁面 — 在頁面上:••• → 連線 → 新增你的整合
步驟
  1. 擷取頁面內容
    讀取位於 <URL> 的 Notion 頁面。用 5 點摘要此規格的提案。✓ 已複製
    → 準確的 1 段落摘要——證明 Agent 理解它
  2. 找到規格不清的區域
    列出規格模糊的每個地方:遺漏的錯誤情況、未定義的邊界行為、不清楚的所有權、無推出計畫、無成功指標。✓ 已複製
    → 編號的漏洞清單附帶頁面參考
  3. 為審查起稿問題
    將這些漏洞轉換為審查工程師會提出的 5-10 個具體問題。將它們作為新的「未解決的問題」區段附加到 Notion 頁面。✓ 已複製
    → 問題區塊已新增到頁面

結果: 更緊密的規格加上「未解決的問題」區段,在審查會議前啟動正確的對話。

注意事項
  • Agent 編造規格中不存在的細節 — 在提示中堅持:'只標示漏洞;不要編造事實;引用每個漏洞出現的區段'
  • 長規格在擷取時被截斷 — 如果頁面有許多區塊,請逐頁使用 retrieve_block_children;不要依賴單一 get_page 呼叫
搭配使用: linear

從 Linear + GitHub 自動生成每日站會頁面

👤 工程經理、Scrum 大師 ⏱ ~10 min intermediate

何時使用: 你運行日常 Notion 站會頁面,並希望其預先填入昨天的活動。

前置條件
  • 一個 Notion「站會」資料庫 — 具有屬性:日期(date)、團隊(select)、狀態(rich_text)
步驟
  1. 收集昨天的活動
    從 Linear,列出 ENG 團隊在過去 24 小時內移至完成的議題。從 GitHub,列出我們團隊合併的 PR。✓ 已複製
    → 合併的活動清單
  2. 建立站會內容
    格式如下:勝利(已發布)、進行中(開啟的 PR)、阻礙因素(標記為「受阻」的議題)、今天的焦點(進行中的議題)。保持每個區段少於 5 項。✓ 已複製
    → 格式化的區塊清單
  3. 建立 Notion 頁面
    在站會資料庫中建立新頁面。日期 = 今天、團隊 = ENG,並將內容貼為結構化區塊(每個區段一個 h2)。✓ 已複製
    → 返回頁面 URL

結果: 預先填入的站會頁面準備好進行上午 9 點的同步,節省 15 分鐘的忙亂。

注意事項
  • 資料庫屬性名稱區分大小寫,且必須完全匹配 — 在首次運行前使用 retrieve_database 列出屬性,並硬編碼精確的鍵
搭配使用: linear · github

在你的 Notion 文件上建立一個 Slack 就緒的問答機器人

👤 營運主管、支援經理 ⏱ ~20 min intermediate

何時使用: 新員工一直問相同的問題。你的答案已經寫在 Notion 中——只是找不到。

前置條件
  • 上線文件位於已知的 Notion 空間 — 與整合共享父頁面,使所有子頁面繼承存取權限
步驟
  1. 搜尋工作區
    搜尋 Notion 以尋找符合『[使用者問題]』的頁面。返回前 5 個頁面標題和 URL。✓ 已複製
    → 排名結果清單
  2. 閱讀最相關的
    對於前 2 個匹配項,擷取完整內容。引用回答問題的段落。✓ 已複製
    → 逐字引用 + 來源 URL
  3. 附帶引用回答
    用 2-3 句回答使用者的問題,僅以這些引用為基礎。以『來源:<url>』結尾。如果文件實際上沒有回答,則說出來。✓ 已複製
    → 附帶引用的答案或誠實的『不在文件中』

結果: 根據事實的答案,讓人們找到自己到達來源文件的方式——在 Slack 中不再有『X 在哪裡?』

注意事項
  • 當文件實際上未涵蓋時,Agent 編造合理的答案 — 明確指示:『如果擷取的引用沒有回答問題,請回覆:我在我們的文件中看不到這個——沒有猜測』
  • Notion 搜尋是基於關鍵字,會錯過語義匹配 — 如果結果看起來不足,請與適當的 RAG 堆棧配對(將 Notion 內容嵌入向量資料庫)

將會議記錄轉換為 Linear 議題

👤 技術主管、產品經理 ⏱ ~10 min beginner

何時使用: 你在 Notion 中的會議中做了粗略筆記。現在你需要提取行動項目。

前置條件
  • 已安裝 Linear MCP — 請參閱 Linear 指南
步驟
  1. 閱讀會議頁面
    讀取位於 <URL> 的 Notion 頁面。提取每個行動項目——任何表述為『X 將做 Y』或『我們應該 Z』的項目。✓ 已複製
    → 如果提及,附帶擁有者的清單
  2. 建立前確認
    向我展示行動清單。對於每個,提議一個 Linear 標題、團隊和優先級。尚不建立。✓ 已複製
    → 人工審查的試運行表
  3. 建立已批准的項目
    為項目 1、3 和 5 建立 Linear 議題。將每個連回 Notion 會議頁面。✓ 已複製
    → 返回 Linear 議題 URL

結果: 會議行動實際被追蹤,而不是丟失在沒人再次訪問的 Notion 頁面中。

注意事項
  • Agent 將每個資訊項目視為一個行動 — 在提示中:『只有擁有明確所有者或可交付成果的項目——放棄其他所有項目』
搭配使用: linear

審計你的 Notion 文件的陳舊程度

👤 文件主管、開發體驗工程師 ⏱ ~20 min intermediate

何時使用: 季度清理——找到 6 個月以上未觸及且可能過時的文件。

前置條件
  • 文件區域的根頁面 — 例如 /Engineering/Docs——與整合���享
步驟
  1. 列出帶時間戳的子頁面
    列出『工程文件』頁面下的所有後代頁面。對於每個:標題、URL、last_edited_time、last_edited_by。✓ 已複製
    → 完整清單
  2. 篩選為陳舊頁面
    篩選最後編輯超過 180 天前的頁面。按頂級區段分組。✓ 已複製
    → 每個區段的陳舊清單
  3. 標記以供審查
    對於每個陳舊頁面,在頂部新增提醒區塊:『⚠ 需要審查——最後更新 <date>。Ping <last-editor> 以確認。』✓ 已複製
    → 使用審查橫幅更新的頁面

結果: 文件區域中陳舊程度是可見的,而不是隱藏的——所有者會收到提示以更新或刪除。

注意事項
  • 某些頁面故意是檔案(ADR、事後分析),不應獲得橫幅 — 按標籤或父級篩選——排除 /Archive 下的任何內容或標記為『historical』的內容

組合

與其他 MCP 搭配,撬動十倍槓桿

notion + linear

從 Notion PRD 搭建 Linear 專案

讀取位於 <URL> 的 Notion PRD,提取可交付成果,並建立具有按里程碑分組的議題的匹配 Linear 專案。✓ 已複製
notion + github

保持 README 與 Notion 設計文件的同步

讀取 Notion 頁面『<API 設計>』並更新我們 api repo 中的 README.md 以匹配——使用差異打開 PR。✓ 已複製
notion + sentry

將每週工程品質報告張貼到 Notion 資料庫

提取本週每個專案的 Sentry 錯誤統計,並在 Notion『每週品質』資料庫中建立新頁面。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
search query, filter?: {property, value} 探索——在整個工作區按關鍵字找頁面 1 個 API 呼叫
retrieve_page page_id 獲取頁面元資料/屬性——不是內容區塊 1 個 API 呼叫
retrieve_block_children block_id, start_cursor? 讀取實際頁面內容——重複呼叫直到沒有 next_cursor 1 個 API 呼叫(可能需要分頁)
append_block_children block_id, children: Block[] 將內容新增到頁面或特定區塊下 1 個 API 呼叫
update_block block_id, {type}: {...} 就地編輯現有區塊的文字/內容 1 個 API 呼叫
create_page parent: {database_id}|{page_id}, properties, children? 建立新頁面——在父頁面下或資料庫內 1 個 API 呼叫
query_database database_id, filter?, sorts? 結構化查詢——篩選/排序資料庫中的項目 1 個 API 呼叫
update_page page_id, properties 更新頁面層級屬性(狀態、標籤、日期) 1 個 API 呼叫
retrieve_database database_id 在寫入前自我檢查屬性名稱/類型 1 個 API 呼叫

成本與限制

運行它的成本

API 配額
Notion:平均每個整合 3 次請求/秒,允許突發。在規模上會積極進行 429。
每次呼叫 Token 數
每頁 500–3000 個令牌,取決於區塊計數
費用
免費——API 包含在任何 Notion 計畫中
提示
有許多嵌套區塊的頁面讀取成本高。先搜尋,只擷取目標頁面。

安全

權限、密鑰、影響範圍

最小權限: read_content
憑證儲存: 環境變數 NOTION_API_KEY 中的內部整合密鑰
資料出站: 所有對 api.notion.com 的呼叫
切勿授予: update_content insert_content

故障排查

常見錯誤與修復

object_not_found

頁面存在但未與你的整合共享。開啟頁面 → ••• → 連線 → 新增整合。

validation_error on create_page

你的有效負載中的屬性名稱/類型與資料庫架構不符。先呼叫 retrieve_database 並複製精確的鍵。

429 rate limited

Notion 限制至約 3 次請求/秒。在寫入之間新增 350 毫秒的睡眠,或透過 append_block_children 批處理(每個呼叫傳送 100 個區塊,而非 100 次呼叫)。

Page content looks empty

retrieve_page 只返回元資料——內容在區塊中。呼叫 retrieve_block_children 以取得實際文字。

替代方案

Notion 對比其他方案

替代方案何時用它替代權衡
Confluence MCP你的組織使用 Confluence/Atlassian 而非 Notion更重的權限模型;Agent 工作流程往往更慢
Obsidian / filesystem MCP你的知識庫是本地 markdown 檔案無多使用者同步或權限,但零 API 成本和即時讀取

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills