| 120 | } |
| 121 | |
| 122 | func (p *StreamableHTTPServerProxy) CallTool(ctx context.Context, name string, input any) (*mcp.CallToolResult, error) { |
| 123 | tool := p.GetTool(name) |
| 124 | if tool == nil { |
| 125 | return nil, xerrors.Errorf("%q tool not known", name) |
| 126 | } |
| 127 | |
| 128 | return p.client.CallTool(ctx, mcp.CallToolRequest{ |
| 129 | Params: mcp.CallToolParams{ |
| 130 | Name: tool.Name, |
| 131 | Arguments: input, |
| 132 | }, |
| 133 | }) |
| 134 | } |
| 135 | |
| 136 | func (p *StreamableHTTPServerProxy) fetchTools(ctx context.Context) (_ map[string]*Tool, outErr error) { |
| 137 | ctx, span := p.tracer.Start(ctx, "StreamableHTTPServerProxy.Init.fetchTools", trace.WithAttributes(p.traceAttributes()...)) |