Class: ActionMCP::Server::Handlers::Router

Inherits:
Object
  • Object
show all
Defined in:
lib/action_mcp/server/handlers/router.rb

Instance Method Summary collapse

Constructor Details

#initialize(handler) ⇒ Router

Returns a new instance of Router.



7
8
9
# File 'lib/action_mcp/server/handlers/router.rb', line 7

def initialize(handler)
  @handler = handler
end

Instance Method Details

#route(rpc_method, id, params) ⇒ Object



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

def route(rpc_method, id, params)
  case rpc_method
  when "initialize"
    @handler.handle_initialize(id, params)
  when %r{^prompts/}
    @handler.process_prompts(rpc_method, id, params)
  when %r{^resources/}
    @handler.process_resources(rpc_method, id, params)
  when %r{^tools/}
    @handler.process_tools(rpc_method, id, params)
  when %r{^tasks/}
    @handler.process_tasks(rpc_method, id, params)
  when "completion/complete"
    @handler.process_completion_complete(id, params)
  else
    raise ActionMCP::Server::JSON_RPC::JsonRpcError.new(:method_not_found,
                                                        message: "Method not found: #{rpc_method}")
  end
end