MujicaUI

Agent · #277

MCPServerList 浅色主题渲染快照
浅色 · 渲染快照
MCPServerList 深色主题渲染快照
深色 · 渲染快照

277 MCPServerList MCP 服务器列表

用途

列出 MCP 服务器:连接状态、传输方式、工具数,提供启动、停止与重新连接回调。

最小示例

servers := []agent.MCPServer{{ID: "fs", Name: "filesystem", Transport: "stdio", State: agent.MCPConnected, Tools: 12}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if r := agent.MCPServerList(c, servers, agent.MCPServerListOptions{}); r.Action == agent.MCPStop {
		fmt.Println("stop", r.Server)
	}
}
ui.Render(view, 400, 300, 1)

签名:func MCPServerList(c *ui.Context, servers []MCPServer, opts MCPServerListOptions) MCPServerListResult。ID 为空或重复、Name 为空、状态未知、Tools 为负、MaxHeight 为负时 panic。

参数

字段类型默认值含义
MaxHeightfloat32360列表最大高度,超出后滚动。
Disabledboolfalse禁止所有操作。
Stillboolfalse停止执行中动画;系统减少动画时也自动静止。

状态

  • MCPServer 字段:ID、Name、Transport、State(MCPStopped、MCPConnecting、MCPConnected、MCPError)、Tools、Error。
  • 已连接时显示“N 个工具”;连接失败时显示错误文字与“重新连接”。
  • 超过 200 台服务器时虚拟化。

事件

  • Action:本帧请求 MCPStart、MCPStop 或 MCPReconnect,Server 为对应 ID。

键盘操作

  • Tab 依次到各行按钮,Enter / Space 触发。

限制

  • 组件只发出请求,连接管理由调用方完成。