/ Directorio / Playground / mcp-use
● Comunidad mcp-use ⚡ Instantáneo

mcp-use

por mcp-use · mcp-use/mcp-use

Librería Python que conecta múltiples servidores MCP a un agente LangChain único — o los ejecuta sin LLM en modo autónomo.

mcp-use es un framework Python del lado cliente. Apunta a N configuraciones de servidores MCP (stdio o HTTP), envuélvelas en un MCPAgent con cualquier LLM compatible con LangChain, y tendrás un agente multiservidor funcional. También soporta llamadas directas a herramientas de MCPClient sin un LLM — útil para automatizaciones por script.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

mcp-use.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-use",
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-use": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-use"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add mcp-use -- uvx mcp-use

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: mcp-use

Construye un agente personalizado que use playwright + sistema de archivos + postgres

👤 Desarrolladores Python que construyen agentes verticales ⏱ ~45 min intermediate

Cuándo usarlo: Necesitas una automatización repetible (no Claude Desktop) que encadene navegador + archivos + BD.

Requisitos previos
  • Python 3.10+, uv o pip — Configuración estándar
  • Una clave API de LLM (OpenAI / Anthropic) — Configúrala como variable de entorno que tu modelo de LangChain espera
Flujo
  1. Define las configuraciones del servidor
    Escribe una configuración de mcp-use que se conecte a playwright (stdio vía npx), postgres (stdio vía uvx), y sistema de archivos (ruta local limitada).✓ Copiado
    → Configuración JSON/dict que coincida con el esquema
  2. Conecta el agente
    Crea un MCPAgent usando ChatAnthropic (claude-sonnet-4) y la configuración anterior. Iteraciones máximas = 15.✓ Copiado
    → Instancia del agente lista para .run()
  3. Ejecuta una tarea
    Ejecuta: 'Rastrea docs.example.com, guarda cada página en ./knowledge/, luego indexa títulos en la tabla docs de postgres.' Observa las llamadas a herramientas en los registros.✓ Copiado
    → La tarea se completa, los datos llegan donde se espera

Resultado: Un agente scriptable que puedas programar, desplegar o incrustar — no ligado a un cliente de escritorio.

Errores comunes
  • El agente entra en bucle entre servidores, gastando tokens — Configura max_iterations estricto y usa un LLM que siga bien las instrucciones — GPT-4o-mini suele entrar en bucle en cadenas complejas, usa un modelo más potente
  • Servidores stdio zombificados tras un fallo — Siempre usa el patrón del gestor de contexto asincrónico — maneja la limpieza; no gestiones el proceso tú mismo
Combinar con: fastmcp · mcp-agent

Llama herramientas MCP desde Python sin un LLM

👤 Ingenieros automatizando tareas de operaciones ⏱ ~20 min intermediate

Cuándo usarlo: Quieres invocar una herramienta MCP como parte de una tubería Python más grande, determinísticamente.

Flujo
  1. Conecta el cliente directamente
    Usa MCPClient para conectarte a mi MCP del sistema de archivos. Lista las herramientas disponibles.✓ Copiado
    → Nombres de herramientas + esquemas impresos
  2. Llama una herramienta con argumentos tipados
    Llama write_file con path='./out.txt' y content='hello'. Confirma el valor de retorno.✓ Copiado
    → Archivo escrito, sin participación del LLM
  3. Encadena en tu lógica de negocio
    Envuelve esto en una función save_report(df) que llame a la herramienta MCP — integra en mi ETL Python existente.✓ Copiado
    → Función reutilizable

Resultado: MCP como librería: los mismos servidores usados por Claude Desktop también callables desde Python puro.

Errores comunes
  • Los errores no suben naturalmente — los errores MCP vienen como objetos de resultado con isError: true — Verifica result.isError después de cada llamada; no asumas el éxito

Construye un agente enrutador que elija el MCP correcto para cada solicitud

👤 Equipos que lanzan productos de agentes ⏱ ~60 min advanced

Cuándo usarlo: Los usuarios envían solicitudes mixtas (código, datos, web) — un prompt monolítico con 50 herramientas se degrada; quieres enrutamiento.

Flujo
  1. Define grupos de servidores
    Divide mis servidores MCP en 3 grupos: 'code' (git, github), 'data' (postgres, bigquery), 'web' (firecrawl, playwright).✓ Copiado
    → 3 configuraciones de agentes separadas
  2. Añade una capa de enrutador
    Escribe un prompt clasificador que elija un grupo basado en la intención del usuario. Úsalo para instanciar el MCPAgent correspondiente bajo demanda.✓ Copiado
    → El clasificador retorna uno de {code, data, web}
  3. Prueba con tráfico mixto
    Ejecuta 10 solicitudes variadas a través del enrutador. Registra qué grupo manejó cada una y si la respuesta fue correcta.✓ Copiado
    → Tabla de precisión + estadísticas de latencia

Resultado: Un sistema de agentes modular donde cada solicitud solo ve las herramientas relevantes para ella — mejor precisión, menor costo de tokens.

Errores comunes
  • Casos límite donde la solicitud necesita dos grupos (p. ej., 'raspar + guardar en BD') — Define un cuarto grupo 'cross' o retrocede al patrón Orquestador vía mcp-agent
Combinar con: mcp-agent

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

mcp-use + mcp-agent

Usa mcp-use para conectar servidores, mcp-agent para patrones de flujo de trabajo (orquestador/evaluador)

Construye un bucle evaluador-optimizador donde un agente escritor usa mcp-use para acceder al sistema de archivos + git, y un agente cr��tico revisa la salida usando los mismos servidores.✓ Copiado
mcp-use + fastmcp

Escribe un servidor con FastMCP, luego escriptalo con mcp-use — pila de agentes Python de extremo a extremo

Servidor: expone nuestra API de precios vía FastMCP. Cliente: usa mcp-use para llamarla en un script de simulación de precios.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
MCPClient(config) configuración de servidor dict/ruta Punto de entrada para cualquier script de mcp-use gratuito
MCPAgent(llm, client, max_steps) modelo de chat LangChain + MCPClient Cuando quieres selección de herramientas impulsada por LLM solo llamadas LLM
client.list_tools() nombre_servidor? Inspecciona lo que está disponible antes de llamar gratuito
client.call_tool(name, args) nombre_herramienta, dict Invocación determinística directa — sin LLM depende de la herramienta
MCPServer decorator API @server.tool() en funciones Menos común; FastMCP suele ser más limpio para construir servidores gratuito

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Ninguna de mcp-use en sí; depende del LLM y MCPs posteriores
Tokens por llamada
Las llamadas impulsadas por LLM gastan tokens — el modelo de costo usual del agente LangChain
Monetario
La librería es gratuita, el uso de LLM no
Consejo
Para flujos determinísticos, usa client.call_tool directamente — salta el LLM. Reserva MCPAgent para tareas genuinamente ambiguas.

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: Por MCP subyacente — mcp-use no añade una capa
Salida de datos: Proveedor LLM + todo MCP conectado

Resolución de problemas

Errores comunes y soluciones

ConnectionError al iniciar servidor stdio

El command en tu configuración no está en PATH o el paquete no está instalado. Prueba manualmente: ejecuta el mismo npx -y ... en una terminal primero.

Verificar: which npx && npx -y @modelcontextprotocol/server-filesystem --help
El agente llama herramientas correctamente pero la respuesta es incorrecta

Usualmente un problema de LLM — prueba un modelo más potente. GPT-4o-mini y modelos de código abierto de 7B suelen malinterpretar resultados de herramientas.

Error de bucle de eventos ya en ejecución

Estás llamando una API síncrona desde dentro de un contexto asincrónico. Usa await y los métodos de cliente asincrónico en todas partes.

Las herramientas del servidor A sombrean nombres en el servidor B

Prefija nombres de herramientas por servidor en tu configuración, o confía en el manejo de espacios de nombres integrado de la librería (configura namespace=True).

Alternativas

mcp-use vs otros

AlternativaCuándo usarlaContrapartida
mcp-agentQuieres patrones de flujo de trabajo (orquestador, enrutador, evaluador) integradosMás opinado; menos flexible si quieres LangChain puro
Official Python MCP SDKQuieres el cliente de más bajo nivel — sin LangChain, sin abstraccionesMás código de fontanería
LangGraph + MCPNecesitas gráficos multiturno con estado y puntos de controlCurva de aprendizaje más pronunciada; excesivo para agentes simples

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills