iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
生成式 AI

MCP Server 全攻略:讓 AI 動態調用工具的工作流革命系列 第 2

[02] 零基礎新手體驗:如何在 Cursor 玩 MCP Server(Notion 為例)

  • 分享至 

  • xImage
  •  

這篇文不會講太多進階應用(例如實際怎麼把它融入日常工作流),而是讓你透過 Cursor 這個 Host,快速了解如何把一個 MCP Server 新增到 Client 並跑起來玩!
Note: MCP Server 就是你想使用的第三方服務,像是 Github、Figma...

體驗流程概觀

整個體驗流程分成四步:

  1. 挑好 MCP Server
  1. 設定 Host (Cursor)
  • 在 cursor/mcp.json 裡面新增一個 Server 配置。
  1. Client 與 Server 初始化(底層技術細節會再後續文章提及)
  • 當 Cursor 啟動時,會自動與 MCP Server 建立連線,安裝也會幫我們跑好,進行初始化交握(版本協商、確認支援的 tools/resources/prompts、交換資訊)
  1. 試玩 MCP Server(底層技術細節會再後續文章提及)
  • 初始化完成後,你就能在 Cursor 裡面操作 MCP Server。

設定流程

前置準備

要完成這次小體驗,你需要準備:

創好 notion 後,來創立這次要授權給 cursor 把玩的 workspace
create notion workspace

我這裡先把新建的 workspace 改名為 Fake Company
rename workspace

接著我們要在 Notion 建立 Integration

建立方式如下:
去下面網址, 點選 New integration

https://www.notion.so/profile/integrations

create notion new integration
接著選取剛剛創好的 workspace,並且 type 我們選 internal
fill new integration form

完成後會出現這樣的畫面,我們可以先保持預設就好,接下來會用到 Insert Content 和 Read Content

add new integration form result page

設定 Host (Cursor)

我們先打開 cursor,可以先創建好一個空目錄,我們要開始設定要用的 MCP Server 了。
MCP Server 的設定需要修改 cursor/mcp.json,有兩種方式可以操作:

  1. 直接編輯 cursor/mcp.json

手動打開並貼上設定。

  1. 透過 Cursor 圖形介面設定

操作流程如下:

Cursor 編輯器
   └─ 右上角設定 ⚙️
        └─ MCP & Integrations
             └─ MCP Tools
                  └─ New MCP Server
                        ↓
                 點了會自動打開 cursor/mcp.json

https://ithelp.ithome.com.tw/upload/images/20250916/20141182koRw5mXD1N.png

在這個檔案中,貼上對應的 MCP Server 配置:

{
  "mcpServers": {
    "notionApi": {
      "command": "npx",
      "args": ["-y", "@notionhq/notion-mcp-server"],
      "env": {
        "NOTION_TOKEN": "ntn_****"
      }
    }
  }
}

NOTION_TOKEN 回到剛剛 new intergration 結果頁面,把Internal Integration Secret 複製貼上

add new integration form result page

(如果迷失的話回到 https://www.notion.so/profile/integrations Notion Integrations -> Configuration -> Internal Integration Secret)

設定完後就會看到以下畫面,他列出了所有該 MCP Server 提供的工具,很酷吧:
preview of mcp server

這樣就設定玩了!我們可以開始玩玩看,這裡只先舉一個簡單的案例。

試玩 MCP Server

初始化完成後,你就能在 Cursor 裡面操作 MCP Server。

我們這裡要玩的範例是,給定 code ,請 LLM 幫我們寫 System Design 並且新增文章到 Notion 給團隊使用,實務上可能還會請他先讀我們團隊的SD文件撰寫原則,但這裡為了方便Demo就不多做說明。

我在 curosr 編輯器中新建一個檔案: assassinsGuild.js
裡面有寫暗殺門派,以及暗殺門派可以新增暗殺目標、派出殺手執行暗殺、查看目前目標清單,請直接複製貼上就好:

// 暗殺門派類別
class AssassinsGuild {
    constructor(name) {
      this.name = name;
      this.targets = []; // 紀錄要暗殺的人
    }
  
    // 新增暗殺目標
    addTarget(targetName) {
      if (!targetName) {
        throw new Error("目標名稱不能是空的!");
      }
      this.targets.push(targetName);
      console.log(`[${this.name}] 已經鎖定目標:${targetName}`);
    }
  
    // 派出殺手執行暗殺
    sendAssassin() {
      if (this.targets.length === 0) {
        console.log(`[${this.name}] 沒有目標可以暗殺。`);
        return;
      }
  
      const target = this.targets.shift(); // 取出最早鎖定的目標
      console.log(`[${this.name}] 派出殺手成功暗殺了:${target}`);
    }
  
    // 查看目前目標清單
    listTargets() {
      console.log(`[${this.name}] 目前目標清單:`, this.targets);
    }
  }
  
  // ==== 使用範例 ====
  
  // 建立一個暗殺門派
  const darkClan = new AssassinsGuild("暗殺大隊");
  
  // 記錄暗殺目標
  darkClan.addTarget("陳老大");
  
  // 查看目前目標
  darkClan.listTargets();
  
  // 派出殺手
  darkClan.sendAssassin();
  
  // 再次查看清單
  darkClan.listTargets();

接著我們來請 LLM 幫我們寫 SD,首先需要先打開對話框,我們會用對話框的方式請 Agent 處理,跟 Ask 模式不同的是 Agent 能替你執行一些行動,請點選右上角的:
cusor ai pannel

打開後輸入以下 prompt

幫我在notion新增一個 title 是 assassinsGuld SD設計的文件, 並且根據 code 寫一篇 system design

接著請看結果:
llm processing my request

很有趣的是如果遇到錯誤 LLM 也會自行修正

可以看到最後真的在 Notion 裡面新增了一份針對 assassinsGuild.js 的 SD 文件了:

llm result

SD result in Notion

以上就是簡單的體驗!你學會了嗎~
工作流上的應用我們不在這篇探討,會放到後續章節。我們明天見!

補充資訊

如果想探索更多和 Notion MCP 互動的方式可參閱文件:

https://developers.notion.com/docs/get-started-with-mcp

https://github.com/makenotion/notion-mcp-server

官方還能讓你用 HTTP 的方式與之互動,這裡的範例是用 Local Server 的方式


上一篇
[01] MCP 101
下一篇
[03] 如何讓 MCP Server 與 Client 溝通:STDIO 與 Streamable HTTP
系列文
MCP Server 全攻略:讓 AI 動態調用工具的工作流革命4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言