Documentation
¶
Index ¶
- type Client
- func (c *Client) BuildPrompt(ctx context.Context, userPrompt string, mcpCtx *models.MCPContext) (string, error)
- func (c *Client) ExecuteToolCalls(ctx context.Context, calls []*models.ToolCall, mcpCtx *models.MCPContext) ([]*models.ToolResult, error)
- func (c *Client) FormatToolResults(results []*models.ToolResult) string
- func (c *Client) GetToolDefinitions(ctx context.Context, mcpCtx *models.MCPContext) ([]map[string]interface{}, error)
- func (c *Client) PrepareTools(ctx context.Context, mcpCtx *models.MCPContext) ([]models.Tool, error)
- func (c *Client) ValidateToolCall(call *models.ToolCall, mcpCtx *models.MCPContext) error
- type MCPClient
- type MCPManager
- type MCPServer
- type Manager
- func (m *Manager) GetAvailableTools(ctx context.Context, mcpCtx *models.MCPContext) ([]models.Tool, error)
- func (m *Manager) GetMetrics() map[string]*models.ExecutionMetrics
- func (m *Manager) GetServers() map[string]MCPServer
- func (m *Manager) HandleToolCall(ctx context.Context, call *models.ToolCall, mcpCtx *models.MCPContext) (*models.ToolResult, error)
- func (m *Manager) RegisterServer(name string, server MCPServer) error
- func (m *Manager) Shutdown(ctx context.Context) error
- func (m *Manager) UnregisterServer(name string) error
- type ToolValidator
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 MCP客户端实现 用于与AI提供商集成,为AI会话准备工具
func (*Client) BuildPrompt ¶
func (c *Client) BuildPrompt(ctx context.Context, userPrompt string, mcpCtx *models.MCPContext) (string, error)
BuildPrompt 构建包含工具信息的提示
func (*Client) ExecuteToolCalls ¶
func (c *Client) ExecuteToolCalls(ctx context.Context, calls []*models.ToolCall, mcpCtx *models.MCPContext) ([]*models.ToolResult, error)
ExecuteToolCalls 执行AI返回的工具调用
func (*Client) FormatToolResults ¶
func (c *Client) FormatToolResults(results []*models.ToolResult) string
FormatToolResults 格式化工具执行结果为可读文本
func (*Client) GetToolDefinitions ¶
func (c *Client) GetToolDefinitions(ctx context.Context, mcpCtx *models.MCPContext) ([]map[string]interface{}, error)
GetToolDefinitions 获取工具定义的JSON表示(用于AI集成)
func (*Client) PrepareTools ¶
func (c *Client) PrepareTools(ctx context.Context, mcpCtx *models.MCPContext) ([]models.Tool, error)
PrepareTools 为AI会话准备工具
func (*Client) ValidateToolCall ¶
ValidateToolCall 验证工具调用的格式和参数
type MCPClient ¶
type MCPClient interface { // PrepareTools 为AI会话准备工具 PrepareTools(ctx context.Context, mcpCtx *models.MCPContext) ([]models.Tool, error) // ExecuteToolCalls 执行AI返回的工具调用 ExecuteToolCalls(ctx context.Context, calls []*models.ToolCall, mcpCtx *models.MCPContext) ([]*models.ToolResult, error) // BuildPrompt 构建包含工具信息的提示 BuildPrompt(ctx context.Context, userPrompt string, mcpCtx *models.MCPContext) (string, error) }
MCPClient MCP客户端接口 用于与AI提供商集成
type MCPManager ¶
type MCPManager interface { // RegisterServer 注册MCP服务器 RegisterServer(name string, server MCPServer) error // UnregisterServer 取消注册MCP服务器 UnregisterServer(name string) error // GetAvailableTools 获取可用工具列表 GetAvailableTools(ctx context.Context, mcpCtx *models.MCPContext) ([]models.Tool, error) // HandleToolCall 处理工具调用 HandleToolCall(ctx context.Context, call *models.ToolCall, mcpCtx *models.MCPContext) (*models.ToolResult, error) // GetServers 获取已注册的服务器列表 GetServers() map[string]MCPServer // GetMetrics 获取执行指标 GetMetrics() map[string]*models.ExecutionMetrics // Shutdown 关闭管理器和所有服务器 Shutdown(ctx context.Context) error }
MCPManager MCP管理器接口
type MCPServer ¶
type MCPServer interface { // GetInfo 获取服务器信息 GetInfo() *models.MCPServerInfo // GetTools 获取服务器提供的工具列表 GetTools() []models.Tool // IsAvailable 检查服务器是否在当前上下文中可用 IsAvailable(ctx context.Context, mcpCtx *models.MCPContext) bool // HandleToolCall 处理工具调用 HandleToolCall(ctx context.Context, call *models.ToolCall, mcpCtx *models.MCPContext) (*models.ToolResult, error) // Initialize 初始化服务器 Initialize(ctx context.Context) error // Shutdown 关闭服务器 Shutdown(ctx context.Context) error }
MCPServer MCP服务器接口
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager MCP管理器实现
func (*Manager) GetAvailableTools ¶
func (m *Manager) GetAvailableTools(ctx context.Context, mcpCtx *models.MCPContext) ([]models.Tool, error)
GetAvailableTools 获取可用工具列表
func (*Manager) GetMetrics ¶
func (m *Manager) GetMetrics() map[string]*models.ExecutionMetrics
GetMetrics 获取执行指标
func (*Manager) GetServers ¶
GetServers 获取已注册的服务器列表
func (*Manager) HandleToolCall ¶
func (m *Manager) HandleToolCall(ctx context.Context, call *models.ToolCall, mcpCtx *models.MCPContext) (*models.ToolResult, error)
HandleToolCall 处理工具调用
func (*Manager) RegisterServer ¶
RegisterServer 注册MCP服务器
func (*Manager) UnregisterServer ¶
UnregisterServer 取消注册MCP服务器
type ToolValidator ¶
type ToolValidator interface { // ValidateCall 验证工具调用 ValidateCall(call *models.ToolCall, tool *models.Tool) error // ValidatePermissions 验证权限 ValidatePermissions(call *models.ToolCall, mcpCtx *models.MCPContext) error // ValidateArguments 验证参数 ValidateArguments(args map[string]interface{}, schema *models.JSONSchema) error }
ToolValidator 工具验证器接口
Click to show internal directories.
Click to hide internal directories.