Fleet-MCP
Permite que los asistentes de IA interactúen con Fleet Device Management para la gestión de dispositivos, monitoreo de seguridad y cumplimiento normativo.
Documentación
Fleet MCP
Un servidor de Model Context Protocol (MCP) que permite a los asistentes de IA interactuar con Fleet Device Management para la gestión de dispositivos, monitoreo de seguridad y cumplimiento normativo.
Demo
📸 Mostrar/Ocultar capturas de pantalla de la demo
Características
- Gestión de hosts: Listar, buscar, consultar y gestionar hosts en toda tu flota
- Ejecución de consultas en vivo: Ejecutar consultas osquery en tiempo real contra los hosts
- Gestión de políticas: Crear, actualizar y monitorear políticas de cumplimiento
- Inventario de software: Rastrear instalaciones de software y vulnerabilidades en los dispositivos
- Gestión de equipos y usuarios: Organizar hosts y usuarios en equipos
- Descubrimiento de tablas osquery: Descubrimiento dinámico y documentación de tablas osquery
- Modo de solo lectura: Exploración segura con ejecución de consultas SELECT opcional
- Monitoreo de actividad: Rastrear actividades de Fleet y registros de auditoría
Inicio rápido
¿Quieres empezar directamente? Esto configurará fleet-mcp con acceso de solo lectura y ejecución de consultas SELECT habilitada. Solo reemplaza FLEET_SERVER_URL y FLEET_API_TOKEN con los tuyos.
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Consulta la sección Herramientas disponibles a continuación para ver la lista completa de herramientas.
MCP Client Configuration
Fleet MCP can be integrated with various MCP-compatible clients. Below are configuration examples for popular clients.
Prerequisites
Before configuring any MCP client, ensure you have:
-
Install
uv(recommended) orpip:# Install uv (recommended) curl -LsSf https://astral.sh/uv/install.sh | sh # Or use pip pip install fleet-mcp -
Token de API de Fleet: Genera un token de API desde tu instancia de Fleet: Opción 1)
- Inicia sesión en la interfaz de Fleet
- Navega a: Mi cuenta → Obtener token de API
- Copia el token para usarlo en la configuración
Opción 2)
- Crea un usuario solo de API con
fleetctl
# Generate an API-Only User and get the token fleetctl user create --name Fleet-MCP --email <email> --password <password> --role admin --api-onlyNota: Este token de API y la URL de tu instancia de Fleet (https://your-fleet-instance.com) se usarán en la configuración del cliente.
-
Elige tu cliente: Selecciona el cliente de asistente de IA de tu preferencia y sigue las instrucciones de configuración correspondientes a continuación.
Instalar en Claude Desktop
Ubicación del archivo de configuración
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Configuración
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Nota: Reemplaza
uvxconfleet-mcpsi has instalado el paquete globalmente. Para mayor seguridad, usa la bandera--configpara hacer referencia a un archivo TOML en lugar de incrustar tokens (consulta Mejores prácticas de seguridad).
Instalar en Cursor
Ve a: Settings → Cursor Settings → MCP → Add new global MCP server
Instala globalmente en ~/.cursor/mcp.json o por proyecto en .cursor/mcp.json. Consulta la documentación de MCP de Cursor para más información.
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Instalar en Cline (extensión de VS Code)
Ubicación de configuración: ~/.cline/mcp_settings.json (macOS/Linux) o %USERPROFILE%\.cline\mcp_settings.json (Windows)
Alternativa: Configuración de VS Code → Buscar "Cline: MCP Settings" → Editar JSON
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Instalar en Continue (extensión de VS Code)
Ubicación de configuración: ~/.continue/config.json
{
"mcpServers": [
{
"name": "fleet",
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
]
}
Instalar en el editor Zed
Ubicación de configuración: ~/.config/zed/settings.json (macOS/Linux) o %APPDATA%\Zed\settings.json (Windows)
{
"context_servers": {
"fleet": {
"command": {
"path": "uvx",
"args": ["fleet-mcp", "run"]
},
"settings": {
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
}
Instalar en Windsurf
Consulta la documentación de MCP de Windsurf para más información.
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Instalar en VS Code
Consulta la documentación de MCP de VS Code para más información.
"mcp": {
"servers": {
"fleet": {
"type": "stdio",
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Instalar en Sourcegraph Cody
Ubicación de configuración: ~/Library/Application Support/Cody/mcp_settings.json (macOS), %APPDATA%\Cody\mcp_settings.json (Windows) o ~/.config/Cody/mcp_settings.json (Linux)
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Instalar en Augment Code
Mediante la interfaz: Menú de hamburguesa → Configuración → Herramientas → + Agregar MCP → Ingresa uvx fleet-mcp run → Nombre: "Fleet" → Agregar
Configuración manual: Configuración → Avanzado → Editar settings.json
"augment.advanced": {
"mcpServers": [
{
"name": "fleet",
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
]
}
Instalar en LM Studio
Navega a Program → Install → Edit mcp.json. Consulta Soporte de MCP en LM Studio.
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Configuración genérica de cliente MCP
Para otros clientes compatibles con MCP, usa este patrón general:
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": ["fleet-mcp", "run"],
"env": {
"FLEET_SERVER_URL": "https://your-fleet-instance.com",
"FLEET_API_TOKEN": "your-api-token",
"FLEET_READONLY": "true",
"FLEET_ALLOW_SELECT_QUERIES": "true"
}
}
}
}
Referencia de opciones de configuración
| Variable de entorno | Descripción | Predeterminado | Requerido |
|---|---|---|---|
FLEET_SERVER_URL | URL del servidor Fleet | - | ✅ |
FLEET_API_TOKEN | Token de API de Fleet | - | ✅ |
FLEET_READONLY | Habilitar modo de solo lectura | true | ❌ |
FLEET_ALLOW_SELECT_QUERIES | Permitir consultas SELECT en modo de solo lectura | false | ❌ |
FLEET_VERIFY_SSL | Verificar certificados SSL | true | ❌ |
FLEET_TIMEOUT | Tiempo de espera de solicitud (segundos) | 30 | ❌ |
FLEET_MAX_RETRIES | Reintentos máximos de solicitud | 3 | ❌ |
Nota: Todos los clientes anteriores usan las mismas variables de entorno. Reemplaza
uvxconfleet-mcpsi está instalado globalmente.
Mejores prácticas de seguridad
- Usar archivos de configuración: Almacena tokens en archivos TOML:
"args": ["fleet-mcp", "--config", "~/.config/fleet-mcp.toml", "run"] - Permisos de archivos:
chmod 600 ~/.config/fleet-mcp.toml - Modo de solo lectura: Comienza con
FLEET_READONLY=true(predeterminado) - Rotación de tokens: Rota regularmente los tokens de API de Fleet
- Configuraciones específicas por entorno: Usa configuraciones separadas para desarrollo/producción
Herramientas disponibles
Fleet MCP proporciona herramientas organizadas en dos grupos principales según el modo operativo. Haz clic para expandir cada grupo.
Herramientas de solo lectura (siempre disponibles)
Estas herramientas están disponibles en todos los modos (readonly=true o readonly=false). Solo leen datos y nunca modifican el estado de Fleet.
Gestión de hosts
fleet_list_hosts- Listar hosts con filtrado, paginación y búsquedafleet_get_host- Obtener información detallada sobre un host específico por IDfleet_get_host_by_identifier- Obtener host por nombre de host, UUID o número de serie de hardwarefleet_search_hosts- Buscar hosts por nombre de host, UUID, número de serie o IPfleet_list_host_upcoming_activities- Listar actividades próximas para un host específicofleet_list_host_past_activities- Listar actividades pasadas para un host específicofleet_get_host_mdm- Obtener información de MDM para un host específicofleet_list_host_certificates- Listar certificados para un host específicofleet_get_host_macadmins- Obtener datos de macadmins (Munki, perfiles MDM) para un hostfleet_get_host_device_mapping- Obtener información de mapeo de dispositivos para un hostfleet_get_host_encryption_key- Obtener clave de recuperación de cifrado de disco para un host
Gestión de consultas
fleet_list_queries- Listar todas las consultas guardadas con paginaciónfleet_get_query- Obtener detalles de una consulta guardada específicafleet_get_query_report- Obtener los últimos resultados de una consulta programada
Gestión de políticas
fleet_list_policies- Listar todas las políticas de cumplimientofleet_get_policy_results- Obtener resultados de cumplimiento para una política específica
Software y vulnerabilidades
fleet_list_software- Listar inventario de software en toda la flotafleet_get_software- Obtener información detallada sobre un elemento de software específicofleet_get_host_software- Obtener software instalado en un host específicofleet_get_vulnerabilities- Listar vulnerabilidades conocidas con filtradofleet_get_cve- Obtener información detallada sobre un CVE específicofleet_search_software- Buscar software por nombrefleet_find_software_on_host- Encontrar software específico en un host por nombre de hostfleet_get_software_install_result- Obtener el resultado de una solicitud de instalación de softwarefleet_list_software_titles- Listar títulos de software en toda la flotafleet_get_software_title- Obtener información detallada sobre un título de software específico
Gestión de equipos
fleet_list_teams- Listar todos los equiposfleet_get_team- Obtener detalles de un equipo específicofleet_list_team_users- Listar todos los usuarios que son miembros de un equipo específicofleet_get_team_secrets- Listar secretos de inscripción específicos del equipo
Gestión de usuarios
fleet_list_users- Listar todos los usuarios con filtradofleet_get_user- Obtener detalles de un usuario específicofleet_list_user_sessions- Listar sesiones activas para un usuariofleet_get_session- Obtener detalles de sesión por ID
Gestión de etiquetas
fleet_list_labels- Listar todas las etiquetasfleet_get_label- Obtener información detallada sobre una etiqueta específica
Gestión de paquetes
fleet_list_packs- Listar todos los paquetes de consultasfleet_get_pack- Obtener información detallada sobre un paquete específicofleet_list_scheduled_queries- Listar consultas programadas en un paquete específico
Gestión de scripts
fleet_list_scripts- Listar todos los scripts disponibles en Fleetfleet_get_script- Obtener detalles de un script específicofleet_get_script_result- Obtener el resultado de una ejecución de scriptfleet_list_batch_scripts- Listar ejecuciones de scripts por lotesfleet_get_batch_script- Obtener detalles de una ejecución de script por lotesfleet_list_batch_script_hosts- Listar hosts en una ejecución de script por lotesfleet_list_host_scripts- Listar scripts disponibles para un host específico
Gestión de MDM
fleet_list_mdm_commands- Listar comandos MDM que se han ejecutadofleet_get_mdm_command_results- Obtener resultados de comandos MDMfleet_list_mdm_profiles- Listar perfiles de configuración MDMfleet_get_host_mdm_profiles- Obtener perfiles MDM instalados en un host específicofleet_get_mdm_profiles_summary- Obtener resumen del estado de implementación de perfiles MDMfleet_get_filevault_summary- Obtener resumen de cifrado FileVaultfleet_list_mdm_devices- Listar todos los dispositivos Apple inscritos en MDMfleet_get_bootstrap_metadata- Obtener metadatos sobre un paquete bootstrap para un equipofleet_get_bootstrap_summary- Obtener resumen agregado sobre la implementación de paquetes bootstrapfleet_get_setup_assistant- Obtener la configuración del Asistente de configuración de Apple MDMfleet_list_mdm_apple_installers- Listar todos los instaladores MDM de Apple
Gestión de VPP/App Store
fleet_list_app_store_apps- Listar aplicaciones de App Store disponibles para instalaciónfleet_list_vpp_tokens- Listar tokens VPP configurados en Fleet
Gestión de configuración
fleet_get_config- Obtener la configuración actual de la aplicación Fleetfleet_get_enroll_secrets- Obtener la configuración de secretos de inscripciónfleet_get_certificate- Obtener la cadena de certificados del servidor Fleetfleet_get_version- Obtener la información de versión del servidor Fleet
Gestión de secretos
fleet_list_secrets- Listar variables secretas en Fleet
Gestión de invitaciones
fleet_list_invites- Listar invitaciones de usuarios pendientesfleet_verify_invite- Verificar un token de invitación y obtener detalles de la invitación
Gestión de carve
fleet_list_carves- Listar sesiones de carve de archivosfleet_get_carve- Obtener información detallada sobre una sesión de carve específicafleet_get_carve_block- Obtener un bloque específico de datos de una sesión de carve
Gestión de dispositivos
fleet_get_device_info- Obtener información del dispositivo usando un token de dispositivo
Monitoreo de actividad
fleet_list_activities- Listar actividades de Fleet y registros de auditoría
Descubrimiento y Referencia de Tablas de Osquery
fleet_list_osquery_tables- Lista las tablas de osquery disponibles con descubrimiento dinámicofleet_get_osquery_table_schema- Obtén el esquema detallado de una tabla específicafleet_suggest_tables_for_query- Obtén sugerencias de tablas impulsadas por IA según la intención
Sistema
fleet_health_check- Verifica la conectividad y autenticación del servidor Fleet
Herramientas de Escritura/Modificación (Requiere readonly=false)
Estas herramientas pueden modificar el estado de Fleet y solo están disponibles cuando readonly=false está configurado en la configuración. Esto te permitirá realizar cambios en tu entorno Fleet, como crear scripts, políticas, gestionar equipos, etc., además de las herramientas de solo lectura. Establecerlo en readonly=true (predeterminado) deshabilitará estas herramientas.
Gestión de Hosts
fleet_delete_host- Elimina un host de Fleetfleet_transfer_hosts- Transfiere hosts a un equipo diferentefleet_query_host- Ejecuta una consulta en vivo ad-hoc contra un host específicofleet_query_host_by_identifier- Ejecuta una consulta en vivo por hostname/UUID/serialfleet_cancel_host_activity- Cancela una actividad próxima para un host específicofleet_lock_host- Bloquea un dispositivo host de forma remotafleet_unlock_host- Desbloquea un dispositivo host de forma remotafleet_unenroll_host_mdm- Da de baja un host de MDMfleet_add_labels_to_host- Agrega etiquetas a un hostfleet_remove_labels_from_host- Elimina etiquetas de un hostfleet_refetch_host- Fuerza a un host a volver a obtener y actualizar sus datos inmediatamente
Gestión de Consultas
fleet_create_query- Crea una nueva consulta guardadafleet_delete_query- Elimina una consulta guardadafleet_run_live_query_with_results- Ejecuta una consulta en vivo y recopila resultadosfleet_run_saved_query- Ejecuta una consulta guardada contra hosts
Gestión de Políticas
fleet_create_policy- Crea una nueva política de cumplimientofleet_update_policy- Actualiza una política existentefleet_delete_policy- Elimina una política
Gestión de Software
fleet_install_software- Instala software en un host específicofleet_batch_set_software- Carga/establece instaladores de software por lotes para un equipo
Gestión de Equipos
fleet_create_team- Crea un nuevo equipofleet_add_team_users- Agrega uno o más usuarios a un equipo específicofleet_remove_team_user- Elimina un usuario específico de un equipo
Gestión de Usuarios
fleet_create_user- Crea un nuevo usuariofleet_update_user- Actualiza un usuario existentefleet_delete_session- Elimina/invalida una sesión específicafleet_delete_user_sessions- Elimina todas las sesiones de un usuario específico
Gestión de Etiquetas
fleet_create_label- Crea una nueva etiquetafleet_update_label- Actualiza una etiqueta existentefleet_delete_label- Elimina una etiqueta por nombre
Gestión de Packs
fleet_create_pack- Crea un nuevo pack de consultasfleet_update_pack- Actualiza un pack existentefleet_delete_pack- Elimina un pack por nombre
Gestión de Scripts
fleet_run_script- Ejecuta un script en un host específicofleet_run_batch_script- Ejecuta un script en múltiples hostsfleet_cancel_batch_script- Cancela una ejecución de script por lotesfleet_create_script- Crea y sube un nuevo scriptfleet_modify_script- Modifica un script existentefleet_delete_script- Elimina un script
Gestión de MDM
fleet_upload_mdm_profile- Sube un nuevo perfil de configuración MDMfleet_delete_mdm_profile- Elimina un perfil de configuración MDMfleet_lock_device- Bloquea un dispositivo inscrito en MDM de forma remotafleet_upload_bootstrap_package- Sube un paquete de arranque para la inscripción MDMfleet_delete_bootstrap_package- Elimina un paquete de arranque para un equipofleet_create_setup_assistant- Crea o actualiza un Asistente de Configuración de Apple MDMfleet_delete_setup_assistant- Elimina el Asistente de Configuración de Apple MDMfleet_upload_mdm_apple_installer- Sube un nuevo paquete de instalador MDM de Apple Nota: La herramienta de borrado de dispositivos está actualmente deshabilitada por ser demasiado peligrosa. Puede reconsiderarse más adelante si realmente es necesaria.
Gestión de VPP/App Store
fleet_add_app_store_app- Agrega una aplicación de App Store para distribuciónfleet_update_app_store_app- Actualiza la configuración de aplicaciones de App Storefleet_delete_vpp_token- Elimina un token VPP
Gestión de Configuración
fleet_update_config- Actualiza la configuración de la aplicación Fleetfleet_update_enroll_secrets- Actualiza la configuración de secretos de inscripción
Gestión de Secretos
fleet_create_secret- Crea una nueva variable secretafleet_delete_secret- Elimina una variable secreta por ID
Gestión de Invitaciones
fleet_create_invite- Crea una nueva invitación de usuariofleet_update_invite- Actualiza una invitación pendientefleet_delete_invite- Elimina una invitación pendiente
Configuración
Fleet MCP admite tres métodos de configuración (en orden de precedencia):
- Argumentos de línea de comandos (mayor prioridad)
- Variables de entorno (con prefijo
FLEET_) - Archivo de configuración (recomendado por seguridad)
Archivo de Configuración (Recomendado)
Crea fleet-mcp.toml:
[fleet]
server_url = "https://your-fleet-instance.com" # Required
api_token = "your-api-token" # Required
verify_ssl = true # Default: true
timeout = 30 # Default: 30 seconds
max_retries = 3 # Default: 3
readonly = true # Default: true
allow_select_queries = false # Default: false
Variables de Entorno
Consulta la Referencia de Opciones de Configuración para todas las variables disponibles. Las variables de entorno usan el prefijo FLEET_ y anulan la configuración del archivo de configuración.
Argumentos de Línea de Comandos
fleet-mcp --server-url https://fleet.example.com --api-token YOUR_TOKEN run
Opciones: --config, --server-url, --api-token, --readonly, --verbose
Modo de Solo Lectura
Fleet MCP se ejecuta en modo de solo lectura por defecto para una exploración segura sin riesgo de cambios.
Tres Modos Operativos
| Modo | Configuración | Capacidades | Mejor Para |
|---|---|---|---|
| Solo Lectura Estricto (Predeterminado) | readonly=trueallow_select_queries=false | ✅ Ver todos los recursos ❌ Sin ejecución de consultas ❌ Sin modificaciones | Exploración segura |
| Solo Lectura + SELECT | readonly=trueallow_select_queries=true | ✅ Ver todos los recursos ✅ Ejecutar consultas SELECT ❌ Sin modificaciones | Monitoreo activo |
| Escritura Completa | readonly=false | ✅ Todas las operaciones ⚠️ La IA puede modificar Fleet | Gestión completa |
Ejemplos de Configuración
# Strict Read-Only (Default)
[fleet]
readonly = true
allow_select_queries = false
# Read-Only with SELECT Queries
[fleet]
readonly = true
allow_select_queries = true
# Full Write Access (⚠️ Use with caution) - Recommended to have LLM prompt for confirmation before making changes
[fleet]
readonly = false
Comandos CLI
| Comando | Descripción | Ejemplo |
|---|---|---|
run | Iniciar servidor MCP | fleet-mcp run |
test | Probar conexión con Fleet | fleet-mcp test |
init-config | Crear plantilla de configuración | fleet-mcp init-config |
version | Mostrar versión | fleet-mcp version |
Opciones Globales: --config, --verbose, --server-url, --api-token, --readonly
Ejemplos de Uso
Ejemplo 1: Listar Todos los Equipos
# In Claude Desktop or any MCP client
"List all teams in Fleet"
Ejemplo 2: Encontrar Software en un Host
"What version of Chrome is installed on host-123?"
Ejemplo 3: Ejecutar una Consulta
# With allow_select_queries=true
"Run a query to find all processes listening on port 80"
Ejemplo 4: Verificar Cumplimiento
"Show me which hosts are failing the disk encryption policy"
Ejemplo 5: Descubrir Tablas de Osquery
"What osquery tables are available for monitoring network connections?"
Desarrollo
Configuración de Desarrollo
Este proyecto utiliza uv para la gestión de dependencias.
Configuración
git clone https://github.com/SimplyMinimal/fleet-mcp.git
cd fleet-mcp
uv sync --dev
Tareas Comunes
| Tarea | Comando |
|---|---|
| Ejecutar pruebas | uv run pytest |
| Formatear código | uv run black src tests && uv run isort src tests |
| Verificación de tipos | uv run mypy src |
| Lint | uv run ruff check src tests |
| Agregar dependencia | uv add package-name |
| Agregar dependencia de desarrollo | uv add --group dev package-name |
Estructura del Proyecto
src/fleet_mcp/
├── cli.py # Command-line interface
├── client.py # Fleet API client
├── config.py # Configuration management
├── server.py # MCP server implementation
├── tools/ # MCP tool implementations
└── utils/ # Utilities (SQL validator, etc.)
Solución de Problemas
El Servidor No Aparece en el Cliente
- Valida la sintaxis JSON en el archivo de configuración
- Reinicia el cliente MCP
- Revisa los registros del cliente para ver errores
- Verifica que
uvxofleet-mcpesté en PATH:which uvx
Errores de Conexión
- Prueba manualmente:
uvx fleet-mcp test - Verifica que
FLEET_SERVER_URLsea accesible - Comprueba que
FLEET_API_TOKENsea válido - Para certificados autofirmados:
FLEET_VERIFY_SSL=false
Autenticación Fallida (401)
- Verifica que el token de API sea correcto
- Comprueba que el token no haya expirado
- Asegúrate de que el token tenga los permisos adecuados
- Genera un nuevo token: Interfaz de Fleet → Mi cuenta → Obtener token de API
Validación de Consulta Fallida
- Establece
FLEET_ALLOW_SELECT_QUERIES=true - Asegúrate de que la consulta sea solo SELECT (sin INSERT, UPDATE, DELETE, etc.)
- Verifica que la sintaxis SQL de osquery sea válida
Herramienta No Disponible
- Las operaciones de escritura requieren
FLEET_READONLY=false - La ejecución de consultas requiere
FLEET_ALLOW_SELECT_QUERIES=true - Verifica la disponibilidad de herramientas en el modo actual
Licencia
Fleet MCP es software de código abierto bajo la Licencia MIT.
Eres libre de usar, modificar y distribuir este software para cualquier propósito, incluido el uso comercial, sujeto a los términos de la Licencia MIT.
Aviso Legal
Este proyecto no está afiliado ni respaldado por Fleet DM. Es una implementación independiente del Protocolo de Contexto de Modelo para interactuar con instancias de Fleet.