MCPcopy
hub / github.com/the-open-agent/openagent / buildToolSetForBuiltinTool

Function buildToolSetForBuiltinTool

object/message_tool.go:26–61  ·  view source on GitHub ↗
(toolName, user, origin, lang string)

Source from the content-addressed store, hash-verified

24)
25
26func buildToolSetForBuiltinTool(toolName, user, origin, lang string) (*mcp.ToolSet, error) {
27 if toolName == "" {
28 return nil, nil
29 }
30
31 id := util.GetIdFromOwnerAndName("admin", toolName)
32 t, err := GetTool(id)
33 if err != nil {
34 return nil, err
35 }
36 if t == nil {
37 return nil, nil
38 }
39
40 tp, err := tool.New(getToolConfig(t), lang)
41 if err != nil {
42 return nil, err
43 }
44
45 reg := tool.NewToolRegistry()
46 for _, t := range tp.BuiltinTools() {
47 wrapped := wrapSnapshotBuiltin("admin", t)
48 wrapped = wrapGeneratedResourceBuiltin(wrapped, "admin", user, origin)
49 reg.RegisterTool(wrapped)
50 }
51
52 allTools := reg.GetToolsAsProtocolTools()
53 if len(allTools) == 0 {
54 return nil, nil
55 }
56
57 return &mcp.ToolSet{
58 Tools: allTools,
59 BuiltinTools: reg,
60 }, nil
61}
62
63func GetAnswerWithTool(modelProviderName, toolName, question, user, origin, lang string) (string, *model.ModelResult, error) {
64 modelProvider, modelProviderObj, err := GetModelProviderFromContext("admin", modelProviderName, lang)

Callers 1

GetAnswerWithToolFunction · 0.85

Calls 10

RegisterToolMethod · 0.95
GetIdFromOwnerAndNameFunction · 0.92
NewFunction · 0.92
NewToolRegistryFunction · 0.92
GetToolFunction · 0.85
getToolConfigFunction · 0.85
wrapSnapshotBuiltinFunction · 0.85
BuiltinToolsMethod · 0.65

Tested by

no test coverage detected