Class: ActiveadminMcp::RequestHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/activeadmin_mcp/request_handler.rb

Constant Summary collapse

PROTOCOL_VERSION =
"2025-06-18"

Instance Method Summary collapse

Constructor Details

#initialize(current_user: nil) ⇒ RequestHandler

Returns a new instance of RequestHandler.



7
8
9
# File 'lib/activeadmin_mcp/request_handler.rb', line 7

def initialize(current_user: nil)
  @current_user = current_user
end

Instance Method Details

#handle(request) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/activeadmin_mcp/request_handler.rb', line 11

def handle(request)
  id = request["id"]
  method = request["method"]
  params = request["params"] || {}

  case method
  when "initialize"
    success(id, initialize_result)
  when "notifications/initialized"
    nil
  when "tools/list"
    success(id, tools_list)
  when "tools/call"
    success(id, call_tool(params))
  when "ping"
    success(id, {})
  else
    error(id, -32_601, "Method not found: #{method}")
  end
end