server

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2025 License: Apache-2.0 Imports: 16 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct{ transport.Transport }

func (*Client) CreateMessage

CreateMessage creates sampling message

func (*Client) ListRoots

type Handler

type Handler struct {
	transport.Notifier
	*Logger
	*Server
	// contains filtered or unexported fields
}

Handler represents handler

func (*Handler) CallTool

func (h *Handler) CallTool(ctx context.Context, request *jsonrpc.Request) (*schema.CallToolResult, *jsonrpc.Error)

CallTool handles the tools/call method

func (*Handler) Cancel

func (h *Handler) Cancel(ctx context.Context, notification *jsonrpc.Notification) *jsonrpc.Error

func (*Handler) Complete

func (h *Handler) Complete(ctx context.Context, request *jsonrpc.Request) (*schema.CompleteResult, *jsonrpc.Error)

Complete handles the completion/complete method

func (*Handler) GetPrompt

func (h *Handler) GetPrompt(ctx context.Context, request *jsonrpc.Request) (*schema.GetPromptResult, *jsonrpc.Error)

GetPrompt handles the prompts/get method

func (*Handler) Initialize

func (h *Handler) Initialize(ctx context.Context, request *jsonrpc.Request) (*schema.InitializeResult, *jsonrpc.Error)

Initialize handles the initialize method

func (*Handler) ListPrompts

func (h *Handler) ListPrompts(ctx context.Context, request *jsonrpc.Request) (*schema.ListPromptsResult, *jsonrpc.Error)

ListPrompts handles the prompts/list method

func (*Handler) ListResourceTemplates

func (h *Handler) ListResourceTemplates(ctx context.Context, request *jsonrpc.Request) (*schema.ListResourceTemplatesResult, *jsonrpc.Error)

ListResourceTemplates handles the resources/templates/list method

func (*Handler) ListResources

func (h *Handler) ListResources(ctx context.Context, request *jsonrpc.Request) (*schema.ListResourcesResult, *jsonrpc.Error)

ListResources handles the resources/list method

func (*Handler) ListTools

func (h *Handler) ListTools(ctx context.Context, request *jsonrpc.Request) (*schema.ListToolsResult, *jsonrpc.Error)

ListTools handles the tools/list method

func (*Handler) OnNotification

func (h *Handler) OnNotification(ctx context.Context, notification *jsonrpc.Notification)

OnNotification handles incoming JSON-RPC notifications

func (*Handler) Ping

func (h *Handler) Ping(ctx context.Context, request *jsonrpc.Request) (*schema.PingResult, *jsonrpc.Error)

Ping handles the ping method

func (*Handler) ReadResource

func (h *Handler) ReadResource(ctx context.Context, request *jsonrpc.Request) (*schema.ReadResourceResult, *jsonrpc.Error)

ReadResource handles the resources/read method

func (*Handler) Serve

func (h *Handler) Serve(parent context.Context, request *jsonrpc.Request, response *jsonrpc.Response)

Serve handles incoming JSON-RPC requests

func (*Handler) SetLevel

func (h *Handler) SetLevel(ctx context.Context, request *jsonrpc.Request) (*schema.SetLevelResult, *jsonrpc.Error)

SetLevel handles the logging/setLevel method

func (*Handler) Subscribe

func (h *Handler) Subscribe(ctx context.Context, request *jsonrpc.Request) (*schema.SubscribeResult, *jsonrpc.Error)

Subscribe handles the resources/subscribe method

func (*Handler) Unsubscribe

func (h *Handler) Unsubscribe(ctx context.Context, request *jsonrpc.Request) (*schema.UnsubscribeResult, *jsonrpc.Error)

Unsubscribe handles the resources/unsubscribe method

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

func NewLogger

func NewLogger(name string, level *schema.LoggingLevel, notifier transport.Notifier) *Logger

func (*Logger) Alert

func (l *Logger) Alert(ctx context.Context, data interface{}) error

func (*Logger) Critical

func (l *Logger) Critical(ctx context.Context, data interface{}) error

func (*Logger) Debug

func (l *Logger) Debug(ctx context.Context, data interface{}) error

func (*Logger) Emergency

func (l *Logger) Emergency(ctx context.Context, data interface{}) error

func (*Logger) Error

func (l *Logger) Error(ctx context.Context, data interface{}) error

func (*Logger) Info

func (l *Logger) Info(ctx context.Context, data interface{}) error

func (*Logger) Logger

func (l *Logger) Logger(name string) logger.Logger

Logger creates a new logger with a name

func (*Logger) Notice

func (l *Logger) Notice(ctx context.Context, data interface{}) error

func (*Logger) Warning

func (l *Logger) Warning(ctx context.Context, data interface{}) error

type Option

type Option func(s *Server) error

Option is a function that configures the server.

func WithAuthConfig

func WithAuthConfig(config *authorization.Config) Option

WithAuthConfig accepts authentication configuration (no-op stub).

func WithAuthorizer

func WithAuthorizer(authorizer auth.Authorizer) Option

func WithCapabilities

func WithCapabilities(capabilities schema.ServerCapabilities) Option

WithCapabilities sets the server capabilities.

func WithImplementation

func WithImplementation(implementation schema.Implementation) Option

WithImplementation sets the server implementation.

func WithLoggerName

func WithLoggerName(name string) Option

WithLoggerName sets the logger name.

func WithNewImplementer

func WithNewImplementer(newImplementer server.NewImplementer) Option

WithNewImplementer sets the new implementer.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server represents MCP protocol handler

func New

func New(options ...Option) (*Server, error)

New creates a new Server instance

func (*Server) HTTP

func (s *Server) HTTP(_ context.Context, addr string) *http.Server

HTTP return http server HTTP creates and returns an HTTP server with OAuth2 auth and SSE handlers.

func (*Server) NewHandler

func (s *Server) NewHandler(ctx context.Context, transport transport.Transport) transport.Handler

NewHandler creates a new handler instance

func (*Server) Stdio

func (s *Server) Stdio(ctx context.Context) *stdio.Server

Stdio return stdio server

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL