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.