Module: Riffer::Mcp::ToolFactory
- Defined in:
- lib/riffer/mcp/tool_factory.rb
Overview
Generates anonymous Riffer::Tool subclasses from MCP tool definitions.
Each generated class:
-
Has
.name,.description, and.parameters_schemaderived from the MCP tool definition. -
Delegates
#callto the MCP client’stools_callmethod. -
Skips Riffer’s param validation — the MCP server validates inputs.
Class Method Summary collapse
-
.build(manifest_name, client, tool_defs) ⇒ Object
Builds one Riffer::Tool subclass per tool definition.
Class Method Details
.build(manifest_name, client, tool_defs) ⇒ Object
Builds one Riffer::Tool subclass per tool definition.
Tool names are prefixed with the manifest name to avoid collisions across MCP servers (e.g. “jira__search”). The original server-side name is available via .mcp_server_tool_name.
– : (String, Riffer::Mcp::Client, Array[Hash[Symbol, untyped]]) -> Array
20 21 22 |
# File 'lib/riffer/mcp/tool_factory.rb', line 20 def self.build(manifest_name, client, tool_defs) tool_defs.map { |td| build_tool_class(manifest_name, client, td) } end |