mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-20 07:14:24 +01:00
fix return values of tools
This commit is contained in:
@@ -265,30 +265,8 @@ class Server:
|
|||||||
async def handler(req: types.CallToolRequest):
|
async def handler(req: types.CallToolRequest):
|
||||||
try:
|
try:
|
||||||
results = await func(req.params.name, (req.params.arguments or {}))
|
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(
|
return types.ServerResult(
|
||||||
types.CallToolResult(content=content, isError=False)
|
types.CallToolResult(content=list(results), isError=False)
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return types.ServerResult(
|
return types.ServerResult(
|
||||||
|
|||||||
Reference in New Issue
Block a user