Apidog

Plataforma de desarrollo de API colaborativa todo en uno

Diseño de API

Documentación de API

Depuración de API

Simulación de API

Prueba automatizada de API

Cómo construir servidores MCP con el SDK de Agentes de OpenAI

Aprende a crear servidores MCP con OpenAI Agents SDK. Guía técnica detallada con ejemplos prácticos y optimización para una integración perfecta. Ideal para desarrolladores que buscan mejorar la interoperabilidad de la IA.

Daniel Costa

Daniel Costa

Updated on April 15, 2025

El SDK de Agentes de OpenAI ahora es compatible con MCP (Protocolo de Contexto del Modelo), un cambio radical para la interoperabilidad de la IA. Esto permite a los desarrolladores conectar modelos de IA a herramientas externas y fuentes de datos de manera eficiente. En esta guía técnica, lo guiaremos a través de la creación de servidores MCP con el SDK de Agentes de OpenAI para mejorar sus aplicaciones de IA.

💡
¿Desea optimizar el desarrollo de su API? Pruebe Apidog, una herramienta poderosa para diseñar, probar y administrar API, perfecta para acelerar su ciclo de desarrollo de API.
button

¿Qué son los servidores MCP y por qué usarlos con el SDK de Agentes de OpenAI?

MCP (Protocolo de Contexto del Modelo) es un protocolo abierto que estandariza la forma en que las aplicaciones proporcionan contexto a los modelos de lenguaje grandes (LLM). Piense en MCP como un puerto USB-C para aplicaciones de IA: actúa como un conector universal que permite que los modelos de IA interactúen con diferentes fuentes de datos y herramientas sin problemas.

El SDK de Agentes de OpenAI integra servidores MCP para permitir que los agentes accedan a herramientas y datos externos. El uso de servidores MCP garantiza una interacción fluida entre su agente de IA y los recursos tanto remotos como locales. Esta integración reduce la complejidad en la llamada a herramientas y mejora la funcionalidad del agente.

Aquí hay algunos ejemplos que puede construir con combinaciones de OpenAI + Servidor MCP:

Pasos para usar la integración MCP de OpenAI

Requisitos previos para construir servidores MCP con el SDK de Agentes de OpenAI

Antes de comenzar, asegúrese de tener:

  • Python 3.8 o superior instalado en su sistema
  • SDK de Agentes de OpenAI instalado a través de pip: pip install openai-agents
  • Node.js configurado para ejecutar comandos del servidor MCP como npx para ciertos ejemplos
  • Un directorio de proyecto con un entorno virtual inicializado para la gestión de dependencias
  • Comprensión básica de la programación asíncrona en Python, ya que el SDK usa async/await

Paso 1: Configure su entorno de desarrollo para servidores MCP

# Create a new directory for your project
mkdir mcp-agent-project && cd mcp-agent-project

# Initialize a Python virtual environment
python -m venv venv && source venv/bin/activate

# Install the required dependencies
pip install openai-agents pyyaml

Configure un archivo de configuración llamado mcp_agent.config.yaml para definir los servidores MCP. Esta configuración apunta a un servidor MCP del sistema de archivos para acceder a archivos locales.

Paso 2: Comprenda los tipos de servidores MCP en el SDK de Agentes de OpenAI

Los servidores MCP vienen en dos tipos según se definen en la especificación MCP:

  1. servidores stdio: se ejecutan localmente como un subproceso de su aplicación
  2. servidores HTTP sobre SSE: operan de forma remota y se conectan a través de una URL

El SDK de Agentes de OpenAI proporciona dos clases para manejar estos servidores:

  • MCPServerStdio: para servidores locales basados en subprocesos
  • MCPServerSse: para servidores HTTP sobre SSE remotos

Elija el tipo de servidor según la arquitectura de su aplicación y los requisitos de latencia. Los servidores Stdio son ideales para el desarrollo local, mientras que los servidores SSE son más adecuados para sistemas distribuidos.

Paso 3: Conecte un servidor MCP a su agente de OpenAI

Importe las clases necesarias del SDK de Agentes de OpenAI y defina su servidor MCP:

from openai_agents import Agent, MCPServerStdio

# Define path to your sample files
samples_dir = "/path/to/your/files"

# Use async context manager to initialize the server
async with MCPServerStdio(
    params={
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", samples_dir],
    }
) as server:
    # List tools provided by the MCP server
    tools = await server.list_tools()

    # Create an agent that uses the MCP server
    agent = Agent(
        name="Assistant",
        instructions="Use the filesystem tools to help the user with their tasks.",
        mcp_servers=[server]
    )

    # Run the agent
    result = await agent.run("List the files in the directory.")

Esta configuración permite que el agente use herramientas del sistema de archivos dinámicamente durante la ejecución.

Paso 4: Optimice el rendimiento con el almacenamiento en caché de herramientas

Los servidores MCP llaman a list_tools() cada vez que se ejecuta un agente, lo que puede introducir latencia, especialmente con servidores remotos. Para reducir esta sobrecarga, puede habilitar el almacenamiento en caché de herramientas:

# Enable caching when initializing the server
async with MCPServerStdio(
    params={
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", samples_dir],
    },
    cache_tools_list=True  # Enable caching
) as server:
    # The tools list will be cached after the first call
    tools = await server.list_tools()

Consideraciones importantes para el almacenamiento en caché:

  • Solo use el almacenamiento en caché si está seguro de que la lista de herramientas no cambiará durante el tiempo de ejecución
  • Si es necesario actualizar las herramientas, invalide la caché: await server.invalidate_tools_cache()
  • El almacenamiento en caché funciona tanto para servidores stdio como para SSE, con mayores beneficios de rendimiento para servidores remotos

Paso 5: Implemente la integración del servidor MCP con el flujo de trabajo de sus agentes

Para integrar completamente los servidores MCP con su agente:

from openai_agents import Agent, MCPServerStdio, MCPServerSse

async def run_agent_with_mcp_servers():
    # Initialize local stdio MCP server
    local_server = MCPServerStdio(
        params={
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-filesystem", "./local_files"],
        },
        cache_tools_list=True
    )

    # Initialize remote SSE MCP server (if needed)
    remote_server = MCPServerSse(
        url="<https://your-remote-mcp-server.com/stream>",
        cache_tools_list=True
    )

    async with local_server, remote_server:
        # Create agent with both servers
        agent = Agent(
            name="MultiToolAgent",
            instructions="Use the available tools to accomplish tasks.",
            mcp_servers=[local_server, remote_server]
        )

        # Run the agent
        result = await agent.run("Complete the requested task using appropriate tools.")
        return result

Este enfoque le da a su agente acceso a herramientas tanto locales como remotas a través de interfaces MCP estandarizadas.

Paso 6: Depure y supervise sus servidores MCP

Las estrategias efectivas de depuración y supervisión incluyen:

  • Verificar los registros del servidor MCP en busca de errores durante la ejecución de la herramienta
  • Usar el panel de seguimiento del SDK de Agentes de OpenAI para supervisar las llamadas a herramientas
  • Probar casos extremos como nombres de herramientas no válidos o tiempo de inactividad del servidor para garantizar la solidez
  • Supervisar la latencia al usar servidores SSE remotos y optimizar con el almacenamiento en caché si es necesario
  • Aprovechar la funcionalidad de seguimiento integrada del SDK, que captura automáticamente:
  • Llamadas a servidores MCP para enumerar herramientas
  • Información relacionada con MCP en llamadas a funciones

Además, también debe considerar el uso de una herramienta de prueba de API todo en uno para facilitar su ciclo de desarrollo de API.

Apidog es una herramienta poderosa que simplifica el desarrollo de API, lo que la convierte en un excelente compañero al construir servidores MCP con el SDK de Agentes de OpenAI. Dado que los servidores MCP a menudo implican la interacción con API, ya sea para servidores HTTP sobre SSE remotos o para probar llamadas a herramientas, Apidog puede mejorar su flujo de trabajo.

button

Conclusión

La construcción de servidores MCP con el SDK de Agentes de OpenAI abre nuevas posibilidades para mejorar los agentes de IA con herramientas externas y fuentes de datos. La interfaz MCP estandarizada hace que la integración sea más simple y confiable en diferentes entornos.

Siguiendo esta guía, puede crear agentes poderosos que aprovechen los recursos tanto locales como remotos a través del Protocolo de Contexto del Modelo. A medida que el ecosistema MCP continúa creciendo, sus agentes podrán acceder a un conjunto cada vez mayor de herramientas y capacidades.

Para obtener más ejemplos y documentación detallada, visite la documentación oficial de MCP del SDK de Agentes de OpenAI. El soporte del SDK para MCP representa un importante paso adelante para hacer que los agentes de IA sean más capaces y estén conectados al mundo digital.

button
Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)Tutoriales

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

Daniel Costa

April 15, 2025

Cómo usar n8n con servidores MCPTutoriales

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

Daniel Costa

April 14, 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completaTutoriales

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

Daniel Costa

April 11, 2025