Subspace Institute
Background Decoration

MCP 服务

通过 Model Context Protocol 检索奶绿的人设事实与往期直播

概述

LAPLACE Eidolon 在语音分身之外,额外对外开放一个只读的 Model Context Protocol(MCP)服务。它把驱动语音管线的同一套 RAG 索引——主播明前奶绿的人设事实与往期直播转录——暴露给任意 MCP 客户端(Claude Desktop、Cursor、自建 Agent 等),让它们能够检索「她是谁」与「她在某场直播说过什么」。

服务以 Streamable HTTP 形式挂载在机器人主应用上,公共实例位于:

https://eidolon.vrp.moe/mcp

服务端点规范化为 /mcp/(带尾斜杠),/mcp 会 307 重定向到它。不跟随重定向的客户端请直接使用带尾斜杠的地址。

接入

多数支持 Streamable HTTP 的 MCP 客户端只需配置 URL 即可:

{
  "mcpServers": {
    "laplace-eidolon": {
      "url": "https://eidolon.vrp.moe/mcp"
    }
  }
}

仅支持 stdio 传输的旧客户端可经 mcp-remote 桥接:

{
  "mcpServers": {
    "laplace-eidolon": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://eidolon.vrp.moe/mcp"]
    }
  }
}

工具

服务暴露两个只读检索工具,二者均接受单个 query 字符串参数,返回命中列表:

search_persona_facts

检索手工整理的主播人设事实——身份、设定、喜好与梗。适合稳定的「她是谁」类问题,而非回忆某场直播的具体片段。

返回结构:

{
  "count": 2,
  "results": [
    {
      "text": "人设事实原文",
      "date": "2026-05-09",
      "score": 0.82
    }
  ]
}
字段含义
text人设事实原文
date事实对应的来源日期(可能为 null
score相关度评分

search_streams

检索往期直播转录,返回最相关的约 5 分钟直播片段,附带播出日期与话题。适合回忆「她在某场直播说过 / 做过什么」。

返回结构:

{
  "count": 1,
  "results": [
    {
      "stream_date": "2026-04-20",
      "content": "经精炼的直播片段叙述",
      "topics": ["话题A", "话题B"],
      "score": 0.77
    }
  ]
}
字段含义
stream_date直播播出日期(可能为 null
content精炼后的片段叙述(优先 details,回退 summary / 原始转录)
topics片段话题标签数组
score相关度评分

score 的含义随检索路径而变:启用 Cohere 重排时为相关度分(越高越相关),未重排的纯向量路径则为距离(越低越相关)。当对应 LanceDB 索引尚未构建时,工具返回 count: 0 与一条说明性的 note,不会报错。

鉴权与限流

服务默认匿名开放,无需任何凭据即可调用。两类调用者享受相同的工具与相同的公共数据——令牌只提升吞吐配额,不解锁任何私有内容(不涉及 Mem0,也不涉及任何按观众隔离的数据)。

调用者鉴权方式默认配额
匿名按客户端 IP20 次/小时
已登录Authorization: Bearer <loginSyncToken>120 次/小时

携带的 loginSyncToken 与 WebRTC 握手所用的是同一枚,由 LAPLACE Login Sync 校验;识别出的 Bilibili UID 用作限流键。无效、过期或缺失的令牌一律静默按匿名处理,不会报错。每次检索都会消耗一次嵌入(及可选的 Cohere 重排),配额即用于约束这部分开销。

自部署

公共实例之外,自托管的 Eidolon 同样默认挂载该服务。相关环境变量:

环境变量说明
EIDOLON_MCP_ANON_RATE_LIMIT_PER_HOUR匿名每小时配额,默认 20
EIDOLON_MCP_AUTH_RATE_LIMIT_PER_HOUR已登录每小时配额,默认 120
EIDOLON_MCP_RATE_LIMIT_WINDOW_SEC限流窗口秒数,默认 3600
EIDOLON_MCP_ALLOWED_HOSTS防 DNS-rebinding 的 Host 白名单(逗号分隔)

反向代理后须将公开域名写入 EIDOLON_MCP_ALLOWED_HOSTS 以通过 SDK 的 Host 校验,并像 /api/offer 一样无缓冲透传 POST /mcp/EIDOLON_MCP_ALLOWED_HOSTS 留空则关闭该保护,仅适合本地 localhost 调试。

源代码

On this page