Documentation
¶
Index ¶
- Constants
- Variables
- func CheckOriginWithAllowedList(origins []string) func(*http.Request) bool
- func DefaultCheckOrigin(r *http.Request) bool
- func DefaultLogger() *slog.Logger
- func EnsureTrailingSlash(dir string) string
- func GetVersionInfo() string
- func HealthCheckHandler(w http.ResponseWriter, r *http.Request)
- func IsCloseError(err error, codes ...int) bool
- func IsUnexpectedCloseError(err error, expectedCodes ...int) bool
- func PanicHandler(w http.ResponseWriter, r *http.Request)
- func RecoveryMiddleware(next http.Handler) http.HandlerFunc
- func RequestLoggerMiddleware(next http.Handler) http.HandlerFunc
- func ResponseTimeMiddleware(next http.Handler) http.HandlerFunc
- func SetDefaultLogger(l *slog.Logger)
- func TraceMiddleware(next http.Handler) http.HandlerFunc
- type AuthTokenInjector
- type CORSOptions
- type Conn
- type DiscoveryPolicy
- type InterceptableRequest
- type InterceptableResponse
- type Interceptor
- type InterceptorChain
- type InterceptorResponse
- type JSONRPCEngine
- type JSONRPCError
- type JSONRPCMethodHandler
- type JSONRPCRequest
- type JSONRPCResponse
- type LoggingCapability
- type MCPCapabilities
- type MCPClientInfo
- type MCPDiscoveryInfo
- type MCPExtension
- type MCPExtensionBuilder
- type MCPHandler
- type MCPInitializeParams
- type MCPInitializeResult
- type MCPMetrics
- type MCPNamespace
- type MCPNamespaceConfig
- type MCPResource
- type MCPResourceContent
- type MCPResourceInfo
- type MCPResourceReadParams
- type MCPServerInfo
- type MCPTool
- type MCPToolCallParams
- type MCPToolInfo
- type MCPToolResult
- type MCPToolWithContext
- type MCPTransport
- type MCPTransportConfig
- type MCPTransportType
- type MiddlewareFunc
- type MiddlewareRegistry
- type MiddlewareStack
- type PoolConfig
- type PoolStats
- type PromptsCapability
- type RateLimit
- type RateLimitInterceptor
- type RateLimiter
- type RequestLogger
- type ResourceBuilder
- type ResourcesCapability
- type ResponseTransformer
- type SSECapability
- type SSEMessage
- type SamplingCapability
- type Server
- type ServerOptionFunc
- func WithAddr(addr string) ServerOptionFunc
- func WithAuthTokenValidator(validator func(string) (bool, error)) ServerOptionFunc
- func WithCORS(opts *CORSOptions) ServerOptionFunc
- func WithCSPWebWorkerSupport() ServerOptionFunc
- func WithDebugMode() ServerOptionFunc
- func WithEncryptedClientHello(echKeys ...[]byte) ServerOptionFunc
- func WithFIPSMode() ServerOptionFunc
- func WithHardenedMode() ServerOptionFunc
- func WithHealthServer() ServerOptionFunc
- func WithIdleTimeout(timeout time.Duration) ServerOptionFunc
- func WithLogger(l *slog.Logger) ServerOptionFunc
- func WithLoglevel(level slog.Level) ServerOptionFunc
- func WithMCPBuiltinResources(enabled bool) ServerOptionFunc
- func WithMCPBuiltinTools(enabled bool) ServerOptionFunc
- func WithMCPDiscoveryFilter(filter func(string, *http.Request) bool) ServerOptionFunc
- func WithMCPDiscoveryPolicy(policy pkgserver.DiscoveryPolicy) ServerOptionFunc
- func WithMCPEndpoint(endpoint string) ServerOptionFunc
- func WithMCPFileToolRoot(rootDir string) ServerOptionFunc
- func WithMCPNamespace(name string, configs ...MCPNamespaceConfig) ServerOptionFunc
- func WithMCPResourcesDisabled() ServerOptionFunc
- func WithMCPServerInfo(name, version string) ServerOptionFunc
- func WithMCPSupport(name, version string, configs ...MCPTransportConfig) ServerOptionFunc
- func WithMCPToolsDisabled() ServerOptionFunc
- func WithOnShutdown(hook func(context.Context) error) ServerOptionFunc
- func WithRateLimit(limit RateLimit, burst int) ServerOptionFunc
- func WithReadHeaderTimeout(timeout time.Duration) ServerOptionFunc
- func WithReadTimeout(timeout time.Duration) ServerOptionFunc
- func WithSuppressBanner(suppress bool) ServerOptionFunc
- func WithTLS(certFile, keyFile string) ServerOptionFunc
- func WithTemplateDir(dir string) ServerOptionFunc
- func WithTimeouts(readTimeout, writeTimeout, idleTimeout time.Duration) ServerOptionFunc
- func WithWriteTimeout(timeout time.Duration) ServerOptionFunc
- type ServerOptions
- type SimpleResource
- type SimpleTool
- type ToolBuilder
- type ToolsCapability
- type Upgrader
- type WebSocketPool
Constants ¶
View Source
const ( ErrorCodeParseError = pkgjsonrpc.ErrorCodeParseError ErrorCodeInvalidRequest = pkgjsonrpc.ErrorCodeInvalidRequest ErrorCodeMethodNotFound = pkgjsonrpc.ErrorCodeMethodNotFound ErrorCodeInvalidParams = pkgjsonrpc.ErrorCodeInvalidParams ErrorCodeInternalError = pkgjsonrpc.ErrorCodeInternalError )
View Source
const ( DiscoveryPublic = pkgserver.DiscoveryPublic DiscoveryCount = pkgserver.DiscoveryCount DiscoveryAuthenticated = pkgserver.DiscoveryAuthenticated DiscoveryNone = pkgserver.DiscoveryNone )
View Source
const ( GlobalMiddlewareRoute = pkgserver.GlobalMiddlewareRoute TextMessage = pkgserver.TextMessage BinaryMessage = pkgserver.BinaryMessage CloseMessage = pkgserver.CloseMessage PingMessage = pkgserver.PingMessage PongMessage = pkgserver.PongMessage CloseNormalClosure = pkgserver.CloseNormalClosure CloseGoingAway = pkgserver.CloseGoingAway CloseProtocolError = pkgserver.CloseProtocolError CloseUnsupportedData = pkgserver.CloseUnsupportedData CloseNoStatusReceived = pkgserver.CloseNoStatusReceived CloseAbnormalClosure = pkgserver.CloseAbnormalClosure CloseInvalidFramePayloadData = pkgserver.CloseInvalidFramePayloadData ClosePolicyViolation = pkgserver.ClosePolicyViolation CloseMessageTooBig = pkgserver.CloseMessageTooBig CloseMandatoryExtension = pkgserver.CloseMandatoryExtension CloseInternalServerError = pkgserver.CloseInternalServerError CloseServiceRestart = pkgserver.CloseServiceRestart CloseTryAgainLater = pkgserver.CloseTryAgainLater CloseTLSHandshake = pkgserver.CloseTLSHandshake MCPVersion = pkgserver.MCPVersion HTTPTransport = pkgserver.HTTPTransport StdioTransport = pkgserver.StdioTransport LevelDebug = pkgserver.LevelDebug LevelInfo = pkgserver.LevelInfo LevelWarn = pkgserver.LevelWarn LevelError = pkgserver.LevelError )
View Source
const ( // JSONRPCVersion is re-exported from pkg/jsonrpc for backwards compatibility. JSONRPCVersion = pkgjsonrpc.Version )
Variables ¶
View Source
var ( ErrNotWebSocket = pkgserver.ErrNotWebSocket ErrBadHandshake = pkgserver.ErrBadHandshake )
Functions ¶
func CheckOriginWithAllowedList ¶ added in v0.21.0
func DefaultCheckOrigin ¶ added in v0.21.0
func DefaultLogger ¶ added in v0.21.0
func EnsureTrailingSlash ¶
func GetVersionInfo ¶ added in v0.9.7
func GetVersionInfo() string
func HealthCheckHandler ¶
func HealthCheckHandler(w http.ResponseWriter, r *http.Request)
func IsCloseError ¶ added in v0.10.0
func IsUnexpectedCloseError ¶ added in v0.10.0
func PanicHandler ¶
func PanicHandler(w http.ResponseWriter, r *http.Request)
func RecoveryMiddleware ¶
func RecoveryMiddleware(next http.Handler) http.HandlerFunc
func RequestLoggerMiddleware ¶
func RequestLoggerMiddleware(next http.Handler) http.HandlerFunc
func ResponseTimeMiddleware ¶
func ResponseTimeMiddleware(next http.Handler) http.HandlerFunc
func SetDefaultLogger ¶ added in v0.21.0
func TraceMiddleware ¶
func TraceMiddleware(next http.Handler) http.HandlerFunc
Types ¶
type AuthTokenInjector ¶ added in v0.20.1
type AuthTokenInjector = pkgserver.AuthTokenInjector
func NewAuthTokenInjector ¶ added in v0.20.1
func NewAuthTokenInjector(provider func(context.Context) (string, error)) *AuthTokenInjector
type CORSOptions ¶ added in v0.20.1
type CORSOptions = pkgserver.CORSOptions
type DiscoveryPolicy ¶ added in v0.18.0
type DiscoveryPolicy = pkgserver.DiscoveryPolicy
type InterceptableRequest ¶ added in v0.20.1
type InterceptableRequest = pkgserver.InterceptableRequest
type InterceptableResponse ¶ added in v0.20.1
type InterceptableResponse = pkgserver.InterceptableResponse
type Interceptor ¶ added in v0.20.1
type Interceptor = pkgserver.Interceptor
type InterceptorChain ¶ added in v0.20.1
type InterceptorChain = pkgserver.InterceptorChain
func NewInterceptorChain ¶ added in v0.20.1
func NewInterceptorChain() *InterceptorChain
type InterceptorResponse ¶ added in v0.20.1
type InterceptorResponse = pkgserver.InterceptorResponse
type JSONRPCEngine ¶
type JSONRPCEngine = pkgjsonrpc.Engine
JSONRPCEngine re-exports pkg/jsonrpc.Engine.
func NewJSONRPCEngine ¶
func NewJSONRPCEngine() *JSONRPCEngine
NewJSONRPCEngine preserves the public API while delegating to pkg/jsonrpc.
func NewJSONRPCEngineWithLogger ¶ added in v0.21.0
func NewJSONRPCEngineWithLogger(log *slog.Logger) *JSONRPCEngine
NewJSONRPCEngineWithLogger allows callers to override the logger used by the engine.
type JSONRPCError ¶
type JSONRPCError = pkgjsonrpc.ErrorDetails
JSONRPCError re-exports pkg/jsonrpc.ErrorDetails.
type JSONRPCMethodHandler ¶
type JSONRPCMethodHandler = pkgjsonrpc.MethodHandler
JSONRPCMethodHandler re-exports pkg/jsonrpc.MethodHandler.
type JSONRPCRequest ¶
type JSONRPCRequest = pkgjsonrpc.Request
JSONRPCRequest re-exports pkg/jsonrpc.Request.
type JSONRPCResponse ¶
type JSONRPCResponse = pkgjsonrpc.Response
JSONRPCResponse re-exports pkg/jsonrpc.Response.
type LoggingCapability ¶
type LoggingCapability = pkgserver.LoggingCapability
type MCPCapabilities ¶
type MCPCapabilities = pkgserver.MCPCapabilities
type MCPClientInfo ¶
type MCPClientInfo = pkgserver.MCPClientInfo
type MCPDiscoveryInfo ¶ added in v0.17.0
type MCPDiscoveryInfo = pkgserver.MCPDiscoveryInfo
type MCPExtension ¶ added in v0.11.0
type MCPExtension = pkgserver.MCPExtension
func ExampleECommerceExtension ¶ added in v0.11.0
func ExampleECommerceExtension() MCPExtension
type MCPExtensionBuilder ¶ added in v0.11.0
type MCPExtensionBuilder = pkgserver.MCPExtensionBuilder
func NewMCPExtension ¶ added in v0.11.0
func NewMCPExtension(name string) *MCPExtensionBuilder
type MCPHandler ¶
type MCPHandler = pkgserver.MCPHandler
func NewMCPHandler ¶
func NewMCPHandler(serverInfo MCPServerInfo) *MCPHandler
type MCPInitializeParams ¶
type MCPInitializeParams = pkgserver.MCPInitializeParams
type MCPInitializeResult ¶
type MCPInitializeResult = pkgserver.MCPInitializeResult
type MCPMetrics ¶ added in v0.9.2
type MCPMetrics = pkgserver.MCPMetrics
type MCPNamespace ¶ added in v0.15.0
type MCPNamespace = pkgserver.MCPNamespace
type MCPNamespaceConfig ¶ added in v0.15.0
type MCPNamespaceConfig = pkgserver.MCPNamespaceConfig
func WithNamespaceResources ¶ added in v0.15.0
func WithNamespaceResources(resources ...MCPResource) MCPNamespaceConfig
func WithNamespaceTools ¶ added in v0.15.0
func WithNamespaceTools(tools ...MCPTool) MCPNamespaceConfig
type MCPResource ¶
type MCPResource = pkgserver.MCPResource
type MCPResourceContent ¶
type MCPResourceContent = pkgserver.MCPResourceContent
type MCPResourceInfo ¶
type MCPResourceInfo = pkgserver.MCPResourceInfo
type MCPResourceReadParams ¶
type MCPResourceReadParams = pkgserver.MCPResourceReadParams
type MCPServerInfo ¶
type MCPServerInfo = pkgserver.MCPServerInfo
type MCPToolCallParams ¶
type MCPToolCallParams = pkgserver.MCPToolCallParams
type MCPToolInfo ¶
type MCPToolInfo = pkgserver.MCPToolInfo
type MCPToolResult ¶
type MCPToolResult = pkgserver.MCPToolResult
type MCPToolWithContext ¶ added in v0.9.2
type MCPToolWithContext = pkgserver.MCPToolWithContext
type MCPTransport ¶
type MCPTransport = pkgserver.MCPTransport
type MCPTransportConfig ¶
type MCPTransportConfig = pkgserver.MCPTransportConfig
func MCPDev ¶ added in v0.11.0
func MCPDev() MCPTransportConfig
func MCPObservability ¶ added in v0.11.0
func MCPObservability() MCPTransportConfig
func MCPOverHTTP ¶
func MCPOverHTTP(endpoint string) MCPTransportConfig
func MCPOverStdio ¶
func MCPOverStdio() MCPTransportConfig
type MCPTransportType ¶
type MCPTransportType = pkgserver.MCPTransportType
type MiddlewareFunc ¶
type MiddlewareFunc = pkgserver.MiddlewareFunc
func AuthMiddleware ¶
func AuthMiddleware(options *ServerOptions) MiddlewareFunc
func ChaosMiddleware ¶
func ChaosMiddleware(options *ServerOptions) MiddlewareFunc
func HeadersMiddleware ¶
func HeadersMiddleware(options *ServerOptions) MiddlewareFunc
func MetricsMiddleware ¶
func MetricsMiddleware(srv *Server) MiddlewareFunc
func RateLimitMiddleware ¶
func RateLimitMiddleware(srv *Server) MiddlewareFunc
type MiddlewareRegistry ¶
type MiddlewareRegistry = pkgserver.MiddlewareRegistry
func NewMiddlewareRegistry ¶
func NewMiddlewareRegistry(globalMiddleware MiddlewareStack) *MiddlewareRegistry
type MiddlewareStack ¶
type MiddlewareStack = pkgserver.MiddlewareStack
func DefaultMiddleware ¶
func DefaultMiddleware(srv *Server) MiddlewareStack
func FileServer ¶
func FileServer(options *ServerOptions) MiddlewareStack
func SecureAPI ¶
func SecureAPI(srv *Server) MiddlewareStack
func SecureWeb ¶
func SecureWeb(options *ServerOptions) MiddlewareStack
type PoolConfig ¶ added in v0.20.1
type PoolConfig = pkgwebsocket.PoolConfig
func DefaultPoolConfig ¶ added in v0.20.1
func DefaultPoolConfig() PoolConfig
type PoolStats ¶ added in v0.20.1
type PoolStats = pkgwebsocket.PoolStats
type PromptsCapability ¶
type PromptsCapability = pkgserver.PromptsCapability
type RateLimitInterceptor ¶ added in v0.20.1
type RateLimitInterceptor = pkgserver.RateLimitInterceptor
func NewRateLimitInterceptor ¶ added in v0.20.1
func NewRateLimitInterceptor(limiter RateLimiter) *RateLimitInterceptor
type RateLimiter ¶ added in v0.20.1
type RateLimiter = pkgserver.RateLimiter
type RequestLogger ¶ added in v0.20.1
type RequestLogger = pkgserver.RequestLogger
func NewRequestLogger ¶ added in v0.20.1
func NewRequestLogger(logger func(format string, args ...interface{})) *RequestLogger
type ResourceBuilder ¶ added in v0.11.0
type ResourceBuilder = pkgserver.ResourceBuilder
func NewResource ¶ added in v0.11.0
func NewResource(uri string) *ResourceBuilder
type ResourcesCapability ¶
type ResourcesCapability = pkgserver.ResourcesCapability
type ResponseTransformer ¶ added in v0.20.1
type ResponseTransformer = pkgserver.ResponseTransformer
func NewResponseTransformer ¶ added in v0.20.1
func NewResponseTransformer(transformer func([]byte, string) ([]byte, error)) *ResponseTransformer
type SSECapability ¶ added in v0.16.0
type SSECapability = pkgserver.SSECapability
type SSEMessage ¶
type SSEMessage = pkgserver.SSEMessage
func NewSSEMessage ¶
func NewSSEMessage(data any) *SSEMessage
type SamplingCapability ¶
type SamplingCapability = pkgserver.SamplingCapability
type ServerOptionFunc ¶
type ServerOptionFunc = pkgserver.ServerOptionFunc
func WithAddr ¶
func WithAddr(addr string) ServerOptionFunc
func WithAuthTokenValidator ¶
func WithAuthTokenValidator(validator func(string) (bool, error)) ServerOptionFunc
func WithCORS ¶ added in v0.20.1
func WithCORS(opts *CORSOptions) ServerOptionFunc
func WithCSPWebWorkerSupport ¶ added in v0.9.6
func WithCSPWebWorkerSupport() ServerOptionFunc
func WithDebugMode ¶ added in v0.11.0
func WithDebugMode() ServerOptionFunc
func WithEncryptedClientHello ¶
func WithEncryptedClientHello(echKeys ...[]byte) ServerOptionFunc
func WithFIPSMode ¶
func WithFIPSMode() ServerOptionFunc
func WithHardenedMode ¶
func WithHardenedMode() ServerOptionFunc
func WithHealthServer ¶
func WithHealthServer() ServerOptionFunc
func WithIdleTimeout ¶ added in v0.13.0
func WithIdleTimeout(timeout time.Duration) ServerOptionFunc
func WithLogger ¶
func WithLogger(l *slog.Logger) ServerOptionFunc
func WithLoglevel ¶
func WithLoglevel(level slog.Level) ServerOptionFunc
func WithMCPBuiltinResources ¶ added in v0.9.3
func WithMCPBuiltinResources(enabled bool) ServerOptionFunc
func WithMCPBuiltinTools ¶ added in v0.9.3
func WithMCPBuiltinTools(enabled bool) ServerOptionFunc
func WithMCPDiscoveryFilter ¶ added in v0.18.0
func WithMCPDiscoveryFilter(filter func(string, *http.Request) bool) ServerOptionFunc
func WithMCPDiscoveryPolicy ¶ added in v0.18.0
func WithMCPDiscoveryPolicy(policy pkgserver.DiscoveryPolicy) ServerOptionFunc
func WithMCPEndpoint ¶
func WithMCPEndpoint(endpoint string) ServerOptionFunc
func WithMCPFileToolRoot ¶
func WithMCPFileToolRoot(rootDir string) ServerOptionFunc
func WithMCPNamespace ¶ added in v0.15.0
func WithMCPNamespace(name string, configs ...MCPNamespaceConfig) ServerOptionFunc
func WithMCPResourcesDisabled ¶
func WithMCPResourcesDisabled() ServerOptionFunc
func WithMCPServerInfo ¶
func WithMCPServerInfo(name, version string) ServerOptionFunc
func WithMCPSupport ¶
func WithMCPSupport(name, version string, configs ...MCPTransportConfig) ServerOptionFunc
func WithMCPToolsDisabled ¶
func WithMCPToolsDisabled() ServerOptionFunc
func WithOnShutdown ¶ added in v0.20.1
func WithOnShutdown(hook func(context.Context) error) ServerOptionFunc
func WithRateLimit ¶
func WithRateLimit(limit RateLimit, burst int) ServerOptionFunc
func WithReadHeaderTimeout ¶ added in v0.13.0
func WithReadHeaderTimeout(timeout time.Duration) ServerOptionFunc
func WithReadTimeout ¶ added in v0.13.0
func WithReadTimeout(timeout time.Duration) ServerOptionFunc
func WithSuppressBanner ¶ added in v0.20.1
func WithSuppressBanner(suppress bool) ServerOptionFunc
func WithTLS ¶
func WithTLS(certFile, keyFile string) ServerOptionFunc
func WithTemplateDir ¶
func WithTemplateDir(dir string) ServerOptionFunc
func WithTimeouts ¶
func WithTimeouts(readTimeout, writeTimeout, idleTimeout time.Duration) ServerOptionFunc
func WithWriteTimeout ¶ added in v0.13.0
func WithWriteTimeout(timeout time.Duration) ServerOptionFunc
type ServerOptions ¶
type ServerOptions = pkgserver.ServerOptions
func NewServerOptions ¶
func NewServerOptions() *ServerOptions
type SimpleResource ¶ added in v0.11.0
type SimpleResource = pkgserver.SimpleResource
type SimpleTool ¶ added in v0.11.0
type SimpleTool = pkgserver.SimpleTool
type ToolBuilder ¶ added in v0.11.0
type ToolBuilder = pkgserver.ToolBuilder
func NewTool ¶ added in v0.11.0
func NewTool(name string) *ToolBuilder
type ToolsCapability ¶
type ToolsCapability = pkgserver.ToolsCapability
type Upgrader ¶ added in v0.10.0
func WebSocketUpgrader ¶ added in v0.21.0
type WebSocketPool ¶ added in v0.20.1
type WebSocketPool = pkgwebsocket.WebSocketPool
func NewWebSocketPool ¶ added in v0.20.1
func NewWebSocketPool(config PoolConfig) *WebSocketPool
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
example-server
command
|
|
|
hyperserve-init
command
|
|
|
server
command
|
|
|
go
module
|
|
|
internal
|
|
|
responsewriter
Package responsewriter provides utilities for wrapping http.ResponseWriter while preserving optional interfaces like Hijacker, Flusher, and ReaderFrom.
|
Package responsewriter provides utilities for wrapping http.ResponseWriter while preserving optional interfaces like Hijacker, Flusher, and ReaderFrom. |
|
ws
Package ws provides low-level WebSocket protocol implementation.
|
Package ws provides low-level WebSocket protocol implementation. |
|
pkg
|
|
|
server
Package hyperserve provides comprehensive MCP (Model Context Protocol) built-in tools and resources.
|
Package hyperserve provides comprehensive MCP (Model Context Protocol) built-in tools and resources. |
|
spec
|
|
|
conformance
command
|
Click to show internal directories.
Click to hide internal directories.