Module: Elelem::MCP::ServerInterface
- Included in:
- HttpServer, Server
- Defined in:
- lib/elelem/mcp/client.rb
Instance Method Summary collapse
Instance Method Details
#call(name, args) ⇒ Object
76 77 78 79 80 81 |
# File 'lib/elelem/mcp/client.rb', line 76 def call(name, args) result = request("tools/call", { name: name, arguments: args }) Elelem.logger.info({ tool: name, args: args, result: result }.to_json) content = extract_content(result) result["isError"] ? { error: content } : { content: content } end |
#extract_content(result) ⇒ Object
83 84 85 86 87 88 89 |
# File 'lib/elelem/mcp/client.rb', line 83 def extract_content(result) if (structured = result["structuredContent"]) structured else result["content"]&.map { |c| c["text"] }&.join("\n") end end |
#tools ⇒ Object
72 73 74 |
# File 'lib/elelem/mcp/client.rb', line 72 def tools request("tools/list")["tools"] end |