MCP
Bob Shell admite el Model Context Protocol (MCP), que te permite extender las capacidades de Bob conectándote a servicios y herramientas externos.
¿Qué es MCP?
Un servidor MCP (Model Context Protocol) actúa como un puente entre Bob y servicios externos como bases de datos, APIs o scripts personalizados. Con MCP, puedes extender las capacidades de Bob más allá de sus funciones integradas.
Los servidores MCP proporcionan a Bob:
- Descubrimiento de herramientas: Acceso a herramientas disponibles con sus descripciones y parámetros
- Invocación de herramientas: La capacidad de invocar herramientas específicas con argumentos y recibir respuestas estructuradas
- Acceso a recursos: La capacidad de leer datos de recursos específicos
Beneficios de MCP
- Extender funcionalidad: Agregar capacidades personalizadas a Bob que no están disponibles por defecto
- Integrar con servicios: Conectar Bob con tus bases de datos, APIs y otros sistemas
- Automatizar flujos de trabajo: Crear herramientas especializadas para tus necesidades específicas
- Compartir capacidades: Distribuir herramientas útiles en tu equipo
Configurar servidores MCP
Puedes gestionar configuraciones de servidor MCP en dos niveles:
- Configuración global: La configuración en
<USER_HOME>/.bob/mcp_settings.jsonse aplica a todos los espacios de trabajo - Configuración a nivel de proyecto: La configuración en
.bob/mcp.jsonse aplica solo al proyecto actual
Cuando un nombre de servidor existe tanto en configuraciones globales como de proyecto, la configuración a nivel de proyecto tiene precedencia.
Editar archivos de configuración MCP
Usa Bob IDE u otro editor de texto para modificar tus archivos de configuración MCP.
El siguiente ejemplo muestra una configuración básica de servidor Stdio:
{
"mcpServers": {
"server1": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"],
"disabled": false
}
}
}Propiedades de configuración
Cada configuración de servidor requiere una de estas propiedades:
command: Ruta al ejecutable para transporte stdiourl: URL de endpoint SSE para servidores remotoshttpURL: URL de endpoint HTTP para transporte HTTP de streaming
Las propiedades opcionales incluyen:
args: Argumentos de línea de comandos para transporte stdioheaders: Encabezados HTTP personalizados para transporte SSEenv: Variables de entorno para el proceso del servidorcwd: Directorio de trabajo para transporte stdiotimeout: Tiempo de espera de solicitud en milisegundos (predeterminado: 600,000 ms / 10 minutos)alwaysAllow: Nombres de herramientas para aprobar automáticamente. Bob Shell lee estas entradas demcp.jsony las aplica al inicio de cada tarea, de modo que las herramientas listadas no requieren aprobación.disabled: Establecer entruepara deshabilitar el servidor
Tipos de transporte
MCP admite tres formas de comunicarse con servidores:
Transporte Stdio
El transporte Stdio ejecuta servidores localmente en tu computadora:
- Usa flujos de entrada/salida estándar para comunicación
- Proporciona menor latencia y mejor seguridad
- Se ejecuta como un proceso hijo en tu computadora
Configuración de ejemplo:
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/project",
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"]
}
}
}Transporte SSE
El transporte SSE se conecta a servidores remotos a través de HTTP/HTTPS:
- Usa protocolo Server-Sent Events
- Funciona con servidores alojados en diferentes computadoras
- Requiere acceso a la red
Configuración de ejemplo:
{
"mcpServers": {
"remote-server": {
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"]
}
}
}Transporte HTTP de streaming
El transporte HTTP de streaming se conecta a servidores remotos mediante HTTP:
- Utiliza una conexión HTTP bidireccional
- Admite tanto mensajes de solicitud/respuesta como mensajes enviados por el servidor
- Funciona con servidores alojados en diferentes máquinas
Configuración de ejemplo:
{
"mcpServers": {
"remote-server": {
"httpURL": "https://your-server-url.com/mcp"
}
}
}Ejemplos específicos de plataforma
Configuración de Windows
{
"mcpServers": {
"puppeteer": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}Configuración de macOS y Linux
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}Configuración de gestor de versiones de runtime
{
"mcpServers": {
"mcp-batchit": {
"command": "mise",
"args": [
"x",
"--",
"node",
"/Users/myself/workspace/mcp-batchit/build/index.js"
],
"alwaysAllow": [
"search",
"batch_execute"
]
}
}
}Datos de telemetría
Conozca los datos de telemetría que Bob Shell puede recopilar, cómo se utilizan para mejorar el producto y cómo habilitar o deshabilitar la recopilación de datos.
Slash commands
Crea slash commands personalizados para automatizar flujos de trabajo y estandarizar las prácticas del equipo.