Merge pull request #1060 from alonehobo/fix/stdio-utf8
fix(mcp): force UTF-8 on stdio to fix -32000 on non-ASCII payloads (Windows)
This commit is contained in:
@@ -2086,6 +2086,16 @@ def _restore_stdout():
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
_restore_stdout()
|
_restore_stdout()
|
||||||
|
# Force UTF-8 on stdio. MCP JSON-RPC is UTF-8, but Python on Windows
|
||||||
|
# defaults stdin/stdout to the system codepage (e.g. cp1251), which
|
||||||
|
# corrupts non-ASCII payloads and surfaces as generic -32000 errors on
|
||||||
|
# Cyrillic/CJK content. See PEP 540.
|
||||||
|
for stream in (sys.stdin, sys.stdout):
|
||||||
|
if hasattr(stream, "reconfigure"):
|
||||||
|
try:
|
||||||
|
stream.reconfigure(encoding="utf-8", errors="replace")
|
||||||
|
except (AttributeError, OSError):
|
||||||
|
pass
|
||||||
logger.info("MemPalace MCP Server starting...")
|
logger.info("MemPalace MCP Server starting...")
|
||||||
# Pre-flight: probe HNSW capacity before any tool call so the warning
|
# Pre-flight: probe HNSW capacity before any tool call so the warning
|
||||||
# is visible at startup rather than on first use (#1222). Pure
|
# is visible at startup rather than on first use (#1222). Pure
|
||||||
|
|||||||
Reference in New Issue
Block a user