Documentation
¶
Index ¶
- type Client
- type ElicitationHandler
- 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) 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) SetElicitationHandler(handler ElicitationHandler)
- func (c *MCPClient) SetRoots(roots ...protocol.Root)
- func (c *MCPClient) SetRootsProvider(provider RootsProvider)
- func (c *MCPClient) SetSamplingHandler(handler SamplingHandler)
- 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 RootsProvider
- type SamplingHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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)
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
SetElicitationHandler(handler ElicitationHandler)
SetSamplingHandler(handler SamplingHandler)
SetRootsProvider(provider RootsProvider)
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 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) SetElicitationHandler ¶ added in v1.1.1
func (c *MCPClient) SetElicitationHandler(handler ElicitationHandler)
SetElicitationHandler 设置elicitation处理器
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处理器
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 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 请求的接口