首先,感谢慢雾,很好的工具分享!!
反馈一个小问题,claude 中导入MasterMCP后,给MasterMCP发送请求时,发现claude中会有日志报错。
claude 相关日志如下:
2025-06-23T07:04:59.417Z [MasterMCP] [info] Message from server: {"jsonrpc":"2.0","id":24,"result":{"prompts":[{"name":"analyze_json","description":"Generate detailed analysis prompt for JSON data","arguments":[{"name":"url","required":true},{"name":"format_type","required":true}]}]}} { metadata: undefined }
2025-06-23T07:08:44.072Z [MasterMCP] [error] Unexpected token 'I', "INFO: "... is not valid JSON {
metadata: {
context: 'connection',
stack: SyntaxError: Unexpected token 'I', "INFO: "... is not valid JSON\n +
' at JSON.parse ()\n' +
' at c8e (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:125:206)\n' +
' at o8e.readMessage (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:125:133)\n' +
' at f8e.processReadBuffer (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:126:2101)\n' +
' at Socket. (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:126:1655)\n' +
' at Socket.emit (node:events:518:28)\n' +
' at addChunk (node:internal/streams/readable:561:12)\n' +
' at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n' +
' at Readable.push (node:internal/streams/readable:392:5)\n' +
' at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)'
}
}
分析原因:
MasterMCP log info日志写入stdio,与MCP Server采用的传输层stdio冲突,也就是MasterMCP会将收到的log也当做json来处理,所以触发上述问题。
解决方案:
在MasterMCP中奖log配置中增加stream设置为sys.stderr,与stdio区分开,避免日志数据和MCP传输的数据混淆。
Configure logging system
logging.basicConfig(
level=logging.INFO,
stream=sys.stderr,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
首先,感谢慢雾,很好的工具分享!!
反馈一个小问题,claude 中导入MasterMCP后,给MasterMCP发送请求时,发现claude中会有日志报错。
claude 相关日志如下:
2025-06-23T07:04:59.417Z [MasterMCP] [info] Message from server: {"jsonrpc":"2.0","id":24,"result":{"prompts":[{"name":"analyze_json","description":"Generate detailed analysis prompt for JSON data","arguments":[{"name":"url","required":true},{"name":"format_type","required":true}]}]}} { metadata: undefined }
2025-06-23T07:08:44.072Z [MasterMCP] [error] Unexpected token 'I', "INFO: "... is not valid JSON {
metadata: {
context: 'connection',
stack:
SyntaxError: Unexpected token 'I', "INFO: "... is not valid JSON\n+' at JSON.parse ()\n' +
' at c8e (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:125:206)\n' +
' at o8e.readMessage (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:125:133)\n' +
' at f8e.processReadBuffer (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:126:2101)\n' +
' at Socket. (C:\Users\xxx\AppData\Local\AnthropicClaude\app-0.10.38\resources\app.asar\.vite\build\index.js:126:1655)\n' +
' at Socket.emit (node:events:518:28)\n' +
' at addChunk (node:internal/streams/readable:561:12)\n' +
' at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n' +
' at Readable.push (node:internal/streams/readable:392:5)\n' +
' at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)'
}
}
分析原因:
MasterMCP log info日志写入stdio,与MCP Server采用的传输层stdio冲突,也就是MasterMCP会将收到的log也当做json来处理,所以触发上述问题。
解决方案:
在MasterMCP中奖log配置中增加stream设置为sys.stderr,与stdio区分开,避免日志数据和MCP传输的数据混淆。
Configure logging system
logging.basicConfig(
level=logging.INFO,
stream=sys.stderr,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)