OpenAI’s Responses API (March 2025) targets unified agent orchestration. If you build agents, understand this path—it differs from MCP’s open horizontal model.

Pre-Responses Pain

Multiple APIs, stitched by hand:

Chat Completions  → dialogue
Assistants API    → agents with tools (deprecated 2025)
Code Interpreter  → execution
File Search       → retrieval
Function Calling  → custom tools

Building one agent meant juggling APIs, IDs, and state. Assistants helped but was slow, state-heavy, inflexible.

Responses API Design

One entry point:

response = client.responses.create(
    model="gpt-4o",
    input="Analyze this sales CSV and find anomaly trends",
    tools=[
        {"type": "code_interpreter"},
        {"type": "file_search", "vector_store_ids": ["vs_abc123"]},
        {"type": "web_search_preview"},
        {"type": "function", "function": {
            "name": "query_crm",
            "description": "Query customer CRM",
            "parameters": {...}
        }}
    ],
    instructions="You are a data analyst. Reply in English."
)

One request—model picks tools, order, and synthesis.

Built-in Tools vs MCP

Responses APIMCP
Tool schemaOpenAI functionsMCP Tools/Resources
Built-inscode interpreter, file search, webnone (all servers)
Cross-platformOpenAI onlyany MCP host
Local executioncloud sandboxstdio local servers
Stateprevious_response_idhost-managed
Best forfast OpenAI-native agentsopen, local, multi-model

OpenAI = vertical integration. MCP = horizontal standard.

Internal Agent Loop (Simplified)

1. input + tools
2. LLM → answer or tool call
3. if tool: execute (built-in or function) → append → goto 2
4. return final response + trace

Same idea as harness loop controller—orchestration lives in OpenAI cloud.

Multi-Step Example

Input: "Compare Q3 vs Q4 sales, explain decline, write report"

Step 1: file_search → CSVs
Step 2: code_interpreter → pandas + charts
Step 3: web_search → industry Q4 trends
Step 4: code_interpreter → markdown report
Step 5: final output

One API call from your app; OpenAI runs the loop.

Computer Use

Computer tool via Responses API:

Agent can:
  - view screenshots
  - move mouse, click
  - type
  - operate GUI apps

Same class as Devin / Claude computer use—UI automation without APIs.

Good for legacy systems with no API.

Production Tradeoffs

Pros

  • Fastest time-to-agent (built-in tools)
  • Strong internal tool routing
  • Simple multi-turn via previous_response_id

Cons

  • Vendor lock-in
  • Multi-step token burn (each step re-calls LLM)
  • Limited local/private tooling
  • Higher P99 latency vs local harness

Cost Sketch (5-step GPT-4o task)

Steps accumulate context → ~37K tokens total ≈ $0.15–0.30 per task

1000 users × 3 tasks/day → $450–900/day

Agent orchestration often 5–10× chat cost.

When to Choose Which

Responses API if:
  ✅ MVP speed, OpenAI models enough
  ✅ no on-prem requirement
  ✅ built-ins cover needs
  ✅ don't want to maintain harness

MCP + custom harness if:
  ✅ multi-model (Claude + GPT + local)
  ✅ local/private execution
  ✅ deep harness customization
  ✅ long-term cost and vendor control

References

Summary

Responses API = cloud-all-in-one agent orchestration—simple, fast, OpenAI-bound. MCP + harness = open ecosystem—flexible, heavier engineering. Choose by stage and constraints.

Return to the AI series index for the full catalog.