Enrutamiento de herramientas con MCP Server

Clase 17 de 21Curso de MCP

Resumen

¿Te has preguntado cómo optimizar el uso de múltiples herramientas en un servidor MCP para mejorar tus aplicaciones y procesos? El enrutamiento con MCP Server te permite acceder a diferentes herramientas según las necesidades específicas de tu trabajo, mejorando eficiencia y organización.

¿Qué es el enrutamiento en MCP Server?

El enrutamiento es una funcionalidad del MCP Server que organiza y administra la manera en que accedes a diversas herramientas o recursos desde una misma interfaz. Funcionan de manera similar a una API, donde tú eliges cuál método utilizar según lo que necesites.

¿Cómo utilizar las herramientas del MCP Server?

Las herramientas incluidas en MCP Server se configuran fácilmente a través de aplicaciones Python que usan Fast MCP. Puedes crear distintos endpoints, configurar parámetros personalizados y obtener resultados al interactuar con herramientas diversas.

Entre los ejemplos prácticos se encuentran:

  • Herramienta de chequeo de estado de servidor (get status).
  • Recuperación de información de usuario (get user info).
  • Función de cálculo de operaciones matemáticas (como raíces cuadradas).
# Ejemplo de servidor MCP con Fast MCP
from fast_mcp import MCPServer

server = MCPServer(name='ServidorMCP')

@server.tool
def get_status():
    return "El servidor está ejecutándose correctamente."

@server.tool
def get_user_info(user_id):
    return f"Información del usuario {user_id}."

# Herramienta para raíces cuadradas
@server.tool
def calcular_raiz(numero):
    return numero ** 0.5

¿Cómo definir múltiples endpoints en MCP Server?

Si trabajas con varios servicios externos como bases de datos, servicios climáticos u otras APIs, puedes utilizarlos todos desde un mismo servidor mediante el enrutamiento por endpoints.

Cada uno de estos endpoints está vinculado a una URL específica:

  • weather service: para información climática.
  • database service: para consultas de base de datos.
# Configuración de endpoints múltiples
tools_endpoints = {
    "weather_tool": "weather.service.example.com",
    "database_tool": "database.service.example.com",
}

Esto permite con facilidad y eficacia decidir a qué servicio se dirige una solicitud específica, optimizando el trabajo con diferentes recursos, aun cuando la ejecución se realice desde una sola herramienta.

¿Cómo comprobar el enrutamiento en MCP Server?

Puedes verificar fácilmente que tu enrutamiento funcione con diferentes pruebas para cada herramienta y endpoint. Por ejemplo, si pruebas una herramienta llamada "Weather Tool":

tool_name = "Weather Tool"
parameters = { "city": "New York" }
# El resultado debería mostrar conexión a weather.service.example.com

Para una base de datos:

tool_name = "Database Tool"
parameters = { "ID_user": "Amin Espinoza" }
# El resultado indicaría conexión a database.service.example.com

Estos resultados te permiten confirmar que MCP Server dirige correctamente tus solicitudes según sus configuraciones no importa si surge un error puntual por conexión, lo importante es verificar que la dirección aplicada sea la adecuada.