Skip to content

核心概念

理解这几个概念,MUX 的所有操作就都说得通了。

目录(Registry)

目录是 MUX 的中心——你所有 MCP 服务器的聚合视图。它不是一份写死在程序里的清单,而是由你启用的所有 来源 实时拼装出来的并集。

在目录里你可以:搜索、按来源/传输方式过滤、看每个条目的来源标签,以及它被哪些 agent 使用。

来源(Sources)

目录里的每个条目都来自某个来源。MUX 有四种来源:

来源是什么存放位置
订阅(remote)一个指向 MCP 配置文件的 URL,MUX 抓取并缓存;刷新时重新拉取上游。~/.mux/sources/remote/<id>.json
本地(local)从磁盘导入的配置文件,复制进 MUX;刷新时重新读取原文件。~/.mux/sources/local/<id>.(json|toml)
手动添加(manual)你手写或粘贴创建的 server,存为一个受管的本地来源(manual.json)。~/.mux/sources/local/manual.json
自动探索(discovered)启动时从你各个 agent 已有配置里自动探测出来的 server(discovered.json)。~/.mux/sources/local/discovered.json

另外还有一个一键的官方精选合集——它其实就是订阅一个内置的、经过整理的远程来源,属于可选订阅,而不是默认基座。

目录只负责展示每个来源有哪些 server;来源没有启停开关。要管理内容,用「添加 / 删除」条目或管理对应来源。

优先级(去重规则)

同一个 MCP 可能出现在多个来源里。目录按 name::transport 组合键去重,优先级 从低到高

外部来源(remote / local) < 自动探索(discovered) < 手动添加(manual)

也就是你自己的手动编辑永远赢——即使某个远程来源也定义了同名条目。

全部 vs 生效中

去重会把被覆盖的副本藏起来。为了「什么都能看到」,Registry 左侧有两个入口:

  • 全部 —— 每个来源里的每一份副本都显示,被覆盖的标 已被覆盖
  • 生效中 —— 只显示去重后真正生效的那一份。

点某个具体来源,则显示该来源的全部条目(含被覆盖的)。

身份、传输与来源标签

  • 组合键 name::transporttransport ∈ {stdio, http}(sse 归入 http)。同名的 stdio 和 http 是两个独立条目
  • 传输方式自动识别:配置里有 commandstdio;有 urlhttp。http 的 type 字段是自由文本(http / sse / streamable-http / 自定义)。
  • 来源标签:每个条目带一个来源类型(discovered / manual / remote / local)+ 来源 id,驱动界面上的来源徽章。

安装、开关、删除

每个 agent 独立操作:

  • 安装:把某个目录条目写进这个 agent 的真实配置文件(写入前先备份)。
  • 停用(Disable):从 agent 配置文件里移除该 server,但记住它的完整配置,随时可以开回来。
  • 启用(Enable):把停用的 server 重新写回去。
  • 删除:从 agent 卸载(或从目录彻底删除,见下)。

编辑传播(Edit propagation)

改一个目录条目时,MUX 会自动把新配置重刷进那些"干净"安装了它的 agent——即 agent 磁盘上的配置和编辑前的目录配置完全一致(全局作用域)。

手改过的安装、以及项目作用域的安装,会被保留不动,不会被覆盖。

因为这个自动传播是有意保守的,一个曾经漂移过的安装会一直保持旧值。显式的补救手段是重新同步(Resync):把当前配置重刷到所有已激活安装该条目的全局 agent。

  • 不强制时:跳过被定制过的安装,并把它们报告出来。
  • 强制时:连定制过的也一起覆盖。

删除目录条目(Forget)

彻底删除一个用户拥有的条目:从 manual 和 discovered 两个受管来源里删掉它,把它从所有装了它的 agent 上卸载(全局,无论激活还是已停用)。

只有 manual / discovered 条目能这样删——remote / local 来源的条目没有"用户拥有"的部分可删,请通过管理它们的来源来处理。

数据布局

所有用户数据都在 ~/.mux/

~/.mux/
├── settings.json           # 单一文档:agents · sources · disabled · state
├── sources/
│   ├── remote/<id>.json    # 订阅 URL 的缓存
│   └── local/<id>.(json|toml)  # 导入文件 + manual.json / discovered.json
└── backups/                # 每次写 agent 配置前的时间戳备份

settings.json一个文档:MUX 只完整解析它拥有的部分,其余原样透传,好让未来的协同写入者不被覆盖。每次修改都是读整份 → 改一段 → 原子写回(临时文件 + 重命名)。

配置路径可移植

存储的 agent 配置路径一律用 ~/…绝不写死成 /Users/name/…——这样你的 ~/.mux/ 可以在机器间搬动。

下一步 → 桌面 App 指南命令行 / TUI

MIT Licensed