use_mcp_tool
La herramienta use_mcp_tool habilita la interacción con herramientas externas proporcionadas por servidores del Protocolo de Contexto de Modelo (MCP) conectados. Extiende las capacidades de AI Cockpit Reasoning con funcionalidad específica del dominio a través de un protocolo estandarizado.
Parámetros
La herramienta acepta estos parámetros:
server_name(requerido): El nombre del servidor MCP que proporciona la herramientatool_name(requerido): El nombre de la herramienta a ejecutararguments(requerido/opcional): Un objeto JSON que contiene los parámetros de entrada de la herramienta, siguiendo el esquema de entrada de la herramienta. Puede ser opcional para herramientas que no requieren entrada.
Qué Hace
Esta herramienta permite a AI Cockpit Reasoning acceder a funcionalidad especializada proporcionada por servidores MCP externos. Cada servidor MCP puede ofrecer múltiples herramientas con capacidades únicas, extendiendo AI Cockpit Reasoning más allá de su funcionalidad integrada. El sistema valida los argumentos contra los esquemas, gestiona las conexiones del servidor y procesa respuestas de varios tipos de contenido (texto, imagen, recurso).
¿Cuándo se usa?
- Cuando se necesita funcionalidad especializada no disponible en las herramientas principales
- Cuando se requieren operaciones específicas del dominio
- Cuando se necesita integración con sistemas o servicios externos
- Al trabajar con datos que requieren procesamiento o análisis específico
- Al acceder a herramientas propietarias a través de una interfaz estandarizada
Características Principales
- Usa el protocolo MCP estandarizado a través de la biblioteca
@modelcontextprotocol/sdk - Admite múltiples mecanismos de transporte (StdioClientTransport y SSEClientTransport)
- Valida los argumentos usando validación de esquema Zod tanto en el lado del cliente como del servidor
- Procesa múltiples tipos de contenido de respuesta: texto, imagen y referencias de recursos
- Gestiona el ciclo de vida del servidor con reinicios automáticos cuando cambia el código del servidor
- Proporciona un mecanismo de "permitir siempre" para omitir la aprobación de herramientas de confianza
- Funciona con la herramienta complementaria
access_mcp_resourcepara la recuperación de recursos - Mantiene un seguimiento y manejo adecuados de errores para operaciones fallidas
- Admite tiempos de espera configurables (1-3600 segundos, predeterminado: 60 segundos)
- Permite que los observadores de archivos detecten y recarguen automáticamente los cambios del servidor
Limitaciones
- Depende de que los servidores MCP externos estén disponibles y conectados
- Limitada a las herramientas proporcionadas por los servidores conectados
- Las capacidades de las herramientas varían entre diferentes servidores MCP
- Los problemas de red pueden afectar la confiabilidad y el rendimiento
- Requiere aprobación del usuario antes de la ejecución (a menos que esté en la lista de "permitir siempre")
- No puede ejecutar múltiples operaciones de herramientas MCP simultáneamente
Configuración del Servidor
Los servidores MCP se pueden configurar globalmente o a nivel de proyecto:
- Configuración Global: Gestionada a través de la configuración de la extensión AI Cockpit Reasoning en VS Code. Estas se aplican en todos los proyectos a menos que se anulen.
- Configuración a Nivel de Proyecto: Definida en un archivo
.AI Cockpitcode/mcp.jsondentro del directorio raíz de tu proyecto.- Esto permite configuraciones de servidor específicas del proyecto.
- Los servidores a nivel de proyecto tienen prioridad sobre los servidores globales si comparten el mismo nombre.
- Dado que
.AI Cockpitcode/mcp.jsonse puede confirmar en el control de versiones, simplifica el intercambio de configuraciones con tu equipo.
Cómo Funciona
Cuando se invoca la herramienta use_mcp_tool, sigue este proceso:
-
Inicialización y Validación:
- El sistema verifica que el hub MCP esté disponible
- Confirma que el servidor especificado existe y está conectado
- Valida que la herramienta solicitada existe en el servidor
- Los argumentos se validan contra la definición del esquema de la herramienta
- La configuración de tiempo de espera se extrae de la configuración del servidor (predeterminado: 60 segundos)
-
Ejecución y Comunicación:
- El sistema selecciona el mecanismo de transporte apropiado:
StdioClientTransport: Para comunicarse con procesos locales a través de entrada/salida estándarSSEClientTransport: Para comunicarse con servidores HTTP a través de Eventos Enviados por el Servidor
- Se envía una solicitud con el nombre del servidor validado, el nombre de la herramienta y los argumentos
- La comunicación usa la biblioteca
@modelcontextprotocol/sdkpara interacciones estandarizadas - La ejecución de la solicitud se rastrea con manejo de tiempo de espera para prevenir operaciones colgadas
- El sistema selecciona el mecanismo de transporte apropiado:
-
Procesamiento de Respuestas:
- Las respuestas pueden incluir múltiples tipos de contenido:
- Contenido de texto: Respuestas de texto plano
- Contenido de imagen: Datos de imagen binarios con información de tipo MIME
- Referencias de recursos: URIs para acceder a recursos del servidor (funciona con
access_mcp_resource)
- El sistema verifica el indicador
isErrorpara determinar si se necesita manejo de errores - Los resultados se formatean para su visualización en la interfaz de AI Cockpit Reasoning
- Las respuestas pueden incluir múltiples tipos de contenido:
-
Manejo de Recursos y Errores:
- El sistema usa patrones WeakRef para prevenir fugas de memoria
- Un contador de errores consecutivos rastrea y gestiona los errores
- Los observadores de archivos monitorean los cambios en el código del servidor y desencadenan reinicios automáticos
- El modelo de seguridad requiere aprobación para la ejecución de herramientas a menos que esté en la lista de "permitir siempre"
Seguridad y Permisos
La arquitectura MCP proporciona varias características de seguridad:
- Los usuarios deben aprobar el uso de herramientas antes de la ejecución (por defecto)
- Las herramientas específicas se pueden marcar para aprobación automática en la lista de "permitir siempre"
- Las configuraciones del servidor se validan con esquemas Zod para garantizar la integridad
- Los tiempos de espera configurables previenen operaciones colgadas (1-3600 segundos)
- Las conexiones del servidor se pueden habilitar o deshabilitar a través de la interfaz
Ejemplos de Uso
- Analizar formatos de datos especializados usando herramientas de procesamiento del lado del servidor
- Generar imágenes u otros medios a través de modelos de IA alojados en servidores externos
- Ejecutar cálculos complejos específicos del dominio sin implementación local
- Acceder a APIs o servicios propietarios a través de una interfaz controlada
- Recuperar datos de bases de datos especializadas o fuentes de datos
Ejemplos de Uso
Solicitar datos de pronóstico del tiempo con respuesta de texto:
<use_mcp_tool>
<server_name>weather-server</server_name>
<tool_name>get_forecast</tool_name>
<arguments>
{
"city": "San Francisco",
"days": 5,
"format": "text"
}
</arguments>
</use_mcp_tool>
Analizar código fuente con una herramienta especializada que devuelve JSON:
<use_mcp_tool>
<server_name>code-analysis</server_name>
<tool_name>complexity_metrics</tool_name>
<arguments>
{
"language": "typescript",
"file_path": "src/app.ts",
"include_functions": true,
"metrics": ["cyclomatic", "cognitive"]
}
</arguments>
</use_mcp_tool>
Generar una imagen con parámetros específicos:
<use_mcp_tool>
<server_name>image-generation</server_name>
<tool_name>create_image</tool_name>
<arguments>
{
"prompt": "Una ciudad futurista con autos voladores",
"style": "photorealistic",
"dimensions": {
"width": 1024,
"height": 768
},
"format": "webp"
}
</arguments>
</use_mcp_tool>
Herramienta sin argumentos requeridos:
<use_mcp_tool>
<server_name>system-monitor</server_name>
<tool_name>get_current_status</tool_name>
<arguments>
{}
</arguments>
</use_mcp_tool>