client

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

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)

	ListPrompts(ctx context.Context, cursor string) (*protocol.ListPromptsResult, error)
	GetPrompt(ctx context.Context, name string, args map[string]string) (*protocol.GetPromptResult, error)

	SendNotification(ctx context.Context, method string, params interface{}) error
	Close() error
}

func New

func New(options ...Option) (Client, error)

New 创建MCP客户端

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) Close

func (c *MCPClient) Close() error

Close 关闭客户端连接

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) IsInitialized

func (c *MCPClient) IsInitialized() bool

IsInitialized 检查是否已初始化

func (*MCPClient) ListPrompts

func (c *MCPClient) ListPrompts(ctx context.Context, cursor string) (*protocol.ListPromptsResult, error)

ListPrompts 获取提示模板列表

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) ReadResource

func (c *MCPClient) ReadResource(ctx context.Context, uri string) (*protocol.ReadResourceResult, error)

ReadResource 读取资源内容

func (*MCPClient) SendInitialized

func (c *MCPClient) SendInitialized(ctx context.Context) error

SendInitialized 发送初始化完成通知

func (*MCPClient) SendNotification

func (c *MCPClient) SendNotification(ctx context.Context, method string, params interface{}) error

SendNotification 发送通知消息

type Option

type Option func(*MCPClient) error

Option 定义客户端配置选项

func WithClientInfo

func WithClientInfo(name, version string) Option

WithClientInfo 设置客户端信息

func WithSSETransport

func WithSSETransport(url string) Option

WithSSETransport 配置SSE传输层

func WithStdioTransport

func WithStdioTransport(command string, args []string) Option

WithStdioTransport 配置STDIO传输层

func WithStreamableHTTPTransport

func WithStreamableHTTPTransport(url string) Option

WithStreamableHTTPTransport 配置Streamable HTTP传输层

func WithTimeout

func WithTimeout(timeout time.Duration) Option

WithTimeout 设置请求超时时间

func WithTransport

func WithTransport(t transport.Transport) Option

WithTransport 设置传输层

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL