Skip to content

Codex local MCP server can't open port #292

@IvanMurzak

Description

@IvanMurzak

If Unity-MCP is configured to work in CodeX as a local STDIO MCP server it fails to start ONLY if Codex launches it.

2025-10-26 13:20:42.2746 | TRACE | ToolRunnerCollection | Ctor. 
2025-10-26 13:20:42.2873 | TRACE | PromptRunnerCollection | Ctor. 
2025-10-26 13:20:42.2873 | TRACE | ResourceRunnerCollection | Ctor. 
2025-10-26 13:20:42.3015 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpRunner | Ctor 
2025-10-26 13:20:42.3015 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpRunner | Registered tools [0]: 
2025-10-26 13:20:42.3015 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpRunner | Registered resources [0]: 
2025-10-26 13:20:42.3015 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpPlugin | McpPlugin Ctor. 
2025-10-26 13:20:42.3015 | INFO  | com.IvanMurzak.Unity.MCP.Server.Program | Start listening on port: 8088 
2025-10-26 13:20:42.3400 | INFO  | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport reading messages. 
2025-10-26 13:20:42.3400 | TRACE | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport received message. Message: '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{"elicitation":{}},"clientInfo":{"name":"codex-mcp-client","title":"Codex","version":"0.50.0"}}}'. 
2025-10-26 13:20:42.3522 | DEBUG | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport received message with ID '0'. 
2025-10-26 13:20:42.3707 | TRACE | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0) session e2953baacd42403694d4678e162a8e8c created with transport stdio 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpRunner | Ctor 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpRunner | Registered tools [0]: 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Common.McpRunner | Registered resources [0]: 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Server.RequestTrackingService | RequestTrackingService initialized 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Server.RemoteToolRunner | Ctor. 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Server.RemotePromptRunner | Ctor. 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Server.RemoteResourceRunner | Ctor. 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Server.McpServerService | McpServerService Ctor. 
2025-10-26 13:20:42.3707 | TRACE | com.IvanMurzak.Unity.MCP.Server.McpServerService | McpServerService StartAsync. 
2025-10-26 13:20:42.3803 | DEBUG | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0) read JsonRpcRequest message from channel. 
2025-10-26 13:20:42.3803 | INFO  | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0) method 'initialize' request handler called. 
2025-10-26 13:20:42.3803 | INFO  | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0), Client (codex-mcp-client 0.50.0) method 'initialize' request handler completed. 
2025-10-26 13:20:42.3803 | TRACE | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0), Client (codex-mcp-client 0.50.0) sending message. Message: '{"result":{"protocolVersion":"2025-06-18","capabilities":{"logging":{},"prompts":{"listChanged":true},"tools":{"listChanged":true}},"serverInfo":{"name":"unity-mcp-server","version":"0.20.0.0"}},"id":0,"jsonrpc":"2.0"}'. 
2025-10-26 13:20:42.3960 | TRACE | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport received message. Message: '{"jsonrpc":"2.0","method":"notifications/initialized"}'. 
2025-10-26 13:20:42.3960 | DEBUG | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport received message with ID '(no id)'. 
2025-10-26 13:20:42.3960 | TRACE | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport received message. Message: '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"progressToken":0}}}'. 
2025-10-26 13:20:42.3960 | DEBUG | ModelContextProtocol.Server.StdioServerTransport | Server (stream) (unity-mcp-server) transport received message with ID '1'. 
2025-10-26 13:20:42.3960 | DEBUG | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0), Client (codex-mcp-client 0.50.0) read JsonRpcNotification message from channel. 
2025-10-26 13:20:42.3960 | DEBUG | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0), Client (codex-mcp-client 0.50.0) read JsonRpcRequest message from channel. 
2025-10-26 13:20:42.3960 | INFO  | ModelContextProtocol.Server.McpServer | Server (unity-mcp-server 0.20.0.0), Client (codex-mcp-client 0.50.0) method 'tools/list' request handler called. 
2025-10-26 13:20:42.3960 | TRACE | com.IvanMurzak.Unity.MCP.Server.ToolRouter | ListAll 
2025-10-26 13:20:42.3960 | ERROR | Microsoft.Extensions.Hosting.Internal.Host | Hosting failed to start System.Net.Sockets.SocketException (10106): The requested service provider could not be loaded or initialized.
   at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.AnyIPListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__14_1(IHostedService service, CancellationToken token)
   at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions