fix return values of tools

This commit is contained in:
David Soria Parra
2024-11-20 11:24:18 +00:00
parent dee1bd0d9f
commit 07d3b2fca5

View File

@@ -265,30 +265,8 @@ class Server:
async def handler(req: types.CallToolRequest):
try:
results = await func(req.params.name, (req.params.arguments or {}))
content = []
for result in results:
match result:
case str() as text:
content.append(
types.TextContent(type="text", text=text)
)
case types.ImageContent() as img:
content.append(
types.ImageContent(
type="image",
data=img.data,
mimeType=img.mimeType,
)
)
case types.EmbeddedResource() as resource:
content.append(
types.EmbeddedResource(
type="resource", resource=resource.resource
)
)
return types.ServerResult(
types.CallToolResult(content=content, isError=False)
types.CallToolResult(content=list(results), isError=False)
)
except Exception as e:
return types.ServerResult(