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 里用不了

安全