MCPcopy Create free account
hub / github.com/astercloud/aster / ToolFactory

Function ToolFactory

pkg/tools/mcp/adapter.go:80–96  ·  view source on GitHub ↗

ToolFactory 创建 MCP 工具工厂函数

(mcpClient *cloud.MCPClient, mcpTool cloud.MCPTool)

Source from the content-addressed store, hash-verified

78
79// ToolFactory 创建 MCP 工具工厂函数
80func ToolFactory(mcpClient *cloud.MCPClient, mcpTool cloud.MCPTool) tools.ToolFactory {
81 return func(config map[string]any) (tools.Tool, error) {
82 // 从配置中提取自定义 prompt (可选)
83 prompt := ""
84 if p, ok := config["prompt"].(string); ok {
85 prompt = p
86 }
87
88 return NewMCPToolAdapter(&MCPToolAdapterConfig{
89 Client: mcpClient,
90 Name: mcpTool.Name,
91 Description: mcpTool.Description,
92 InputSchema: mcpTool.InputSchema,
93 Prompt: prompt,
94 }), nil
95 }
96}

Callers 3

RegisterToolsMethod · 0.70
RegisterToolDeferredMethod · 0.70
TestToolFactoryFunction · 0.70

Calls 1

NewMCPToolAdapterFunction · 0.85

Tested by 1

TestToolFactoryFunction · 0.56