Class: RosettAi::Mcp::Admin::HealthChecker
- Inherits:
-
Object
- Object
- RosettAi::Mcp::Admin::HealthChecker
- Defined in:
- lib/rosett_ai/mcp/admin/health_checker.rb
Overview
Health checker for configured MCP servers.
Probes each server with a configurable timeout (default 5s) to verify availability and capability negotiation.
Constant Summary collapse
- DEFAULT_TIMEOUT =
5
Instance Method Summary collapse
-
#check(server) ⇒ Hash
Checks health of a single server.
-
#check_all(registry) ⇒ Array<Hash>
Checks health of all servers in a registry.
-
#initialize(timeout: DEFAULT_TIMEOUT) ⇒ HealthChecker
constructor
A new instance of HealthChecker.
Constructor Details
#initialize(timeout: DEFAULT_TIMEOUT) ⇒ HealthChecker
Returns a new instance of HealthChecker.
20 21 22 |
# File 'lib/rosett_ai/mcp/admin/health_checker.rb', line 20 def initialize(timeout: DEFAULT_TIMEOUT) @timeout = timeout end |
Instance Method Details
#check(server) ⇒ Hash
Checks health of a single server.
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rosett_ai/mcp/admin/health_checker.rb', line 28 def check(server) case server[:transport] when 'stdio' check_stdio(server) when 'http', 'streamable-http' check_http(server) else { name: server[:name], status: :unknown, transport: server[:transport], message: "Unknown transport: #{server[:transport]}" } end end |
#check_all(registry) ⇒ Array<Hash>
Checks health of all servers in a registry.
44 45 46 |
# File 'lib/rosett_ai/mcp/admin/health_checker.rb', line 44 def check_all(registry) registry.list.map { |server| check(server) } end |