8.4 Responses API

The Responses API accepts MCP servers as first-class tools. Minimal request shape:

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "input": "Where does my son live?",
    "tools": [
      {
        "type": "mcp",
        "server_label": "ownsona",
        "server_url": "https://ownsona.example.com/mcp",
        "headers": { "Authorization": "Bearer <OWNSONA_API_TOKEN>" },
        "require_approval": "never"
      }
    ]
  }'

require_approval: "never" tells the API to call tools without prompting the user. Suitable for backend services where there’s no human in the loop.

A walk through one full interaction:

  1. Your request comes in.
  2. OpenAI sees the recall tool in the MCP server list and decides the question needs it.
  3. OpenAI calls POST /mcp with bearer auth.
  4. OwnSona returns matches.
  5. OpenAI uses the matches to compose the answer.
  6. OpenAI returns the final text response to your code.

All of this happens server-side in OpenAI’s infrastructure — your code makes one HTTP call.