Documentation
¶
Overview ¶
Package client provides the MCP client implementation.
Index ¶
- type Client
- func (c *Client) CallTool(ctx context.Context, params protocol.CallToolParams, ...) (*protocol.CallToolResult, error)
- func (c *Client) Close() error
- func (c *Client) Connect(ctx context.Context) error
- func (c *Client) ListTools(ctx context.Context, params protocol.ListToolsRequestParams) (*protocol.ListToolsResult, error)
- func (c *Client) RegisterNotificationHandler(method string, handler NotificationHandlerFunc) error
- func (c *Client) RegisterRequestHandler(method string, handler RequestHandlerFunc) error
- func (c *Client) ServerCapabilities() protocol.ServerCapabilities
- func (c *Client) ServerInfo() protocol.Implementation
- type ClientOptions
- type NotificationHandlerFunc
- type RequestHandlerFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents an MCP client instance using the SSE+HTTP hybrid transport.
func NewClient ¶
func NewClient(clientName string, opts ClientOptions) (*Client, error)
NewClient creates a new Client for SSE+HTTP transport.
func (*Client) CallTool ¶
func (c *Client) CallTool(ctx context.Context, params protocol.CallToolParams, progressToken *protocol.ProgressToken) (*protocol.CallToolResult, error)
CallTool sends a 'tools/call' request via HTTP POST and waits for the response via SSE.
func (*Client) ListTools ¶
func (c *Client) ListTools(ctx context.Context, params protocol.ListToolsRequestParams) (*protocol.ListToolsResult, error)
ListTools sends a 'tools/list' request via HTTP POST and waits for the response via SSE.
func (*Client) RegisterNotificationHandler ¶
func (c *Client) RegisterNotificationHandler(method string, handler NotificationHandlerFunc) error
func (*Client) RegisterRequestHandler ¶
func (c *Client) RegisterRequestHandler(method string, handler RequestHandlerFunc) error
func (*Client) ServerCapabilities ¶
func (c *Client) ServerCapabilities() protocol.ServerCapabilities
func (*Client) ServerInfo ¶
func (c *Client) ServerInfo() protocol.Implementation
type ClientOptions ¶
type ClientOptions struct {
Logger types.Logger
ClientCapabilities protocol.ClientCapabilities
HTTPClient *http.Client // Allow providing a custom HTTP client
ServerBaseURL string // Required: Base URL of the MCP server
MessageEndpoint string // Optional: Defaults to "/message"
SSEEndpoint string // Optional: Defaults to "/sse"
}
ClientOptions contains configuration options for creating a Client.
type NotificationHandlerFunc ¶
NotificationHandlerFunc defines the signature for functions that handle server-to-client notifications.
type RequestHandlerFunc ¶
RequestHandlerFunc defines the signature for functions that handle server-to-client requests.