Module: ActionMCP::Server::Handlers::LoggingHandler
- Included in:
- JsonRpcHandler
- Defined in:
- lib/action_mcp/server/handlers/logging_handler.rb
Overview
Handler for MCP logging/setLevel requests
Instance Method Summary collapse
-
#handle_logging_set_level(id, params) ⇒ Hash
Handle logging/setLevel request.
Instance Method Details
#handle_logging_set_level(id, params) ⇒ Hash
Handle logging/setLevel request
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/action_mcp/server/handlers/logging_handler.rb', line 12 def handle_logging_set_level(id, params) # Check if logging is enabled unless ActionMCP.configuration.logging_enabled transport.send_jsonrpc_error(id, :method_not_found, "Logging not enabled") return end # Extract and validate level parameter level = params[:level] || params["level"] unless level transport.send_jsonrpc_error(id, :invalid_params, "Missing required parameter: level") return end begin # Validate and set the new level ActionMCP::Logging.set_level(level) # Send successful response (empty object per MCP spec) transport.send_jsonrpc_response(id, result: {}) rescue ArgumentError => e # Invalid level transport.send_jsonrpc_error(id, :invalid_params, "Invalid log level: #{e.}") rescue StandardError => e # Internal error transport.send_jsonrpc_error(id, :internal_error, "Internal error: #{e.}") end end |