Class: MCPClient::ResourceTemplate

Inherits:
Object
  • Object
show all
Defined in:
lib/mcp_client/resource_template.rb

Overview

Representation of an MCP resource template Resource templates allow servers to expose parameterized resources using URI templates

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri_template:, name:, title: nil, description: nil, mime_type: nil, annotations: nil, server: nil) ⇒ ResourceTemplate

Initialize a new resource template



31
32
33
34
35
36
37
38
39
# File 'lib/mcp_client/resource_template.rb', line 31

def initialize(uri_template:, name:, title: nil, description: nil, mime_type: nil, annotations: nil, server: nil)
  @uri_template = uri_template
  @name = name
  @title = title
  @description = description
  @mime_type = mime_type
  @annotations = annotations
  @server = server
end

Instance Attribute Details

#annotationsHash? (readonly)



21
# File 'lib/mcp_client/resource_template.rb', line 21

attr_reader :uri_template, :name, :title, :description, :mime_type, :annotations, :server

#descriptionString? (readonly)



21
# File 'lib/mcp_client/resource_template.rb', line 21

attr_reader :uri_template, :name, :title, :description, :mime_type, :annotations, :server

#mime_typeString? (readonly)



21
# File 'lib/mcp_client/resource_template.rb', line 21

attr_reader :uri_template, :name, :title, :description, :mime_type, :annotations, :server

#nameString (readonly)



21
# File 'lib/mcp_client/resource_template.rb', line 21

attr_reader :uri_template, :name, :title, :description, :mime_type, :annotations, :server

#serverObject (readonly)

Returns the value of attribute server.



21
# File 'lib/mcp_client/resource_template.rb', line 21

attr_reader :uri_template, :name, :title, :description, :mime_type, :annotations, :server

#titleString? (readonly)



21
# File 'lib/mcp_client/resource_template.rb', line 21

attr_reader :uri_template, :name, :title, :description, :mime_type, :annotations, :server

#uri_templateString (readonly)



21
22
23
# File 'lib/mcp_client/resource_template.rb', line 21

def uri_template
  @uri_template
end

Class Method Details

.from_json(data, server: nil) ⇒ MCPClient::ResourceTemplate

Create a ResourceTemplate instance from JSON data



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/mcp_client/resource_template.rb', line 45

def self.from_json(data, server: nil)
  new(
    uri_template: data['uriTemplate'],
    name: data['name'],
    title: data['title'],
    description: data['description'],
    mime_type: data['mimeType'],
    annotations: data['annotations'],
    server: server
  )
end