From 4b81d6e0a601ed93bd333623fccc9a78884b5947 Mon Sep 17 00:00:00 2001 From: GH Date: Thu, 24 Apr 2025 13:57:17 +0800 Subject: [PATCH 1/2] fix: preserve non-ASCII characters in JSON output Add ensure_ascii=False parameter to json.dumps() when converting results to JSON strings in _convert_to_content function. This prevents Unicode characters (like Chinese) from being escaped as \uXXXX sequences, making the output more readable and user-friendly for multilingual content. --- src/mcp/server/fastmcp/server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mcp/server/fastmcp/server.py b/src/mcp/server/fastmcp/server.py index d1550bc9cc..3fdaefd520 100644 --- a/src/mcp/server/fastmcp/server.py +++ b/src/mcp/server/fastmcp/server.py @@ -552,7 +552,7 @@ def _convert_to_content( if not isinstance(result, str): try: - result = json.dumps(pydantic_core.to_jsonable_python(result)) + result = json.dumps(pydantic_core.to_jsonable_python(result), ensure_ascii=False) except Exception: result = str(result) From c84404d85a5de3c040be6b97a33fa340ed2b46b5 Mon Sep 17 00:00:00 2001 From: GH Date: Fri, 25 Apr 2025 23:27:53 +0800 Subject: [PATCH 2/2] fix: preserve non-ASCII characters in JSON output --- src/mcp/server/fastmcp/server.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mcp/server/fastmcp/server.py b/src/mcp/server/fastmcp/server.py index 3fdaefd520..f6edd12670 100644 --- a/src/mcp/server/fastmcp/server.py +++ b/src/mcp/server/fastmcp/server.py @@ -552,7 +552,8 @@ def _convert_to_content( if not isinstance(result, str): try: - result = json.dumps(pydantic_core.to_jsonable_python(result), ensure_ascii=False) + result = json.dumps(pydantic_core.to_jsonable_python(result) + , ensure_ascii=False) except Exception: result = str(result)