47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# 277 MCPServerList MCP 服务器列表
|
||
|
||
## 用途
|
||
|
||
列出 MCP 服务器:连接状态、传输方式、工具数,提供启动、停止与重新连接回调。
|
||
|
||
## 最小示例
|
||
|
||
```go
|
||
servers := []mujica.MCPServer{{ID: "fs", Name: "filesystem", Transport: "stdio", State: mujica.MCPConnected, Tools: 12}}
|
||
view := func(c *ui.Context) {
|
||
mujica.Use(c, mujica.Settings{})
|
||
if r := mujica.MCPServerList(c, servers, mujica.MCPServerListOptions{}); r.Action == mujica.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。
|
||
|
||
## 参数
|
||
|
||
| 字段 | 类型 | 默认值 | 含义 |
|
||
| --- | --- | --- | --- |
|
||
| `MaxHeight` | `float32` | 360 | 列表最大高度,超出后滚动。 |
|
||
| `Disabled` | `bool` | `false` | 禁止所有操作。 |
|
||
| `Still` | `bool` | `false` | 停止执行中动画;系统减少动画时也自动静止。 |
|
||
|
||
## 状态
|
||
|
||
- `MCPServer` 字段:`ID`、`Name`、`Transport`、`State`(`MCPStopped`、`MCPConnecting`、`MCPConnected`、`MCPError`)、`Tools`、`Error`。
|
||
- 已连接时显示“N 个工具”;连接失败时显示错误文字与“重新连接”。
|
||
- 超过 200 台服务器时虚拟化。
|
||
|
||
## 事件
|
||
|
||
- `Action`:本帧请求 `MCPStart`、`MCPStop` 或 `MCPReconnect`,`Server` 为对应 ID。
|
||
|
||
## 键盘操作
|
||
|
||
- Tab 依次到各行按钮,Enter / Space 触发。
|
||
|
||
## 限制
|
||
|
||
- 组件只发出请求,连接管理由调用方完成。
|