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,也不涉及任何按观众隔离的数据)。
| 调用者 | 鉴权方式 | 默认配额 |
|---|---|---|
| 匿名 | 按客户端 IP | 20 次/小时 |
| 已登录 | 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
调试。