Summary
CompleteWithError (Engine/Plugins/Experimental/ModelContextProtocol/Source/ModelContextProtocol/Private/ModelContextProtocolServer.cpp, line 206) logs every JSON-RPC error reply at Error (line 208) before sending it. Most of those replies are the server answering a client correctly, not a server fault. So routine protocol negotiation fills the editor log with errors.
The common case is a new MCP handshake. MCP revision 2026-07-28 adds server/discover, which clients may call before anything else (Architecture - Model Context Protocol). Clients that implement it, Claude Code 2.1.299 among them, call it first and fall back to initialize when the server does not know it. The 5.8.3 server negotiates up to 2025-11-25, so it answers MethodNotFound (-32601) at line 575. That reply is correct: the client falls back and works normally. But each connection leaves this in the log:
LogModelContextProtocol: Error: Call to unknown method "server/discover"
The same path logs Error: Unknown session id '<id>' for 'tools/call'; client should reinitialize (line 593) whenever the editor restarts under a connected client. That 404 is the spec’s signal for the client to start a new session, and the client does.
A project cannot hide these lines without also hiding the category’s one real error, “Invalid MCP server URL path … server will not start” (line 421), because [Core.Log] filters by category, not by message.
Suggested fix: log client-side protocol errors (MethodNotFound, a missing or unknown session id, invalid params) at Log or Verbose, and keep Error for server faults. Implementing server/discover would also remove the common case.
What Type of Bug are you experiencing?
Editor
Steps to Reproduce
- Open any project in the UE 5.8.3 editor with the Model Context Protocol plugin enabled and its server running on the default port (8000).
- Send the request a 2026-07-28 client sends first:
curl -i -X POST http://127.0.0.1:8000/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{}}' - Search the Output Log for “server/discover”.
Connecting Claude Code (2.1.299) to the editor’s MCP server gives the same line on every connection.
Expected Result
The same reply (JSON-RPC error -32601), logged at Log or Verbose rather than Error, since the server is working as intended. Or, once the server implements MCP 2026-07-28, a server/discover result.
Observed Result
HTTP 400 with {"jsonrpc": "2.0", "id": 1, "error": {"code": -32601, "message": "Call to unknown method \"server/discover\""}}, and this line in the log:
LogModelContextProtocol: Error: Call to unknown method "server/discover"
With Claude Code connected there is one such error per session start. Each is followed within a second by Client requested protocol version '2025-11-25', negotiated '2025-11-25' and a session that works normally.
Tested on UE 5.8.3 (launcher build, CL 58210709), macOS 27.0.1, Xcode 27.1, Apple Silicon (M5 Pro).
Affects Versions
5.8
Platform(s)
Mac
Additional Notes
The plugin’s own test for this case (“should reject unknown method with MethodNotFound”, ModelContextProtocolEngineSubsystemTests.cpp, line 233) has to declare the line with AddExpectedError, because an unexpected Error log fails an automation test.
The code is not platform-specific. Only Mac was tested.