feat: adding tool annotation used by MCP

This commit is contained in:
Lance Galletti 2025-06-23 10:56:08 -04:00
parent 929ac618ce
commit 4b1330a84b
9 changed files with 160 additions and 0 deletions

View file

@ -843,6 +843,7 @@ class ChatAgent(ShieldRunnerMixin):
)
for param in tool_def.parameters
},
annotations=tool_def.annotations,
)
tool_name_to_args[tool_def.identifier] = toolgroup_to_args.get(toolgroup_name, {})

View file

@ -665,6 +665,7 @@ class OpenAIResponsesImpl:
},
"required": [p.name for p in t.parameters if p.required],
},
annotations=t.annotations,
)
)
else:

View file

@ -65,6 +65,7 @@ async def list_mcp_tools(endpoint: str, headers: dict[str, str]) -> ListToolDefs
description=param_schema.get("description", ""),
)
)
annotations = getattr(tool, "annotations", None)
tools.append(
ToolDef(
name=tool.name,
@ -73,6 +74,7 @@ async def list_mcp_tools(endpoint: str, headers: dict[str, str]) -> ListToolDefs
metadata={
"endpoint": endpoint,
},
annotations=annotations,
)
)
return ListToolDefsResponse(data=tools)