core

package
v0.8.6 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2025 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AudioHandler

type AudioHandler struct {
	BaseHandler
}

AudioHandler is a handler for audio responses

func (*AudioHandler) CanHandle

func (h *AudioHandler) CanHandle(resp *http.Response) bool

func (*AudioHandler) Handle

func (h *AudioHandler) Handle(resp *http.Response, tool *config.ToolConfig, tmplCtx *template.Context) (*mcp.CallToolResult, error)

type BaseHandler

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

BaseHandler is a base implementation of the ResponseHandler interface

func (*BaseHandler) HandleNext

func (h *BaseHandler) HandleNext(resp *http.Response, tool *config.ToolConfig, tmplCtx *template.Context) (*mcp.CallToolResult, error)

func (*BaseHandler) SetNext

func (h *BaseHandler) SetNext(handler ResponseHandler)

type ImageHandler

type ImageHandler struct {
	BaseHandler
}

ImageHandler is a handler for image responses

func (*ImageHandler) CanHandle

func (h *ImageHandler) CanHandle(resp *http.Response) bool

func (*ImageHandler) Handle

func (h *ImageHandler) Handle(resp *http.Response, tool *config.ToolConfig, tmplCtx *template.Context) (*mcp.CallToolResult, error)

type ResponseHandler

type ResponseHandler interface {
	// CanHandle checks if the handler can process the given response
	CanHandle(resp *http.Response) bool
	// Handle processes the response and returns the result
	Handle(resp *http.Response, tool *config.ToolConfig, tmplCtx *template.Context) (*mcp.CallToolResult, error)
	// SetNext sets the next handler in the chain
	SetNext(handler ResponseHandler)
}

ResponseHandler is an interface for handling HTTP responses

func CreateResponseHandlerChain

func CreateResponseHandlerChain() ResponseHandler

CreateResponseHandlerChain create a chain of response handlers The first handler is ImageHandler, which handles image responses. The second handler is TextHandler, which handles text responses. default handler is a base handler that can handle any other type of response. If the response is neither, it will return an error.

type Server

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

Server represents the MCP server

func NewServer

func NewServer(logger *zap.Logger, port int, store storage.Store, sessionStore session.Store, a auth.Auth, forwardConfig config.ForwardConfig) (*Server, error)

NewServer creates a new MCP server

func (*Server) RegisterRoutes

func (s *Server) RegisterRoutes(ctx context.Context) error

RegisterRoutes registers routes with the given router for MCP servers

func (*Server) ReloadConfigs

func (s *Server) ReloadConfigs(ctx context.Context)

func (*Server) Shutdown

func (s *Server) Shutdown(_ context.Context) error

Shutdown gracefully shuts down the server

func (*Server) Start

func (s *Server) Start()

func (*Server) UpdateConfig

func (s *Server) UpdateConfig(ctx context.Context, cfg *config.MCPConfig)

type TextHandler

type TextHandler struct {
	BaseHandler
}

TextHandler is a handler for text responses

func (*TextHandler) CanHandle

func (h *TextHandler) CanHandle(resp *http.Response) bool

func (*TextHandler) Handle

func (h *TextHandler) Handle(resp *http.Response, tool *config.ToolConfig, tmplCtx *template.Context) (*mcp.CallToolResult, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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