读时间: 约 5 分钟 · 系列: 平台启用(数据工程)进阶 · 上一步: 外部 Agent Integration · 下一步: 备份与常见问题
什么时候需要 MCP Sources
这不是 Agent Integration。 MCP Sources 是让 Lantide 连到外部数据服务;右上角 Agent Integration 则是让 外部 Agent 连入 Lantide。若要设定 Cursor、Codex 或 Claude,请读 让外部 AI Agent 安全连入 Lantide。
Connections 管理常见数据库与数据来源(PostgreSQL/MySQL/SQLite、Additional folder、SQL Server/Azure SQL——见 数据源与连线 与 USER_GUIDE §4.5)。MCP Sources 用于透过 MCP 协定接入其他数据或 API,并在侧边栏 物化 成可查的表。
若团队只有直连 DB + 本地 CSV,可以暂不配置 MCP。当分析需求超出 Connections 能挂的来源时,再由你与分析师评估。
你的职责(概要)
- MCP Sources 区 齿轮 / + 开启管理
- 设定
stdio(启动命令)或http(URL、Token、Headers) - Test → Add(新增后为
disconnected) - Connect(HTTP 会先验证)直到
connected - 后续可在卡片或来源列右键 Edit/Connect 或 Disconnect/Remove;Edit 不会回显 command、token、headers,请明确保留、替换或清除。
- 分析师透过 Start in Chat → Scan Source 或对话探索物化表
Agent 控制(可选): 内建聊天与外部 Agent(Execute 可 Test/Connect/Explore;Admin 可新增/换凭证/Remove)使用与 Sidebar 相同的来源 registry。凭证永不回显;危险操作需使用者确认。详见 USER_GUIDE §4.6。
完整 UI 与状态见 USER_GUIDE §4.6。
状态怎么看
| 状态 | 意味 |
|---|---|
connected |
可用;侧边栏可见物化表 |
disconnected |
已设定未连上 |
error |
最近一次 Connect 失败;看卡片讯息与 Toast |
重启 App 或切换回工作区时,系统会对先前已 Connect 的来源各自动尝试重连一轮;失败时显示 error,可再手动 Connect。主动 Disconnect 后不会自动重连。
disconnected / error 时名称旁有 黄色警示;可在来源列右键 Connect。Remove 只移除设定,已物化表保留;若要删除数据,请对物化表使用 Delete。
与分析师分工
- 你: 来源设定、网路与凭证、Test / Connect
- 分析师: 扫描来源、决定物化哪些表、在 Plan 里使用
汇出 Workspace 可选包含 MCP cache;汇入后仍须 Reconfigure MCP 并重连。
下载型结果的部署检查
有些 MCP 来源对大查询不直接回传 rows,而是回传短效下载连结或受限 curl GET。Lantide会先把来源回应正规化,再由自己的下载器物化成一般 MCP table;Agent不执行shell,也不能临时放行下载host或私网IP。
正式环境启用前请确认:
- 在 MCP Source 设定中填入来源实际使用的
download_hosts;若使用全域部署设定,配置MCP_DOWNLOAD_ALLOWED_HOSTS。这两者是上限交集,不同 source 不会共用 host 权限。 - 私网下载预设封锁。使用者在 sidebar 看到 Review download access 时,可选择只允许这一笔未过期下载,或永久允许该 source 目前的单一 IP(
/32或/128)。永久授权只会写入该 source,不会放行整个 RFC1918 网段;较宽 CIDR 仅由平台管理员透过download_private_cidrs或MCP_DOWNLOAD_ALLOWED_PRIVATE_CIDRS配置。 - 不要要求 Agent 提供 URL、IP 或 CIDR。下载器会在每次 redirect 重新验证 host/IP,并固定连到已验证 IP,同时保留原 hostname 的 TLS 验证。
- 已物化表的 Agent Refresh(侧栏
Agent Refresh)会把 canonical、已脱敏的mcp_table_infoartifact 送进聊天。Agent 依目前 MCP tool schema 自行完成 submit/status/fetch;取得本轮 ready write ID 后,以mcp_pull_table覆写本地表(inline/builtin download →mcp_result_id;自订 download 配方 → validate 后的normalization_id)。Backend 不重播来源,也不保存或重用 task、batch、file handle 或 signed URL;并以 generation CAS 保护并行覆写。有效 ID 期间勿再次 fetch。External agent mode(Execute/Admin)启用时改复制 GUI handoff;数据表 Add to chat 改为 Copy table name。 mcp_pull_table是唯一写入入口(mcp_materialize_download为相容 wrapper)。只负责将 Backend 已保存的最终结果安全物化为本地表,不负责远端轮询或推测不同 MCP 工具的关系。来源仍在处理中时,由 Agent 依来源自己的契约继续呼叫 status/fetch;对话中断后不可期待 Backend 自动续跑。- MCP source 凭证与短效 download envelope 使用安装目录(
LANTIDEAPP_DATA_DIR)下的稳定 application secret 加密,不依赖每次启动更换的LANTIDEAPP_AUTH_TOKEN(该 token 仅供本机 API 认证)。删除或迁移整个 data 目录且未一并带走application_secret时,须在 UI 重新填入 MCP 凭证。 - 以新 task/batch 做单区、多区与非同步来源 smoke:确认能走完「submit → status/fetch → normalization → materialize → Agent Refresh」。Refresh 必须重新 submit 并取得新的结果,不得重用过期 URL 或旧 handle。
常见错误:
| 错误/状态 | 处理方式 |
|---|---|
MCP_REFRESH_UNAVAILABLE |
Details 显示 Refresh unavailable;Copy rebuild request 后请 Agent 重建表。 |
normalizer_authoring_required |
从表或查询流程启动Agent;Agent会读取短效context、验证declarative normalizer,再继续物化。 |
normalizer_repair_required |
旧表仍可查;使用 Ask Agent to repair download 修复来源shape drift。 |
DOWNLOAD_HOST_NOT_ALLOWED |
管理员确认来源后加入预先设定的download host;不要让Agent或一般使用者临时放行。 |
private_network_authorization_required |
侧边栏会显示 Review download access。选「只允许本次」只重试现有artifact;选「永久允许」仅加入该 source 当前 IP。artifact过期时需重新查询。 |
DOWNLOAD_ARTIFACT_EXPIRED |
重新执行来源查询取得新的短效结果。 |
MCP_NORMALIZER_INPUT_TOO_LARGE |
改用分页、缩小查询scope,或请来源直接提供canonical artifact;不要截断response后重试。 |
你现在可以做一件事
若暂不需要 MCP,在团队 wiki 注明「目前仅用 Connections」;若需要,先在一台测试机完成 Test → Add → Connect 再推广。
下一步
侧栏 MCP Source 父列可拖到外部 Agent 以对准 alias,再由 mcp_explore 探索;分析指定单一数据表时仍拖底下的物化表。父列拖回内建聊天不插 chip,断线来源的重新连线仍遵守既有权限与确认政策。