MCP 服務

白守可以在本機啟動一個 MCP 服務,把日記、回憶、記憶檢索這些工具暴露出去,讓支援 MCP 的外部用戶端直接呼叫。

跟著介面點一遍見 開啟 MCP。本頁是位址、工具清單和排查對照。

方向要先搞清:白守是 MCP 服務端。它把自己的能力提供給外部 AI,不是用來接入別人的 MCP 伺服器。所以你在白守裡找不到填 mcpServers 的地方,那是用戶端側的事。

桌面端和 Android 都支援,兩邊都需要保持白守應用程式在執行。

開啟

設定 → MCP 服務,打開 啟用 MCP 服務

項目說明
連接埠預設 31004,可改成 1000 到 65535 之間任意連接埠。開發版預設用 31005 避免和正式版撞
連線位址http://127.0.0.1:31004/mcp
存取權杖首次啟用時自動產生,可以隨時點重新整理重新產生

設定頁裡會同時顯示本機位址和區域網路位址。同一台機器上的用戶端用 127.0.0.1,別的裝置連過來就用區域網路 IP。

在用戶端裡設定

以 Cursor 為例,編輯 ~/.cursor/mcp.json(Windows 是 %USERPROFILE%\.cursor\mcp.json)。完整點擊步驟見 接到 Cursor

{
  "mcpServers": {
    "baishou": {
      "url": "http://127.0.0.1:31004/mcp",
      "headers": {
        "Authorization": "Bearer 你的存取權杖"
      }
    }
  }
}

權杖從白守設定頁複製。改了連接埠就同步改 URL;連手機上的白守就把 host 換成手機 IP。

其他 MCP 用戶端的設定檔位置不同,但要填的東西就這兩樣:/mcp 結尾的 URL,加一個 Authorization: Bearer 標頭。

會暴露哪些工具

一共 14 個,對外的名字統一帶 baishou_ 前綴。

工具名做什麼主要參數
baishou_diary_read按日期讀日記全文,一次最多 20 篇dates
baishou_diary_write在指定日期新建日記date, content, tags
baishou_diary_edit追加或整篇覆蓋已有日記date, content, mode
baishou_diary_delete刪除指定日期的日記date
baishou_diary_list列出某段日期內有日記的日子和預覽start_date, end_date
baishou_diary_search全文關鍵字搜日記query, limit
baishou_summary_read讀週記、月報、季報、年鑑type, start_date
baishou_message_search跨會話關鍵字搜歷史訊息query, limit
baishou_vector_search語意或混合檢索記憶query, mode, min_score
baishou_memory_store寫入長期記憶content, tags
baishou_memory_delete搜到後刪除記憶query
baishou_web_search連網搜尋,一次 1 到 3 條查詢queries
baishou_url_read抓取指定網頁正文url, query
baishou_current_time取得目前真實時間

外部用戶端和白守內部的夥伴用的是同一套工具,所以行為完全一致。

表情包傳送和上下文壓縮屬於內部工具,不會暴露出去。

工具列表比預期少?

外部看到的工具是動態過濾的,和你在白守裡的設定直接相關:

  • 設定 → 工具管理 裡關掉的工具,MCP 這邊也不會出現。
  • 關了 RAG 或者沒設定嵌入模型,baishou_vector_searchbaishou_memory_store 會消失。
  • 會話工具列的連網搜尋沒開,baishou_web_search 不會暴露。
  • baishou_current_time 不能被關閉,永遠在。

另外 MCP 操作的始終是目前活躍的工作空間。切了工作區,外部用戶端讀到的資料也跟著變。

排障

現象檢查什麼
連不上白守在執行嗎;位址是不是 /mcp 結尾;連接埠有沒有被別的程式占用或被防火牆攔
401權杖對不對。重新產生過權杖的話,用戶端那邊也要同步更新
一個工具都沒有MCP 開關是不是沒打開
少了幾個工具見上一節的動態過濾規則
區域網路連不上用區域網路 IP 而不是 127.0.0.1,並確認兩台裝置在同一網路
手機上沒有 MCP 選項需要包含原生模組的正式 APK,Expo Go 裡用不了

安全