STACK with the OpenAI Agents SDK

Why this matters

The OpenAI Agents SDK gives you the building blocks for an LLM-driven agent loop in code: Agent, Runner, Tools, Handoffs. You write the orchestration yourself, in Python or TypeScript, and you keep full control of the runtime. For self-hosted backends, scheduled jobs, or apps where the agent loop sits inside your own service, that's the right shape.

STACK plugs in as one more MCP server in that loop. The agent process holds a passport while STACK holds the credentials and injects them server-side at the moment of each outbound call. Whatever the agent reaches (Slack, GitHub, Stripe, an internal API, a service you wrote yesterday) runs through one chain you control.

The Agents SDK is intentionally lean. You write the agent loop using Agent, Runner, Tools, and Handoffs, and that's the surface. Everything around it (where credentials live, what gets logged when an agent makes a call, how one agent hands work off to another in tomorrow's deploy, who can pull the kill switch when something goes wrong at 3am) the SDK leaves to you on purpose. STACK provides each of those layers through one MCP-server registration, and the same plumbing follows whichever runtime your loop ends up on.

What it unlocks

Three things STACK adds to an Agents-SDK deployment that the SDK alone leaves to you:

  • The whole STACK package, in one MCP registration. The SDK ships Agent, Runner, Tools, and Handoffs. That's the agent loop. Plug STACK in and you get the rest: credentials out of the agent process, identity verification on demand, the shared execution surface for your team's connected services, runtime detectors at the proxy, hash-chained audit, sub-60-second revocation, drop-offs for cross-process hand-offs, and the skills marketplace. None of those ship natively in the SDK, and all of them ship through one MCP-server reference.
  • A second runtime layer the SDK doesn't ship. Agent, Runner, Tools, and Handoffs are the orchestration. STACK is the second runtime layer underneath: every Tool call routes through the proxy, every Handoff can be checkpointed, every Runner.run() pass is auditable down to the action. The SDK reasons about what the LLM should do next; STACK is the record of what actually happened.
  • Handoffs that cross the process boundary. SDK Handoffs are an in-process primitive. Agent A passes the conversation to Agent B inside the same Runner. STACK drop-offs are the cross-boundary version: Agent A drops a schema-validated payload, and the agent that picks it up could be in a different process, a different language, a different cloud, or a different framework entirely. Same conceptual shape, durable across the runtime gap.

Wiring it up

Install openai-agents, grab a STACK API key from the dashboard, and add MCPServerStreamableHttp to the agent's mcp_servers list. Step-by-step setup, working Python code, and the tools the agent gets:

/docs/integrations/openai-agents-sdk

Last reviewed 2026-05-08. Verified against the OpenAI Agents SDK Python docs.

stack | STACK with the OpenAI Agents SDK