Module: RosettAi::Plugins::McpContract::ClassMethods

Defined in:
lib/rosett_ai/plugins/mcp_contract.rb

Overview

MCP-specific class methods beyond the base Contract.

Instance Method Summary collapse

Instance Method Details

#mcp_nameString

Returns MCP server identifier (e.g. 'server').

Returns:

  • (String)

    MCP server identifier (e.g. 'server')

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 26

def mcp_name
  raise NotImplementedError, "#{self}#mcp_name must return the MCP identifier"
end

#plugin_nameObject

Convenience alias — delegates to plugin_name for Contract compatibility.



44
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 44

def plugin_name = mcp_name

#plugin_typeObject



23
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 23

def plugin_type = :mcp

#resource_definitionsArray<Hash>

Returns MCP resource definitions (optional).

Returns:

  • (Array<Hash>)

    MCP resource definitions (optional)



41
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 41

def resource_definitions = []

#server_classClass

Returns the MCP server class.

Returns:

  • (Class)

    the MCP server class

Raises:

  • (NotImplementedError)


31
32
33
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 31

def server_class
  raise NotImplementedError, "#{self}#server_class must return the server class"
end

#tool_definitionsArray<Hash>

Returns MCP tool schema definitions.

Returns:

  • (Array<Hash>)

    MCP tool schema definitions

Raises:

  • (NotImplementedError)


36
37
38
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 36

def tool_definitions
  raise NotImplementedError, "#{self}#tool_definitions must return tool schemas"
end