Realtime API not generating response after MCP call

Hello, I am working with the Realtime API and the gpt-realtime-1.5 model (although I have also tested gpt-realtime-2 and encountered the same issue). I have configured an MCP server as a tool, and I have verified that it returns the correct response and that there are no authentication problems.

The issue is that, after any interaction with the model that triggers an MCP call, the call is completed, but the model no longer responds unless it is asked a direct question. In that case, it confirms that it has received the data correctly.

From the logs of the received events, the sequence appears to be as follows:

  1. I ask a question that triggers the MCP request, for example: “What will the weather be like today?”
  2. I see “response.mcp_call_arguments.done” in the logs.
  3. The model replies that it is retrieving the data, and I see “realtime.response” in the events.
  4. I see “response.mcp_call.in_progress” in the logs.
  5. I see “response.mcp_call.completed” in the logs.

After that, however, there is only silence: the model does not respond any further. As a workaround, I can intercept the “mcp_call.completed” event and force a “response.create”, but I would prefer to understand whether I am doing something incorrectly or whether this is a known bug.

Thank you!

Hi and welcome back!
Thanks for raising this issue. I am able to reproduce it and will ping the team to take a look.

With gpt-realtime-1.5 there is a response.done before response.mcp_call.completed and when the MCP output completes there is no assistant message afterwards.

With gpt-realtime-2 I see a pre-tool “checking” message, then response.done and MCP completed but again no post-MCP assistant answer.

Hi, thanks for checking it. Notice that the initial “response.done” is just because the model answers something like “let me get the data…”. But then, never answers back with the actual data.

Hi, is there an update on this?

Hey bragma, We are looking into this with our engineering team and will get back to you shortly. Thanks for raising this issue in our community.

hey. could you share this with the engineering team: “WebRTC: ICE failed, add a TURN server and see about:webrtc for more details”, everything is being correctly set up according to the documentation, using realtime-2.1 over here

@bragma I think its a bug

edit: its been documented on github Firefox WebRTC Realtime sessions disconnect mid-turn; likely ICE consent / USE-CANDIDATE interop · Issue #1353 · openai/openai-agents-js · GitHub

so, are you using firefox? this might be the issue…

Hey @bragma, thanks for bearing with us on this! We checked, and your MCP server isn’t the issue—the tool call is completing successfully. With the current Realtime MCP flow, send one response.create after both the original response and the MCP call have completed so the model can use the tool result and generate its final answer.

We’ve also flagged that the documentation doesn’t clearly explain this extra step. Thanks again for bringing it to our attention!