From fe3a41194e7b2306e5fef832aa6bb9a37bf43945 Mon Sep 17 00:00:00 2001 From: Novice Date: Thu, 10 Jul 2025 10:25:29 +0800 Subject: [PATCH] fix: the parsing of list type returned by MCP --- api/core/tools/mcp_tool/tool.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/api/core/tools/mcp_tool/tool.py b/api/core/tools/mcp_tool/tool.py index da66da673b..876d6079cc 100644 --- a/api/core/tools/mcp_tool/tool.py +++ b/api/core/tools/mcp_tool/tool.py @@ -56,7 +56,14 @@ class MCPTool(Tool): if isinstance(content, TextContent): yield self.create_text_message(content.text) try: - yield self.create_json_message(json.loads(content.text)) + content_json = json.loads(content.text) + if isinstance(content_json, dict): + yield self.create_json_message(content_json) + elif isinstance(content_json, list): + for item in content_json: + yield self.create_json_message(item) + else: + pass except json.JSONDecodeError: pass