Class: McpInspector::Web::OperationsController

Inherits:
ApplicationController show all
Defined in:
lib/mcp_inspector/web/app/controllers/mcp_inspector/web/operations_controller.rb

Instance Method Summary collapse

Instance Method Details

#execute_toolObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mcp_inspector/web/app/controllers/mcp_inspector/web/operations_controller.rb', line 6

def execute_tool
  server_name = params[:server_name]
  tool_name = params[:tool_name]
  arguments = parse_arguments(params[:arguments])

  server_config = config_manager.servers[server_name]

  connect_to_server(server_config) do |client|
    @result = client.execute_tool(tool_name, arguments)
    @operation_type = "Tool Execution"
    @operation_name = tool_name

    respond_to do |format|
      format.turbo_stream { render "mcp_inspector/web/operations/result" }
      format.html do
        render partial: "mcp_inspector/web/operations/result",
               locals: { result: @result, operation_type: @operation_type, operation_name: @operation_name }
      end
    end
  end
end

#get_promptObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/mcp_inspector/web/app/controllers/mcp_inspector/web/operations_controller.rb', line 49

def get_prompt
  server_name = params[:server_name]
  prompt_name = params[:prompt_name]
  arguments = parse_arguments(params[:arguments])

  server_config = config_manager.servers[server_name]

  connect_to_server(server_config) do |client|
    @result = client.get_prompt(prompt_name, arguments)
    @operation_type = "Prompt Retrieval"
    @operation_name = prompt_name

    respond_to do |format|
      format.turbo_stream { render "mcp_inspector/web/operations/result" }
      format.html do
        render partial: "mcp_inspector/web/operations/result",
               locals: { result: @result, operation_type: @operation_type, operation_name: @operation_name }
      end
    end
  end
end

#read_resourceObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/mcp_inspector/web/app/controllers/mcp_inspector/web/operations_controller.rb', line 28

def read_resource
  server_name = params[:server_name]
  resource_uri = params[:resource_uri]

  server_config = config_manager.servers[server_name]

  connect_to_server(server_config) do |client|
    @result = client.read_resource(resource_uri)
    @operation_type = "Resource Read"
    @operation_name = resource_uri

    respond_to do |format|
      format.turbo_stream { render "mcp_inspector/web/operations/result" }
      format.html do
        render partial: "mcp_inspector/web/operations/result",
               locals: { result: @result, operation_type: @operation_type, operation_name: @operation_name }
      end
    end
  end
end