import json from typing import Any from django.conf import settings from apps.utils.tools import MyJSONEncoder def json_safe_result(value: Any) -> Any: return json.loads(json.dumps(value, cls=MyJSONEncoder, ensure_ascii=False)) def validate_result_size(value: Any) -> None: encoded = json.dumps(value, ensure_ascii=False, separators=(",", ":")).encode() if len(encoded) > settings.MCP_MAX_RESULT_BYTES: raise RuntimeError( "工具结果超过 MCP 响应上限,请缩小查询范围或增加筛选参数" )