Class: OpenGemdocs::MCP::Handlers

Inherits:
Object
  • Object
show all
Defined in:
lib/open_gemdocs/mcp/handlers.rb

Instance Method Summary collapse

Constructor Details

#initializeHandlers



8
9
10
# File 'lib/open_gemdocs/mcp/handlers.rb', line 8

def initialize
  @tools = Tools.new
end

Instance Method Details

#handle(request) ⇒ Object



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

def handle(request)
  method = request["method"]
  id = request["id"]

  case method
  when "initialize"
    handle_initialize(id)
  when "initialized"
    # Client notification, no response needed
    nil
  when "tools/list"
    handle_tools_list(id)
  when "tools/call"
    handle_tool_call(id, request["params"])
  when "ping"
    { "jsonrpc" => "2.0", "id" => id, "result" => {} }
  else
    error_response(id, -32_601, "Method not found: #{method}")
  end
end