Class TelemetryMcpClientTransportFilter

java.lang.Object
org.nasdanika.ai.mcp.TelemetryMcpClientTransportFilter
All Implemented Interfaces:
io.modelcontextprotocol.spec.McpClientTransport, io.modelcontextprotocol.spec.McpTransport

public class TelemetryMcpClientTransportFilter extends Object implements io.modelcontextprotocol.spec.McpClientTransport
Creates Spans for transport method calls.
  • Constructor Summary

    Constructors
    Constructor
    Description
    TelemetryMcpClientTransportFilter(io.modelcontextprotocol.spec.McpClientTransport target, io.opentelemetry.api.trace.Tracer tracer)
     
    TelemetryMcpClientTransportFilter(io.modelcontextprotocol.spec.McpClientTransport target, io.opentelemetry.api.trace.Tracer tracer, io.opentelemetry.context.Context context)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    reactor.core.publisher.Mono<Void>
     
    reactor.core.publisher.Mono<Void>
    connect(Function<reactor.core.publisher.Mono<io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage>,reactor.core.publisher.Mono<io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage>> handler)
     
    protected io.opentelemetry.context.Context
     
    reactor.core.publisher.Mono<Void>
    sendMessage(io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage message)
     
    void
    setContext(io.opentelemetry.context.Context context)
     
    <T> T
    unmarshalFrom(Object data, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.modelcontextprotocol.spec.McpTransport

    close
  • Constructor Details

    • TelemetryMcpClientTransportFilter

      public TelemetryMcpClientTransportFilter(io.modelcontextprotocol.spec.McpClientTransport target, io.opentelemetry.api.trace.Tracer tracer, io.opentelemetry.context.Context context)
    • TelemetryMcpClientTransportFilter

      public TelemetryMcpClientTransportFilter(io.modelcontextprotocol.spec.McpClientTransport target, io.opentelemetry.api.trace.Tracer tracer)
  • Method Details

    • setContext

      public void setContext(io.opentelemetry.context.Context context)
    • closeGracefully

      public reactor.core.publisher.Mono<Void> closeGracefully()
      Specified by:
      closeGracefully in interface io.modelcontextprotocol.spec.McpTransport
    • sendMessage

      public reactor.core.publisher.Mono<Void> sendMessage(io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage message)
      Specified by:
      sendMessage in interface io.modelcontextprotocol.spec.McpTransport
    • getContext

      protected io.opentelemetry.context.Context getContext()
    • unmarshalFrom

      public <T> T unmarshalFrom(Object data, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      Specified by:
      unmarshalFrom in interface io.modelcontextprotocol.spec.McpTransport
    • connect

      public reactor.core.publisher.Mono<Void> connect(Function<reactor.core.publisher.Mono<io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage>,reactor.core.publisher.Mono<io.modelcontextprotocol.spec.McpSchema.JSONRPCMessage>> handler)
      Specified by:
      connect in interface io.modelcontextprotocol.spec.McpClientTransport