Skip to content

Commit bf056a5

Browse files
committed
mcp(fix[server_tools]): Avoid redundant is_alive() subprocess calls
why: `get_server_info` called `server.is_alive()` twice — once for the `is_alive` field and once to guard `len(server.sessions)`. Each call spawns a `tmux list-sessions` subprocess. what: - Store `is_alive()` result in local variable and reuse
1 parent 57828c8 commit bf056a5

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/libtmux/mcp/tools/server_tools.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,12 @@ def get_server_info(socket_name: str | None = None) -> str:
129129
JSON object with server info.
130130
"""
131131
server = _get_server(socket_name=socket_name)
132+
alive = server.is_alive()
132133
info: dict[str, t.Any] = {
133-
"is_alive": server.is_alive(),
134+
"is_alive": alive,
134135
"socket_name": server.socket_name,
135136
"socket_path": str(server.socket_path) if server.socket_path else None,
136-
"session_count": len(server.sessions) if server.is_alive() else 0,
137+
"session_count": len(server.sessions) if alive else 0,
137138
}
138139
try:
139140
result = server.cmd("display-message", "-p", "#{version}")

0 commit comments

Comments
 (0)