fix: Make docker_health use current instance port by default
docker_health now uses get_instance_port(port) like all other tools, so it defaults to the current working instance when no port is specified. Workflow: 1. docker_auto_start(binary) -> returns port 2. Poll docker_health(port=N) until healthy 3. instances_use(port=N) to set as current 4. All subsequent analysis calls omit port
This commit is contained in:
parent
d298a89f5f
commit
41bd8445e9
@ -881,17 +881,18 @@ class DockerMixin(MCPMixin):
|
||||
description="Check if a GhydraMCP container's API is responding",
|
||||
)
|
||||
async def docker_health(
|
||||
self, port: int = 8192, timeout: float = 5.0, ctx: Optional[Context] = None
|
||||
self, port: Optional[int] = None, timeout: float = 5.0, ctx: Optional[Context] = None
|
||||
) -> Dict[str, Any]:
|
||||
"""Check if a GhydraMCP container's API is healthy.
|
||||
|
||||
Args:
|
||||
port: API port to check (default: 8192)
|
||||
port: API port to check (uses current instance if not specified)
|
||||
timeout: Request timeout in seconds
|
||||
|
||||
Returns:
|
||||
Health status and API info if available
|
||||
"""
|
||||
port = self.get_instance_port(port)
|
||||
loop = asyncio.get_event_loop()
|
||||
return await loop.run_in_executor(
|
||||
None, self._sync_health_check, port, timeout
|
||||
@ -982,7 +983,7 @@ class DockerMixin(MCPMixin):
|
||||
"container_name": start_result.get("name"),
|
||||
"port": actual_port,
|
||||
"api_url": f"http://localhost:{actual_port}/",
|
||||
"message": f"Container starting on port {actual_port}. Poll docker_health(port={actual_port}) to check when ready.",
|
||||
"message": f"Container starting on port {actual_port}. Poll docker_health(port={actual_port}), then call instances_use(port={actual_port}) when healthy.",
|
||||
}
|
||||
|
||||
@mcp_tool(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user