Inteligencia Artificial 3 min de lectura 590 palabras

MCPHero: El puente entre MCP y las librerías tradicionales de IA

EN
MCPHero: El puente entre MCP y las librerías tradicionales de IA

Últimamente estoy siguiendo de cerca todo lo que rodea al protocolo MCP (Model Context Protocol), y hace poco me encontré con un proyecto que tiene bastante sentido: MCPHero.

La realidad es que aunque MCP está pegando fuerte, muchas librerías de IA “tradicionales” como openai o google-genai siguen sin soporte nativo para MCP. Solo soportan tool/function calls. MCPHero viene a solucionar precisamente esto: hacer de puente entre servidores MCP y estas librerías.

¿Qué es MCPHero?

MCPHero es una librería Python que permite usar servidores MCP como tools/functions en las librerías nativas de IA. Básicamente, te permite conectarte a cualquier servidor MCP y usar sus herramientas como si fueran tools nativas de OpenAI o Google Gemini.

El problema que resuelve

La situación actual es un poco… peculiar. Por un lado tenemos el ecosistema MCP creciendo, con servidores que exponen herramientas útiles. Por otro lado, tenemos clientes de IA muy establecidos (OpenAI, Google Gemini) que solo entienden de “tools” o “function calls” en su formato propietario.

MCPHero cierra esa brecha: se conecta al servidor MCP, obtiene las definiciones de herramientas, las convierte al formato que entiende la librería de IA, y cuando la IA quiere usar una herramienta, MCPHero ejecuta la llamada en el servidor MCP y devuelve el resultado.

Cómo funciona: dos flujos principales

1. list_tools - Obtener las definiciones

tools = await adapter.get_tool_definitions()

MCPHero llama al servidor MCP via HTTP, obtiene las definiciones de herramientas, y las mapea al formato de la librería de IA que estés usando.

2. process_tool_calls - Ejecutar las llamadas

tool_results = await adapter.process_tool_calls(tool_calls)

Cuando la IA decide usar una herramienta, MCPHero intercepta esas llamadas, las ejecuta en el servidor MCP, y devuelve los resultados en el formato que espera la librería.

Ejemplo rápido con OpenAI

import asyncio
from openai import OpenAI
from mcphero.adapters.openai import MCPToolAdapterOpenAI

async def main():
    # Conectar al servidor MCP
    adapter = MCPToolAdapterOpenAI("https://api.mcphero.app/mcp/your-server-id")
    client = OpenAI()

    # Obtener tool definitions
    tools = await adapter.get_tool_definitions()

    # Hacer la petición con tools
    messages = [{"role": "user", "content": "What's the weather in London?"}]
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        tools=tools,
    )

    # Procesar tool calls si las hay
    if response.choices[0].message.tool_calls:
        tool_results = await adapter.process_tool_calls(
            response.choices[0].message.tool_calls
        )

        # Continuar conversación con resultados
        messages.append(response.choices[0].message)
        messages.extend(tool_results)

        final_response = client.chat.completions.create(
            model="gpt-4o",
            messages=messages,
            tools=tools,
        )
        print(final_response.choices[0].message.content)

asyncio.run(main())

Soporte para Google Gemini

Lo interesante es que también soporta Google Gemini:

from mcphero.adapters.gemini import MCPToolAdapterGemini

adapter = MCPToolAdapterGemini("https://api.mcphero.app/mcp/your-server-id")

El concepto es el mismo: obtener las herramientas, pasarlas a Gemini, y procesar las function calls.

Manejo de errores

Algo que valoro es que tiene manejo de errores decente:

# Devuelve errores en los resultados (por defecto)
results = await adapter.process_tool_calls(tool_calls, return_errors=True)

# O salta las llamadas fallidas
results = await adapter.process_tool_calls(tool_calls, return_errors=False)

Por qué me interesa

Tengo varias razones para tener MCPHero en mi radar:

  1. Compatibilidad hacia atrás: No tienes que abandonar tu código actual con OpenAI o Gemini
  2. Ecosistema MCP: Puedes aprovechar los servidores MCP que ya existen
  3. Flexibilidad: Soporta tanto OpenAI como Google Gemini
  4. Python puro: Fácil de integrar en proyectos existentes

En mi lista de pruebas

Como con muchas de las cosas que últimamente me llaman la atención, esto está en mi lista de cosas para probar. Tengo curiosidad por:

  • Ver cómo se comporta en un proyecto real
  • Probar diferentes servidores MCP
  • Evaluar el rendimiento en producción
  • Comparar con usar MCP directamente

Referencias

MCPHero es una herramienta interesante para quienes quieren aprovechar el ecosistema MCP sin abandonar sus librerías de IA existentes, y merece ser evaluada para proyectos donde la compatibilidad hacia atrás sea un requisito importante.