mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-19 23:04:25 +01:00
Merge pull request #56 from modelcontextprotocol/davidsp/fix
fix return values of tools
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user