ChatGPT | MCP: tool calls blocked by OpenAI

,

Hi everyone,

I’m trying to use the Home Assistant MCP Server together with ChatGPT so that I can call Home Assistant tools from ChatGPT. The basic connectivity and OAuth flow seem to work, but the actual tool execution is being blocked upstream and never reaches Home Assistant.

I’ll try to describe the goal, my setup, what I’ve done, and what I’m seeing.


Goal

Use ChatGPT (with MCP support) to call tools from the Home Assistant MCP Server (for example GetDateTime, and later other tools) against my Home Assistant instance, mainly to validate that the MCP integration is working end-to-end.


Environment

  • Home Assistant version: 2025.12.0
  • Installation type: Running as Docker Container
  • Accessibility: Home Assistant instance is publicly exposed on the internet (remote access enabled through Cloudflare)
  • Client: ChatGPT Plus subscription
  • ChatGPT mode: Developer mode enabled
  • MCP Server: Home Assistant MCP Server configured according to the official documentation

What works so far

  • :white_check_mark: The MCP Server is configured and discovered by ChatGPT.
  • :white_check_mark: The OAuth flow completes successfully (authorization step works end-to-end).
  • :white_check_mark: The available tools from the Home Assistant MCP Server are listed correctly in the client (for example, I can see a GetDateTime tool exposed).

So the basic connection, discovery, and authentication pieces appear to be in place.


The problem

When I try to actually execute a tool like GetDateTime from ChatGPT:

  • The request is blocked by OpenAI’s tool runtime before it reaches Home Assistant.
  • The failure is reported as a safety / security validation issue, not as an authentication or parameter error.
  • From what I can tell, no call is made to Home Assistant (or CloudFlare proxy logs) for that tool execution (it appears to be stopped upstream).

I used GetDateTime on purpose because it is a simple, side-effect-free tool, just to validate that tool calls work at all.


Error / message returned

This is the message I get back when the tool is invoked:

This tool call was blocked by OpenAI because we couldn't determine the safety status of the request.

There is no additional stack trace or error detail exposed in the ChatGPT UI, and since the call is blocked there, it looks like Home Assistant never sees the request.


What I expected

I expected that, once:

  • the MCP Server is configured and reachable,
  • OAuth is successfully completed, and
  • the tool (GetDateTime) is visible in the tool list,

then a basic tool call would at least reach Home Assistant (or fail with some HA-side error if misconfigured there).

Instead, the call is blocked before it ever gets that far.


What I’ve already done / checked

  • Verified that the MCP Server is correctly registered and visible in ChatGPT.
  • Completed the OAuth flow without any apparent errors.
  • Confirmed that tools, including GetDateTime, are listed and selectable.
  • Tried again with simple, straightforward tool calls (no special parameters).

Because the error message clearly comes from the OpenAI side (“we couldn’t determine the safety status of the request”), I’m not sure whether:

  • there is something I still need to configure in the Home Assistant MCP Server, or
  • this is simply a limitation / restriction on OpenAI’s MCP implementation when used from ChatGPT, regardless of the HA configuration.

Questions for the community

Has anyone here successfully used the Home Assistant MCP Server from ChatGPT (with MCP) and actually executed tools, not just discovered them?

After a few hours, I tested again, and it simply started working.

Maybe there was some kind of “synchronization” delay when adding a custom connector, but now everything is working correctly — including write actions like turning lights on and off.

Results are more reliable when clicking the “plus” button to explicitly request the MCP Server to execute the action. Still, the AI also does a good job of inferring when to use it, even when not expressly instructed.