Documentation
¶
Index ¶
- type CancelledHandler
- type Client
- type ElicitationHandler
- type LoggingHandler
- type MCPClient
- func (c *MCPClient) CallTool(ctx context.Context, name string, args map[string]interface{}) (*protocol.CallToolResult, error)
- func (c *MCPClient) Close() error
- func (c *MCPClient) GetCapabilities() *protocol.ServerCapabilities
- func (c *MCPClient) GetPrompt(ctx context.Context, name string, args map[string]string) (*protocol.GetPromptResult, error)
- func (c *MCPClient) GetServerInfo() *protocol.ServerInfo
- func (c *MCPClient) Initialize(ctx context.Context, clientInfo protocol.ClientInfo) (*protocol.InitializeResult, error)
- func (c *MCPClient) IsInitialized() bool
- func (c *MCPClient) ListPrompts(ctx context.Context, cursor string) (*protocol.ListPromptsResult, error)
- func (c *MCPClient) ListResourceTemplates(ctx context.Context, cursor string) (*protocol.ListResourceTemplatesResult, error)
- func (c *MCPClient) ListResources(ctx context.Context, cursor string) (*protocol.ListResourcesResult, error)
- func (c *MCPClient) ListTools(ctx context.Context, cursor string) (*protocol.ListToolsResult, error)
- func (c *MCPClient) NotifyRootsChanged(ctx context.Context) error
- func (c *MCPClient) Ping(ctx context.Context) error
- func (c *MCPClient) ReadResource(ctx context.Context, uri string) (*protocol.ReadResourceResult, error)
- func (c *MCPClient) SendInitialized(ctx context.Context) error
- func (c *MCPClient) SendNotification(ctx context.Context, method string, params interface{}) error
- func (c *MCPClient) SendRequest(ctx context.Context, method string, params interface{}) (*protocol.JSONRPCMessage, error)
- func (c *MCPClient) SetCancelledHandler(handler CancelledHandler)
- func (c *MCPClient) SetElicitationHandler(handler ElicitationHandler)
- func (c *MCPClient) SetLoggingHandler(handler LoggingHandler)
- func (c *MCPClient) SetLoggingLevel(ctx context.Context, level protocol.LoggingLevel) error
- func (c *MCPClient) SetProgressHandler(handler ProgressHandler)
- func (c *MCPClient) SetRoots(roots ...protocol.Root)
- func (c *MCPClient) SetRootsProvider(provider RootsProvider)
- func (c *MCPClient) SetSamplingHandler(handler SamplingHandler)
- func (c *MCPClient) SubscribeResource(ctx context.Context, uri string) error
- func (c *MCPClient) UnsubscribeResource(ctx context.Context, uri string) error
- type Option
- func WithClientInfo(name, version string) Option
- func WithElicitationHandler(handler ElicitationHandler) Option
- func WithRoots(roots ...protocol.Root) Option
- func WithRootsProvider(provider RootsProvider) Option
- func WithSSETransport(url string) Option
- func WithSamplingHandler(handler SamplingHandler) Option
- func WithStdioTransport(command string, args []string) Option
- func WithStdioTransportAndEnv(command string, args []string, env []string) Option
- func WithStdioTransportEnvAndDir(command string, args []string, env []string, dir string) Option
- func WithStreamableHTTPTransport(url string) Option
- func WithTimeout(timeout time.Duration) Option
- func WithTransport(t transport.Transport) Option
- type ProgressHandler
- type RootsProvider
- type SamplingHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CancelledHandler ¶ added in v1.1.6
CancelledHandler 定义处理取消通知的接口
type Client ¶
type Client interface {
Initialize(ctx context.Context, clientInfo protocol.ClientInfo) (*protocol.InitializeResult, error)
SendInitialized(ctx context.Context) error
ListTools(ctx context.Context, cursor string) (*protocol.ListToolsResult, error)
CallTool(ctx context.Context, name string, args map[string]interface{}) (*protocol.CallToolResult, error)
ListResources(ctx context.Context, cursor string) (*protocol.ListResourcesResult, error)
ReadResource(ctx context.Context, uri string) (*protocol.ReadResourceResult, error)
ListResourceTemplates(ctx context.Context, cursor string) (*protocol.ListResourceTemplatesResult, error)
SubscribeResource(ctx context.Context, uri string) error
UnsubscribeResource(ctx context.Context, uri string) error
ListPrompts(ctx context.Context, cursor string) (*protocol.ListPromptsResult, error)
GetPrompt(ctx context.Context, name string, args map[string]string) (*protocol.GetPromptResult, error)
SendRequest(ctx context.Context, method string, params interface{}) (*protocol.JSONRPCMessage, error)
SendNotification(ctx context.Context, method string, params interface{}) error
Ping(ctx context.Context) error
SetLoggingLevel(ctx context.Context, level protocol.LoggingLevel) error
SetElicitationHandler(handler ElicitationHandler)
SetSamplingHandler(handler SamplingHandler)
SetRootsProvider(provider RootsProvider)
SetProgressHandler(handler ProgressHandler)
SetCancelledHandler(handler CancelledHandler)
SetLoggingHandler(handler LoggingHandler)
NotifyRootsChanged(ctx context.Context) error
Close() error
}
type ElicitationHandler ¶ added in v1.1.1
type ElicitationHandler func(ctx context.Context, params *protocol.ElicitationCreateParams) (*protocol.ElicitationResult, error)
ElicitationHandler 定义处理 elicitation 请求的接口
type LoggingHandler ¶ added in v1.1.6
type LoggingHandler func(level protocol.LoggingLevel, data any, logger string)
LoggingHandler 定义处理日志消息的接口
type MCPClient ¶
type MCPClient struct {
// contains filtered or unexported fields
}
MCPClient 实现MCP客户端
func (*MCPClient) CallTool ¶
func (c *MCPClient) CallTool(ctx context.Context, name string, args map[string]interface{}) (*protocol.CallToolResult, error)
CallTool 调用工具
func (*MCPClient) GetCapabilities ¶
func (c *MCPClient) GetCapabilities() *protocol.ServerCapabilities
GetCapabilities 获取服务器能力
func (*MCPClient) GetPrompt ¶
func (c *MCPClient) GetPrompt(ctx context.Context, name string, args map[string]string) (*protocol.GetPromptResult, error)
GetPrompt 获取提示模板
func (*MCPClient) GetServerInfo ¶
func (c *MCPClient) GetServerInfo() *protocol.ServerInfo
GetServerInfo 获取服务器信息
func (*MCPClient) Initialize ¶
func (c *MCPClient) Initialize(ctx context.Context, clientInfo protocol.ClientInfo) (*protocol.InitializeResult, error)
Initialize MCP初始化握手
func (*MCPClient) ListPrompts ¶
func (c *MCPClient) ListPrompts(ctx context.Context, cursor string) (*protocol.ListPromptsResult, error)
ListPrompts 获取提示模板列表
func (*MCPClient) ListResourceTemplates ¶ added in v1.1.2
func (c *MCPClient) ListResourceTemplates(ctx context.Context, cursor string) (*protocol.ListResourceTemplatesResult, error)
ListResourceTemplates 获取资源模板列表
func (*MCPClient) ListResources ¶
func (c *MCPClient) ListResources(ctx context.Context, cursor string) (*protocol.ListResourcesResult, error)
ListResources 获取资源列表
func (*MCPClient) ListTools ¶
func (c *MCPClient) ListTools(ctx context.Context, cursor string) (*protocol.ListToolsResult, error)
ListTools 获取工具列表
func (*MCPClient) NotifyRootsChanged ¶ added in v1.1.2
NotifyRootsChanged 通知服务器根目录列表已变更
func (*MCPClient) ReadResource ¶
func (c *MCPClient) ReadResource(ctx context.Context, uri string) (*protocol.ReadResourceResult, error)
ReadResource 读取资源内容
func (*MCPClient) SendInitialized ¶
SendInitialized 发送初始化完成通知
func (*MCPClient) SendNotification ¶
SendNotification 发送通知消息
func (*MCPClient) SendRequest ¶ added in v1.1.2
func (c *MCPClient) SendRequest(ctx context.Context, method string, params interface{}) (*protocol.JSONRPCMessage, error)
SendRequest 发送请求并等待响应
func (*MCPClient) SetCancelledHandler ¶ added in v1.1.6
func (c *MCPClient) SetCancelledHandler(handler CancelledHandler)
SetCancelledHandler 设置取消通知处理器
func (*MCPClient) SetElicitationHandler ¶ added in v1.1.1
func (c *MCPClient) SetElicitationHandler(handler ElicitationHandler)
SetElicitationHandler 设置elicitation处理器
func (*MCPClient) SetLoggingHandler ¶ added in v1.1.6
func (c *MCPClient) SetLoggingHandler(handler LoggingHandler)
SetLoggingHandler 设置日志消息处理器
func (*MCPClient) SetLoggingLevel ¶ added in v1.1.6
SetLoggingLevel 设置服务器日志级别
func (*MCPClient) SetProgressHandler ¶ added in v1.1.6
func (c *MCPClient) SetProgressHandler(handler ProgressHandler)
SetProgressHandler 设置进度通知处理器
func (*MCPClient) SetRootsProvider ¶ added in v1.1.2
func (c *MCPClient) SetRootsProvider(provider RootsProvider)
SetRootsProvider 设置根目录提供器
func (*MCPClient) SetSamplingHandler ¶ added in v1.1.1
func (c *MCPClient) SetSamplingHandler(handler SamplingHandler)
SetSamplingHandler 设置sampling处理器
func (*MCPClient) SubscribeResource ¶ added in v1.1.6
SubscribeResource 订阅资源更新
type Option ¶
Option 定义客户端配置选项
func WithElicitationHandler ¶ added in v1.1.1
func WithElicitationHandler(handler ElicitationHandler) Option
WithElicitationHandler 设置elicitation处理器
func WithRootsProvider ¶ added in v1.1.2
func WithRootsProvider(provider RootsProvider) Option
WithRootsProvider 设置根目录提供器
func WithSamplingHandler ¶ added in v1.1.1
func WithSamplingHandler(handler SamplingHandler) Option
WithSamplingHandler 设置sampling处理器
func WithStdioTransport ¶
WithStdioTransport 配置STDIO传输层
func WithStdioTransportAndEnv ¶ added in v1.1.3
WithStdioTransportAndEnv 配置STDIO传输层并设置环境变量
func WithStdioTransportEnvAndDir ¶ added in v1.1.3
WithStdioTransportEnvAndDir 配置STDIO传输层并设置环境变量和工作目录
func WithStreamableHTTPTransport ¶
WithStreamableHTTPTransport 配置Streamable HTTP传输层
type ProgressHandler ¶ added in v1.1.6
ProgressHandler 定义处理进度通知的接口
type RootsProvider ¶ added in v1.1.2
RootsProvider 定义提供根目录列表的接口
type SamplingHandler ¶ added in v1.1.1
type SamplingHandler func(ctx context.Context, request *protocol.CreateMessageRequest) (*protocol.CreateMessageResult, error)
SamplingHandler 定义处理 sampling 请求的接口