OpenAI Agents SDK가 MCP를 받아들이다
Anthropic이 만든 MCP를 OpenAI의 Agents SDK가 공식 지원한다. 에이전트와 외부 도구를 잇는 방식이 표준으로 수렴하고 있다는 신호다.

OpenAI 의 Agents SDK 가 이제 Model Context Protocol(MCP)을 공식 지원한다.
LLM 기반 에이전트를 만들 때 외부 도구나 실시간 데이터 소스와 유연하고 표준화된 방식으로 연결하는 것은 매우 중요하다. MCP 는 바로 그 요구를 채우는 개방형 프로토콜이다.
MCP 가 무엇인가
MCP 는 애플리케이션이 LLM 에게 필요한 컨텍스트와 도구(Tools)를 제공하는 방법을 표준화한다. AI 애플리케이션을 위한 ‘USB-C 포트’ 에 비유할 수 있다. 여러 주변 기기를 단일 표준 포트로 연결하듯, MCP 는 AI 모델을 여러 종류의 데이터 소스 및 외부 기능과 일관된 방식으로 연결한다.
Agents SDK 가 MCP 를 지원하면서, 개발자는 MCP 표준을 따르는 여러 서버를 Agents SDK 기반 에이전트에 더 쉽게 붙일 수 있게 됐다.
지원되는 서버 유형
MCP 사양은 현재 두 가지 주요 서버 유형을 정의하며, Agents SDK 는 둘 다 지원한다.
stdio 서버 — 애플리케이션의 하위 프로세스로 실행되어 로컬에서 작동한다. MCPServerStdio 클래스로 연결한다.
HTTP over SSE 서버 — 원격 서버 형태로 운영되며 URL 로 접속한다. MCPServerSse 클래스로 연결한다.
공식 MCP 파일시스템 서버를 MCPServerStdio 로 연결하는 예시다.
import asyncio
filesystem_path = "/path/to/your/data"
async def setup_mcp_server():
# stdio 방식으로 파일시스템 서버 실행 및 연결
async with MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", filesystem_path],
}
) as server:
print("MCP 서버가 성공적으로 시작되었습니다.")
# 사용 가능한 도구 목록 확인
tools = await server.list_tools()
print("사용 가능한 도구:", tools)
# 생성된 server 객체를 Agent 설정에 사용
agent = Agent(..., mcp_servers=[server])
asyncio.run(setup_mcp_server())
Agent 에 붙이는 법
MCP 서버를 Agent 에 통합하는 과정은 직관적이다. Agent 를 초기화할 때 mcp_servers 매개변수에 서버 객체 리스트를 넘기면 된다.
agent = Agent(
name="Assistant Agent",
instructions="제공된 도구를 사용하여 요청된 작업을 수행하십시오.",
mcp_servers=[mcp_server_stdio, mcp_server_sse] # 여러 서버 전달 가능
)
내부 동작 흐름은 이렇다.
- 에이전트가 실행될 때, SDK 는
mcp_servers목록 내 각 서버의list_tools()를 호출한다 - 이를 통해 LLM 은 지금 어떤 도구를 쓸 수 있는지 알게 된다
- LLM 이 특정 도구를 쓰기로 결정하면(Function Call), SDK 가 해당 서버의
call_tool()을 호출해 실행을 요청하고 결과를 받는다
캐싱
실행할 때마다 list_tools() 를 호출하는 것은, 특히 원격 서버라면 응답 지연을 만든다. 도구 목록이 자주 바뀌지 않는 환경이라면 캐싱으로 성능을 개선할 수 있다.
server_stdio_cached = MCPServerStdio(
params={...},
cache_tools_list=True
)
server_sse_cached = MCPServerSse(
params={...},
cache_tools_list=True
)
주의. 이 옵션은 도구 목록이 정적이라고 확신할 수 있을 때만 써야 한다. 목록이 바뀌면 캐시를 수동으로 갱신해야 할 수 있고, 필요하면 invalidate_tools_cache() 로 무효화한다.
예제와 추적
SDK 문서의 examples/mcp 디렉토리에서 MCP 연동 전체 예제를 볼 수 있다. 그리고 Agents SDK 의 추적(Tracing) 기능은 list_tools 호출이나 call_tool 실행 같은 MCP 관련 작업을 자동으로 기록해 디버깅과 동작 분석에 쓸 수 있다.
남는 이야기
Agents SDK 의 MCP 지원은 LLM 에이전트가 외부 도구 및 데이터 소스와 상호작용하는 방식을 표준화하고 단순화하는 중요한 진전이다. 이를 통해 더 유연하고 확장 가능한 에이전트를 효율적으로 만들 수 있게 된다.