mcp

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToolFactory

func ToolFactory(mcpClient *cloud.MCPClient, mcpTool cloud.MCPTool) tools.ToolFactory

ToolFactory 创建 MCP 工具工厂函数

Types

type MCPManager

type MCPManager struct {
	// contains filtered or unexported fields
}

MCPManager MCP Server 管理器 管理多个 MCP Server 连接和工具注册

func NewMCPManager

func NewMCPManager(registry *tools.Registry) *MCPManager

NewMCPManager 创建 MCP Manager

func (*MCPManager) ActivateTool added in v0.17.0

func (m *MCPManager) ActivateTool(toolName string) error

ActivateTool 激活延迟加载的 MCP 工具

func (*MCPManager) AddServer

func (m *MCPManager) AddServer(config *MCPServerConfig) (*MCPServer, error)

AddServer 添加 MCP Server

func (*MCPManager) ConnectAll

func (m *MCPManager) ConnectAll(ctx context.Context) error

ConnectAll 连接所有已添加的 MCP Server

func (*MCPManager) ConnectAllDeferred added in v0.17.0

func (m *MCPManager) ConnectAllDeferred(ctx context.Context, index *search.ToolIndex) error

ConnectAllDeferred 连接所有 MCP Server 使用延迟加载模式

func (*MCPManager) ConnectServer

func (m *MCPManager) ConnectServer(ctx context.Context, serverID string) error

ConnectServer 连接指定的 MCP Server 并注册工具

func (*MCPManager) ConnectServerDeferred added in v0.17.0

func (m *MCPManager) ConnectServerDeferred(ctx context.Context, serverID string, index *search.ToolIndex) error

ConnectServerDeferred 连接 MCP Server 但使用延迟加载模式 只发现工具并添加到索引,不立即注册到 Registry

func (*MCPManager) GetAllToolIndexEntries added in v0.17.0

func (m *MCPManager) GetAllToolIndexEntries() []search.ToolIndexEntry

GetAllToolIndexEntries 获取所有服务器的工具索引条目

func (*MCPManager) GetServer

func (m *MCPManager) GetServer(serverID string) (*MCPServer, bool)

GetServer 获取指定的 MCP Server

func (*MCPManager) GetServerCount

func (m *MCPManager) GetServerCount() int

GetServerCount 获取 Server 数量

func (*MCPManager) GetTotalToolCount

func (m *MCPManager) GetTotalToolCount() int

GetTotalToolCount 获取所有 Server 提供的工具总数

func (*MCPManager) ListServers

func (m *MCPManager) ListServers() []string

ListServers 列出所有 Server ID

func (*MCPManager) RemoveServer

func (m *MCPManager) RemoveServer(serverID string) error

RemoveServer 移除 MCP Server

type MCPServer

type MCPServer struct {
	// contains filtered or unexported fields
}

MCPServer MCP Server 连接管理器

func NewMCPServer

func NewMCPServer(config *MCPServerConfig, registry *tools.Registry) (*MCPServer, error)

NewMCPServer 创建 MCP Server 连接

func (*MCPServer) Connect

func (s *MCPServer) Connect(ctx context.Context) error

Connect 连接到 MCP Server 并发现工具

func (*MCPServer) GetClient

func (s *MCPServer) GetClient() *cloud.MCPClient

GetClient 获取底层 MCP 客户端

func (*MCPServer) GetServerID

func (s *MCPServer) GetServerID() string

GetServerID 获取 Server ID

func (*MCPServer) GetToolCount

func (s *MCPServer) GetToolCount() int

GetToolCount 获取工具数量

func (*MCPServer) GetToolIndexEntries added in v0.17.0

func (s *MCPServer) GetToolIndexEntries() []search.ToolIndexEntry

GetToolIndexEntries 获取工具索引条目(用于延迟加载) 返回工具的元数据,但不实际注册到 Registry

func (*MCPServer) IndexToolsToIndex added in v0.17.0

func (s *MCPServer) IndexToolsToIndex(index *search.ToolIndex) error

IndexToolsToIndex 将工具添加到工具索引(延迟加载模式)

func (*MCPServer) ListTools

func (s *MCPServer) ListTools() []cloud.MCPTool

ListTools 返回已发现的工具列表

func (*MCPServer) RegisterToolDeferred added in v0.17.0

func (s *MCPServer) RegisterToolDeferred(toolName string) error

RegisterToolDeferred 延迟注册单个工具(按需激活时调用)

func (*MCPServer) RegisterTools

func (s *MCPServer) RegisterTools() error

RegisterTools 将 MCP 工具注册到 aster Registry

type MCPServerConfig

type MCPServerConfig struct {
	ServerID        string
	Endpoint        string
	AccessKeyID     string
	AccessKeySecret string
	SecurityToken   string
}

MCPServerConfig MCP Server 配置

type MCPToolAdapter

type MCPToolAdapter struct {
	// contains filtered or unexported fields
}

MCPToolAdapter 将 MCP 工具适配为 aster Tool 接口

func NewMCPToolAdapter

func NewMCPToolAdapter(config *MCPToolAdapterConfig) *MCPToolAdapter

NewMCPToolAdapter 创建 MCP 工具适配器

func (*MCPToolAdapter) Description

func (m *MCPToolAdapter) Description() string

Description 返回工具描述

func (*MCPToolAdapter) Execute

func (m *MCPToolAdapter) Execute(ctx context.Context, input map[string]any, tc *tools.ToolContext) (any, error)

Execute 执行 MCP 工具调用

func (*MCPToolAdapter) InputSchema

func (m *MCPToolAdapter) InputSchema() map[string]any

InputSchema 返回输入 JSON Schema

func (*MCPToolAdapter) Name

func (m *MCPToolAdapter) Name() string

Name 返回工具名称

func (*MCPToolAdapter) Prompt

func (m *MCPToolAdapter) Prompt() string

Prompt 返回工具使用说明

type MCPToolAdapterConfig

type MCPToolAdapterConfig struct {
	Client      *cloud.MCPClient
	Name        string
	Description string
	InputSchema map[string]any
	Prompt      string
}

MCPToolAdapterConfig MCP 工具适配器配置

Jump to

Keyboard shortcuts

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