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)


28
29
30
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 28

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.



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

def plugin_name = mcp_name

#plugin_typeSymbol

Return the plugin type identifier.

Returns:

  • (Symbol)


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

def plugin_type = :mcp

#resource_definitionsArray<Hash>

Returns MCP resource definitions (optional).

Returns:

  • (Array<Hash>)

    MCP resource definitions (optional)



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

def resource_definitions = []

#server_classClass

Returns the MCP server class.

Returns:

  • (Class)

    the MCP server class

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 33

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)


38
39
40
# File 'lib/rosett_ai/plugins/mcp_contract.rb', line 38

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