Class: RubyMCP::Handlers::CompletionComplete

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_mcp/handlers/completion_complete.rb

Instance Method Summary collapse

Instance Method Details

#handle(server, request) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/ruby_mcp/handlers/completion_complete.rb', line 2

def handle(server, request)
  referenced_prompt = server.prompts.find_by_name(request.ref["name"])
  RubyMCP.logger.debug(referenced_prompt[:arguments])
  referenced_argument = referenced_prompt[:arguments].find { |argument| argument[:name] == request.argument_name }
  computed_values = referenced_argument[:completions].call(**request.param)

  server.answer(request,
    completion: {
      hasMore: false,
      total: computed_values.count,
      values: computed_values
    }
  )
end