Documentation
¶
Index ¶
- func BuildMCPToolName(toolName, serverName string) string
- func McpService() *mcpService
- func ParseMCPToolName(fullToolName string) (toolName, serverName string, err error)
- type MCPHost
- func (m *MCPHost) AddServer(config ServerConfig) error
- func (m *MCPHost) Close()
- func (m *MCPHost) ConnectServer(ctx context.Context, serverName string) error
- func (m *MCPHost) ExecTools(ctx context.Context, toolCalls []openai.ToolCall) []models.MCPToolCallResult
- func (m *MCPHost) GetAllTools(ctx context.Context) []openai.Tool
- func (m *MCPHost) GetClient(ctx context.Context, serverName string) (*client.Client, error)
- func (m *MCPHost) GetPrompts(ctx context.Context, serverName string) ([]mcp.Prompt, error)
- func (m *MCPHost) GetResources(ctx context.Context, serverName string) ([]mcp.Resource, error)
- func (m *MCPHost) GetServerNameByToolName(toolName string) string
- func (m *MCPHost) GetTools(ctx context.Context, serverName string) ([]mcp.Tool, error)
- func (m *MCPHost) ListServers() []MCPServer
- func (m *MCPHost) LogToolExecution(ctx context.Context, toolName, serverName string, parameters any, ...)
- func (m *MCPHost) RemoveServer(config ServerConfig)
- func (m *MCPHost) RemoveServerById(id uint)
- func (m *MCPHost) SyncServerCapabilities(ctx context.Context, serverName string) error
- type MCPServer
- type ServerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildMCPToolName ¶
BuildMCPToolName 构建完整的工具名称
func McpService ¶
func McpService() *mcpService
func ParseMCPToolName ¶
ParseMCPToolName 从完整的工具名称中解析出服务器名称
Types ¶
type MCPHost ¶
type MCPHost struct {
// 记录每个服务器的工具列表
Tools map[string][]mcp.Tool
// 记录每个服务器的资源能力
Resources map[string][]mcp.Resource
// 记录每个服务器的提示能力
Prompts map[string][]mcp.Prompt
// contains filtered or unexported fields
}
MCPHost MCP服务器管理器
func (*MCPHost) AddServer ¶
func (m *MCPHost) AddServer(config ServerConfig) error
AddServer 添加服务器配置
func (*MCPHost) ConnectServer ¶
ConnectServer 连接到指定服务器
func (*MCPHost) GetPrompts ¶
GetPrompts 获取指定服务器的提示能力
func (*MCPHost) GetResources ¶
GetResources 获取指定服务器的资源能力
func (*MCPHost) GetServerNameByToolName ¶
GetServerNameByToolName 根据工具名称获取对应的服务器名称 如果多个服务器都提供了相同的工具,返回第一个找到的服务器名称,有一定的随机性 如果没有找到对应的服务器,返回空字符串
func (*MCPHost) ListServers ¶
func (*MCPHost) LogToolExecution ¶
func (m *MCPHost) LogToolExecution(ctx context.Context, toolName, serverName string, parameters any, result models.MCPToolCallResult, executeTime int64)
LogToolExecution 记录工具执行日志
func (*MCPHost) RemoveServer ¶
func (m *MCPHost) RemoveServer(config ServerConfig)
func (*MCPHost) RemoveServerById ¶
type MCPServer ¶
type MCPServer struct {
ServerConfig
Config ServerConfig `json:"config,omitempty"`
Tools []mcp.Tool `json:"tools,omitempty"`
Resources []mcp.Resource `json:"resources,omitempty"`
Prompts []mcp.Prompt `json:"prompts,omitempty"`
InitializeResults *mcp.InitializeResult `json:"initialize_results,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.