Documentation
ΒΆ
Index ΒΆ
- Constants
- func HandshakeAuthSkipMethods() []string
- func PrometheusMetrics() (Middleware, *Metrics)
- func SSEAPIKeyAuth(headerName string, validate KeyValidator) func(*http.Request) error
- func SSEBasicAuth(validate func(username, password string) (map[string]any, error)) func(*http.Request) error
- func SSEBearerAuth(validate TokenValidator) func(*http.Request) error
- func WithAuthHeader(ctx context.Context, value string) context.Context
- func WithHeaders(ctx context.Context, headers map[string]string) context.Context
- func WithMIMEType(mime string) func(*ResourceInfo)
- func WithResourceDescription(desc string) func(*ResourceInfo)
- func WithTemplateDescription(desc string) func(*ResourceTemplateInfo)
- func WithTemplateMIMEType(mime string) func(*ResourceTemplateInfo)
- type CallToolParams
- type CallToolResult
- type CompletionHandler
- type ContentBlock
- type Context
- func (c *Context) Args() map[string]any
- func (c *Context) Bind(v any) error
- func (c *Context) Bool(key string) bool
- func (c *Context) Context() context.Context
- func (c *Context) Error(msg string) *CallToolResult
- func (c *Context) Float(key string) float64
- func (c *Context) Get(key string) (any, bool)
- func (c *Context) Int(key string) int
- func (c *Context) JSON(v any) *CallToolResult
- func (c *Context) Logger() *slog.Logger
- func (c *Context) Session() *Session
- func (c *Context) Set(key string, val any)
- func (c *Context) String(key string) string
- func (c *Context) Text(s string) *CallToolResult
- type DirOptions
- type GetPromptParams
- type GetPromptResult
- type Group
- type HandlerFunc
- type InitializeResult
- type JSONSchema
- type KeyValidator
- type Metrics
- type Middleware
- func APIKeyAuth(headerName string, validate KeyValidator) Middleware
- func APIKeyAuthSkipHandshake(headerName string, validate KeyValidator) Middleware
- func BasicAuth(validate func(username, password string) (map[string]any, error)) Middleware
- func BasicAuthSkipHandshake(validate func(username, password string) (map[string]any, error)) Middleware
- func BearerAuth(validate TokenValidator) Middleware
- func BearerAuthSkipHandshake(validate TokenValidator) Middleware
- func Logger() Middleware
- func OpenTelemetry() Middleware
- func OpenTelemetryWithProvider(tp trace.TracerProvider) Middleware
- func RateLimit(perMinute int) Middleware
- func Recovery() Middleware
- func RequestID() Middleware
- func RequirePermission(perm string) Middleware
- func RequireRole(role string) Middleware
- func SkipAuthForMCPMethods(skip []string, mw Middleware) Middleware
- func Timeout(d time.Duration) Middleware
- type Option
- type PromptArgument
- type PromptCapability
- type PromptContent
- type PromptHandler
- type PromptInfo
- type PromptListResult
- type PromptMessage
- type ReadResourceParams
- type ReadResourceResult
- type ResourceCapability
- type ResourceContents
- type ResourceHandler
- type ResourceInfo
- type ResourceListResult
- type ResourceTemplateInfo
- type ResourceTemplateListResult
- type Server
- func (s *Server) AsyncTool(name, description string, handler HandlerFunc, opts ...ToolOption)
- func (s *Server) AsyncToolFunc(name, description string, fn any, opts ...ToolOption)
- func (s *Server) Close()
- func (s *Server) Completion(refType, refName, argName string, handler CompletionHandler)
- func (s *Server) Dev(addr string) error
- func (s *Server) Group(prefix string, mws ...Middleware) *Group
- func (s *Server) HTTP(addr string) error
- func (s *Server) HandleRaw(ctx context.Context, raw json.RawMessage) json.RawMessage
- func (s *Server) Handler() http.Handler
- func (s *Server) LoadDir(dir string, opts DirOptions) error
- func (s *Server) Prompt(name, description string, args []PromptArgument, handler PromptHandler)
- func (s *Server) RegisterToolRaw(name, description string, inputSchema JSONSchema, handler HandlerFunc, ...)
- func (s *Server) Resource(uri, name string, handler ResourceHandler, opts ...func(*ResourceInfo))
- func (s *Server) ResourceTemplate(uriTemplate, name string, handler ResourceHandler, ...)
- func (s *Server) Sessions() *SessionManager
- func (s *Server) SetMaxConcurrentTasks(n int)
- func (s *Server) Stdio() error
- func (s *Server) Tool(name, description string, handler HandlerFunc, opts ...ToolOption)
- func (s *Server) ToolFunc(name, description string, fn any, opts ...ToolOption)
- func (s *Server) Use(mw ...Middleware)
- type ServerCapabilities
- type ServerInfo
- type Session
- type SessionManager
- type TokenValidator
- type ToolCapability
- type ToolInfo
- type ToolListResult
- type ToolOption
Constants ΒΆ
const ( TaskRunning = "running" TaskCompleted = "completed" TaskFailed = "failed" TaskCancelled = "cancelled" )
Task states
Variables ΒΆ
This section is empty.
Functions ΒΆ
func HandshakeAuthSkipMethods ΒΆ added in v1.4.0
func HandshakeAuthSkipMethods() []string
HandshakeAuthSkipMethods returns MCP JSON-RPC methods that commonly omit credentials on Streamable HTTP before authenticated calls. Pass the result to SkipAuthForMCPMethods or use helpers such as BearerAuthSkipHandshake.
func PrometheusMetrics ΒΆ
func PrometheusMetrics() (Middleware, *Metrics)
PrometheusMetrics returns a middleware that records tool call metrics. Access metrics via s.MetricsHandler() for the /metrics endpoint.
func SSEAPIKeyAuth ΒΆ added in v1.4.0
func SSEAPIKeyAuth(headerName string, validate KeyValidator) func(*http.Request) error
SSEAPIKeyAuth returns an HTTP gate like APIKeyAuth but reads only the named header (no tool-argument fallback).
func SSEBasicAuth ΒΆ added in v1.4.0
func SSEBasicAuth(validate func(username, password string) (map[string]any, error)) func(*http.Request) error
SSEBasicAuth returns an HTTP gate enforcing the same Basic rules as BasicAuth.
func SSEBearerAuth ΒΆ added in v1.4.0
func SSEBearerAuth(validate TokenValidator) func(*http.Request) error
SSEBearerAuth returns an HTTP gate suitable for WithSSEAuth, enforcing the same Bearer rules as BearerAuth.
func WithAuthHeader ΒΆ
WithAuthHeader injects an Authorization header value into a context. Used by transport layers to pass HTTP auth info to middleware.
func WithHeaders ΒΆ
WithHeaders injects HTTP headers into a context.
func WithMIMEType ΒΆ
func WithMIMEType(mime string) func(*ResourceInfo)
WithMIMEType sets the MIME type for a resource.
func WithResourceDescription ΒΆ
func WithResourceDescription(desc string) func(*ResourceInfo)
WithResourceDescription sets the description for a resource.
func WithTemplateDescription ΒΆ
func WithTemplateDescription(desc string) func(*ResourceTemplateInfo)
WithTemplateDescription sets the description for a resource template.
func WithTemplateMIMEType ΒΆ
func WithTemplateMIMEType(mime string) func(*ResourceTemplateInfo)
WithTemplateMIMEType sets the MIME type for a resource template.
Types ΒΆ
type CallToolParams ΒΆ
type CallToolParams struct {
Name string `json:"name"`
Arguments map[string]any `json:"arguments,omitempty"`
}
CallToolParams is the request parameters for tools/call.
type CallToolResult ΒΆ
type CallToolResult struct {
Content []ContentBlock `json:"content"`
IsError bool `json:"isError,omitempty"`
}
CallToolResult is the response from a tool invocation.
func ErrorResult ΒΆ
func ErrorResult(msg string) *CallToolResult
ErrorResult creates an error result with isError set to true.
func TextResult ΒΆ
func TextResult(s string) *CallToolResult
TextResult creates a successful text result.
type CompletionHandler ΒΆ
CompletionHandler returns completion suggestions for a partial input.
type ContentBlock ΒΆ
type ContentBlock struct {
Type string `json:"type"`
Text string `json:"text"`
Data string `json:"data,omitempty"`
MIMEType string `json:"mimeType,omitempty"`
}
ContentBlock represents a single content item in a tool result.
type Context ΒΆ
type Context struct {
// contains filtered or unexported fields
}
Context carries request-scoped data through the handler chain.
func (*Context) Error ΒΆ
func (c *Context) Error(msg string) *CallToolResult
Error builds an error result.
func (*Context) JSON ΒΆ
func (c *Context) JSON(v any) *CallToolResult
JSON builds a JSON text result.
func (*Context) Session ΒΆ
Session returns the session associated with this request (nil for stdio without session).
type DirOptions ΒΆ
type DirOptions struct {
Watch bool // watch for file changes
Interval time.Duration // poll interval (default 2s)
Pattern string // glob pattern (default "*.tool.yaml")
OnReload func() // callback after reload
}
DirOptions configures directory-based tool loading.
type GetPromptParams ΒΆ
type GetPromptParams struct {
Name string `json:"name"`
Arguments map[string]string `json:"arguments,omitempty"`
}
GetPromptParams is the request parameters for prompts/get.
type GetPromptResult ΒΆ
type GetPromptResult struct {
Description string `json:"description,omitempty"`
Messages []PromptMessage `json:"messages"`
}
GetPromptResult is the response to prompts/get.
type Group ΒΆ
type Group struct {
// contains filtered or unexported fields
}
Group allows organizing tools under a common prefix with shared middleware.
func (*Group) Group ΒΆ
func (g *Group) Group(prefix string, mws ...Middleware) *Group
Group creates a nested sub-group.
func (*Group) Tool ΒΆ
func (g *Group) Tool(name, description string, handler HandlerFunc, opts ...ToolOption)
Tool registers a tool under this group. The tool name becomes "prefix.name".
type HandlerFunc ΒΆ
type HandlerFunc func(ctx *Context) (*CallToolResult, error)
HandlerFunc is the simplest tool handler signature.
type InitializeResult ΒΆ
type InitializeResult struct {
ProtocolVersion string `json:"protocolVersion"`
Capabilities ServerCapabilities `json:"capabilities"`
ServerInfo ServerInfo `json:"serverInfo"`
}
InitializeResult is the response to an initialize request.
type JSONSchema ΒΆ
type JSONSchema struct {
Type string `json:"type"`
Properties map[string]JSONSchema `json:"properties,omitempty"`
Required []string `json:"required,omitempty"`
// field constraints
Description string `json:"description,omitempty"`
Default any `json:"default,omitempty"`
Enum []any `json:"enum,omitempty"`
Minimum *float64 `json:"minimum,omitempty"`
Maximum *float64 `json:"maximum,omitempty"`
Pattern string `json:"pattern,omitempty"`
Items *JSONSchema `json:"items,omitempty"`
}
JSONSchema represents a JSON Schema definition for tool parameters.
type KeyValidator ΒΆ
KeyValidator validates an API key and returns metadata (stored in context as "_auth_claims").
type Metrics ΒΆ
type Metrics struct {
// contains filtered or unexported fields
}
Metrics holds Prometheus-compatible metrics for tool calls.
type Middleware ΒΆ
Middleware processes a request and calls next to continue the chain.
func APIKeyAuth ΒΆ
func APIKeyAuth(headerName string, validate KeyValidator) Middleware
APIKeyAuth returns a middleware that validates API keys. It checks the header specified by headerName (e.g. "X-API-Key"), falling back to the "api_key" argument merged from tools/call arguments, prompts/get arguments, or resources/read params (see mergedArgsForMiddleware).
func APIKeyAuthSkipHandshake ΒΆ added in v1.4.0
func APIKeyAuthSkipHandshake(headerName string, validate KeyValidator) Middleware
APIKeyAuthSkipHandshake wraps APIKeyAuth so methods from HandshakeAuthSkipMethods do not require an API key.
func BasicAuth ΒΆ
func BasicAuth(validate func(username, password string) (map[string]any, error)) Middleware
BasicAuth returns a middleware that validates HTTP Basic Authentication.
func BasicAuthSkipHandshake ΒΆ added in v1.4.0
func BasicAuthSkipHandshake(validate func(username, password string) (map[string]any, error)) Middleware
BasicAuthSkipHandshake wraps BasicAuth so methods from HandshakeAuthSkipMethods do not require Basic credentials.
func BearerAuth ΒΆ
func BearerAuth(validate TokenValidator) Middleware
BearerAuth returns a middleware that validates Bearer tokens.
func BearerAuthSkipHandshake ΒΆ added in v1.4.0
func BearerAuthSkipHandshake(validate TokenValidator) Middleware
BearerAuthSkipHandshake wraps BearerAuth so methods from HandshakeAuthSkipMethods do not require a Bearer token.
func Logger ΒΆ
func Logger() Middleware
Logger returns a middleware that logs each MCP request with duration.
func OpenTelemetry ΒΆ
func OpenTelemetry() Middleware
OpenTelemetry returns a middleware that creates a span for each tool call. It uses the globally registered TracerProvider by default. Pass a custom TracerProvider via OpenTelemetryWithProvider().
func OpenTelemetryWithProvider ΒΆ
func OpenTelemetryWithProvider(tp trace.TracerProvider) Middleware
OpenTelemetryWithProvider returns an OTel middleware using the given provider.
func RateLimit ΒΆ
func RateLimit(perMinute int) Middleware
RateLimit returns a middleware that limits calls to n per minute using a token bucket.
func Recovery ΒΆ
func Recovery() Middleware
Recovery returns a middleware that recovers from panics.
func RequestID ΒΆ
func RequestID() Middleware
RequestID injects a unique request ID into the context.
func RequirePermission ΒΆ
func RequirePermission(perm string) Middleware
RequirePermission returns a middleware that checks if the user has the required permission.
func RequireRole ΒΆ
func RequireRole(role string) Middleware
RequireRole returns a middleware that checks if the authenticated user has the required role. Roles are read from ctx store key "_auth_roles" (set by auth middleware).
func SkipAuthForMCPMethods ΒΆ added in v1.4.0
func SkipAuthForMCPMethods(skip []string, mw Middleware) Middleware
SkipAuthForMCPMethods runs mw unless the current MCP method on ctx (store key "_mcp_method") is in skip. Place auth middleware inside this wrapper so handshake calls can omit credentials without weakening other methods.
func Timeout ΒΆ
func Timeout(d time.Duration) Middleware
Timeout returns a middleware that enforces a deadline on the entire MCP request (including dispatch to tools/resources/prompts). The request context is replaced with a timeout context; handlers should use Context.Context and check context.Context.Done to cancel work so long calls return promptly when the deadline hits.
type Option ΒΆ
type Option func(*Server)
Option configures the Server.
func WithDescription ΒΆ
WithDescription sets the server description.
func WithLogger ΒΆ
WithLogger sets a custom logger for the server.
func WithMaxRequestSize ΒΆ
WithMaxRequestSize sets the maximum request body size in bytes (default 10MB).
func WithSSEAuth ΒΆ added in v1.4.0
WithSSEAuth sets an optional handler invoked before accepting an SSE connection on Streamable HTTP GET. Return a non-nil error to reject the connection (typically 401). Use SSEBearerAuth, SSEAPIKeyAuth, or SSEBasicAuth, or supply your own check.
type PromptArgument ΒΆ
type PromptArgument struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Required bool `json:"required,omitempty"`
}
PromptArgument describes a prompt parameter.
func PromptArg ΒΆ
func PromptArg(name, desc string, required bool) PromptArgument
type PromptCapability ΒΆ
type PromptCapability struct {
ListChanged bool `json:"listChanged,omitempty"`
}
PromptCapability describes prompt-related capabilities.
type PromptContent ΒΆ
PromptContent holds the content of a prompt message.
type PromptHandler ΒΆ
type PromptHandler func(ctx *Context) ([]PromptMessage, error)
PromptHandler returns messages for a prompt.
type PromptInfo ΒΆ
type PromptInfo struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Arguments []PromptArgument `json:"arguments,omitempty"`
}
PromptInfo describes a registered prompt template.
type PromptListResult ΒΆ
type PromptListResult struct {
Prompts []PromptInfo `json:"prompts"`
}
PromptListResult is the response to prompts/list.
type PromptMessage ΒΆ
type PromptMessage struct {
Role string `json:"role"`
Content PromptContent `json:"content"`
}
PromptMessage is a single message in a prompt response.
func AssistantMsg ΒΆ
func AssistantMsg(text string) PromptMessage
AssistantMsg creates an assistant-role prompt message.
type ReadResourceParams ΒΆ
type ReadResourceParams struct {
URI string `json:"uri"`
}
ReadResourceParams is the request parameters for resources/read.
type ReadResourceResult ΒΆ
type ReadResourceResult struct {
Contents []ResourceContents `json:"contents"`
}
ReadResourceResult is the response to resources/read.
type ResourceCapability ΒΆ
type ResourceCapability struct {
Subscribe bool `json:"subscribe,omitempty"`
ListChanged bool `json:"listChanged,omitempty"`
}
ResourceCapability describes resource-related capabilities.
type ResourceContents ΒΆ
type ResourceContents struct {
URI string `json:"uri"`
MIMEType string `json:"mimeType,omitempty"`
Text string `json:"text,omitempty"`
}
ResourceContents holds the content returned by a resource read.
type ResourceHandler ΒΆ
ResourceHandler returns content for a resource.
type ResourceInfo ΒΆ
type ResourceInfo struct {
URI string `json:"uri"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
MIMEType string `json:"mimeType,omitempty"`
}
ResourceInfo describes a static resource.
type ResourceListResult ΒΆ
type ResourceListResult struct {
Resources []ResourceInfo `json:"resources"`
}
ResourceListResult is the response to resources/list.
type ResourceTemplateInfo ΒΆ
type ResourceTemplateInfo struct {
URITemplate string `json:"uriTemplate"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
MIMEType string `json:"mimeType,omitempty"`
}
ResourceTemplateInfo describes a dynamic resource with a URI template.
type ResourceTemplateListResult ΒΆ
type ResourceTemplateListResult struct {
ResourceTemplates []ResourceTemplateInfo `json:"resourceTemplates"`
}
ResourceTemplateListResult is the response to resources/templates/list.
type Server ΒΆ
type Server struct {
// contains filtered or unexported fields
}
Server is the core MCP server.
func (*Server) AsyncTool ΒΆ
func (s *Server) AsyncTool(name, description string, handler HandlerFunc, opts ...ToolOption)
AsyncTool registers an async tool that returns a task ID immediately.
func (*Server) AsyncToolFunc ΒΆ
func (s *Server) AsyncToolFunc(name, description string, fn any, opts ...ToolOption)
AsyncToolFunc registers an async typed tool.
func (*Server) Close ΒΆ added in v1.4.0
func (s *Server) Close()
Close stops background work tied to the server: the session manager eviction loop, the signal used by LoadDir(Watch: true), and the async task manager eviction loop. It is idempotent. It does not wait for in-flight AsyncTool handlers to finish.
func (*Server) Completion ΒΆ
func (s *Server) Completion(refType, refName, argName string, handler CompletionHandler)
Completion registers an auto-complete handler for a prompt or resource argument. refType is "prompt" or "resource", refName is the prompt/resource name, argName is the argument.
func (*Server) Dev ΒΆ
Dev starts the server in development mode with Inspector UI on the given address.
func (*Server) Group ΒΆ
func (s *Server) Group(prefix string, mws ...Middleware) *Group
Group creates a new tool group with a name prefix.
func (*Server) HTTP ΒΆ
HTTP starts the server over Streamable HTTP on the given address. For browser clients using a custom mux, wrap the MCP handler with transport.WrapCORS from package transport.
func (*Server) HandleRaw ΒΆ
func (s *Server) HandleRaw(ctx context.Context, raw json.RawMessage) json.RawMessage
HandleRaw processes a raw JSON-RPC message. Used by mcptest and custom transports.
func (*Server) Handler ΒΆ
Handler returns an http.Handler for embedding in existing HTTP servers. When browsers call POST /mcp cross-origin, wrap this handler with transport.WrapCORS from package transport.
func (*Server) LoadDir ΒΆ
func (s *Server) LoadDir(dir string, opts DirOptions) error
LoadDir loads tool definitions from YAML files in a directory.
func (*Server) Prompt ΒΆ
func (s *Server) Prompt(name, description string, args []PromptArgument, handler PromptHandler)
Prompt registers a prompt template.
func (*Server) RegisterToolRaw ΒΆ
func (s *Server) RegisterToolRaw(name, description string, inputSchema JSONSchema, handler HandlerFunc, opts ...ToolOption)
RegisterToolRaw registers a tool with a pre-built schema (used by adapters).
func (*Server) Resource ΒΆ
func (s *Server) Resource(uri, name string, handler ResourceHandler, opts ...func(*ResourceInfo))
Resource registers a static resource.
func (*Server) ResourceTemplate ΒΆ
func (s *Server) ResourceTemplate(uriTemplate, name string, handler ResourceHandler, opts ...func(*ResourceTemplateInfo))
ResourceTemplate registers a dynamic resource with URI template (e.g. "db://{table}/{id}").
func (*Server) Sessions ΒΆ
func (s *Server) Sessions() *SessionManager
Sessions returns the session manager for inspecting active sessions.
func (*Server) SetMaxConcurrentTasks ΒΆ
SetMaxConcurrentTasks sets the max concurrent async tasks. Must be called before the first Server.AsyncTool or Server.AsyncToolFunc. If a task manager already exists, this is a no-op to avoid race conditions with in-flight tasks.
func (*Server) Tool ΒΆ
func (s *Server) Tool(name, description string, handler HandlerFunc, opts ...ToolOption)
Tool registers a tool with a simple HandlerFunc.
func (*Server) ToolFunc ΒΆ
func (s *Server) ToolFunc(name, description string, fn any, opts ...ToolOption)
ToolFunc registers a tool using a typed function. Signature: func(*Context, InputStruct) (OutputType, error)
func (*Server) Use ΒΆ
func (s *Server) Use(mw ...Middleware)
Use adds global middleware to the server.
type ServerCapabilities ΒΆ
type ServerCapabilities struct {
Tools *ToolCapability `json:"tools,omitempty"`
Resources *ResourceCapability `json:"resources,omitempty"`
Prompts *PromptCapability `json:"prompts,omitempty"`
}
ServerCapabilities declares the server's supported features.
type ServerInfo ΒΆ
ServerInfo describes the MCP server name and version.
type Session ΒΆ
Session represents a client connection session.
type SessionManager ΒΆ
type SessionManager struct {
// contains filtered or unexported fields
}
SessionManager tracks active sessions.
func (*SessionManager) Count ΒΆ
func (sm *SessionManager) Count() int
Count returns the number of active sessions.
func (*SessionManager) Get ΒΆ
func (sm *SessionManager) Get(id string) *Session
Get returns an existing session or creates a new one for the given ID.
func (*SessionManager) GetOrCreate ΒΆ
func (sm *SessionManager) GetOrCreate(id string) *Session
GetOrCreate returns an existing session or creates one with a new ID.
func (*SessionManager) Remove ΒΆ
func (sm *SessionManager) Remove(id string)
Remove deletes a session.
type TokenValidator ΒΆ
TokenValidator validates a bearer token and returns claims (stored in context as "_auth_claims"). Implement JWT or opaque-token checks yourself inside validate; this package does not parse JWTs.
type ToolCapability ΒΆ
type ToolCapability struct {
ListChanged bool `json:"listChanged,omitempty"`
}
ToolCapability describes tool-related capabilities.
type ToolInfo ΒΆ
type ToolInfo struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
InputSchema JSONSchema `json:"inputSchema"`
Annotations map[string]string `json:"annotations,omitempty"`
}
ToolInfo describes a registered tool and its input schema.
type ToolListResult ΒΆ
type ToolListResult struct {
Tools []ToolInfo `json:"tools"`
}
ToolListResult is the response to tools/list.
type ToolOption ΒΆ
type ToolOption func(*toolEntry)
ToolOption configures a tool registration.
func Version ΒΆ
func Version(v string) ToolOption
Version sets the version for a tool. Versioned tools are registered as "name@version".
Source Files
ΒΆ
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
examples
|
|
|
basic
command
|
|
|
filesystem
command
Package main implements a real-world MCP server for filesystem operations.
|
Package main implements a real-world MCP server for filesystem operations. |
|
gin-adapter
command
|
|
|
openapi-adapter
command
|
|
|
Package inspector provides a development UI for GoMCP servers.
|
Package inspector provides a development UI for GoMCP servers. |
|
internal
|
|
|
Package mcptest provides testing utilities for GoMCP servers.
|
Package mcptest provides testing utilities for GoMCP servers. |