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

Method GetTool

pkg/tools/bridge/bridge.go:29–46  ·  view source on GitHub ↗

GetTool 获取或创建工具实例

(name string)

Source from the content-addressed store, hash-verified

27
28// GetTool 获取或创建工具实例
29func (b *ToolBridge) GetTool(name string) (tools.Tool, error) {
30 b.mu.Lock()
31 defer b.mu.Unlock()
32
33 // 检查缓存
34 if tool, exists := b.tools[name]; exists {
35 return tool, nil
36 }
37
38 // 从 registry 创建
39 tool, err := b.registry.Create(name, nil)
40 if err != nil {
41 return nil, fmt.Errorf("get tool %s: %w", name, err)
42 }
43
44 b.tools[name] = tool
45 return tool, nil
46}
47
48// CallToolInput 工具调用输入
49type CallToolInput struct {

Callers 6

CallToolMethod · 0.95
GetToolSchemaMethod · 0.95
handleActivationMethod · 0.45
InitializeMethod · 0.45
DeactivateToolMethod · 0.45
AddToolMethod · 0.45

Calls 1

CreateMethod · 0.65

Tested by

no test coverage detected