Fleet-MCP
Permite que assistentes de IA interajam com o Fleet Device Management para gerenciamento de dispositivos, monitoramento de segurança e aplicação de conformidade.
Documentação
Fleet MCP
Um servidor Model Context Protocol (MCP) que permite que assistentes de IA interajam com o Fleet Device Management para gerenciamento de dispositivos, monitoramento de segurança e aplicação de conformidade.
Demonstração
📸 Mostrar/Ocultar Capturas de Tela da Demonstração
Recursos
- Gerenciamento de Hosts: Liste, pesquise, consulte e gerencie hosts em toda a sua frota
- Execução de Consultas ao Vivo: Execute consultas osquery em tempo real contra hosts
- Gerenciamento de Políticas: Crie, atualize e monitore políticas de conformidade
- Inventário de Software: Acompanhe instalações de software e vulnerabilidades em todos os dispositivos
- Gerenciamento de Equipes e Usuários: Organize hosts e usuários em equipes
- Descoberta de Tabelas osquery: Descoberta dinâmica e documentação de tabelas osquery
- Modo Somente Leitura: Exploração segura com execução opcional de consultas somente SELECT
- Monitoramento de Atividades: Acompanhe atividades do Fleet e logs de auditoria
Início Rápido
Quer começar direto? Isso configurará o fleet-mcp com acesso somente leitura e execução de consultas SELECT habilitada. Basta substituir o FLEET_SERVER_URL e o FLEET_API_TOKEN pelos seus próprios.
{
"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"
}
}
}
}
Consulte a seção Ferramentas Disponíveis abaixo para obter uma lista completa de ferramentas.
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 da API do Fleet: Gere um token de API na sua instância do Fleet: Opção 1)
- Faça login na interface do Fleet
- Navegue até: Minha conta → Obter token da API
- Copie o token para usar na configuração
Opção 2)
- Crie um usuário somente de API com
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 e a URL da sua instância do Fleet (https://your-fleet-instance.com) serão usados na configuração do cliente.
-
Escolha Seu Cliente: Selecione o cliente de assistente de IA de sua preferência e siga as instruções de configuração correspondentes abaixo.
Instalar no Claude Desktop
Localização do Arquivo de Configuração
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Configuração
{
"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: Substitua
uvxporfleet-mcpse você instalou o pacote globalmente. Para maior segurança, use a flag--configpara referenciar um arquivo TOML em vez de incorporar tokens (consulte Práticas Recomendadas de Segurança).
Instalar no Cursor
Vá para: Settings → Cursor Settings → MCP → Add new global MCP server
Instale globalmente em ~/.cursor/mcp.json ou por projeto em .cursor/mcp.json. Consulte a documentação MCP do Cursor para mais informações.
{
"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 no Cline (Extensão do VS Code)
Localização da Configuração: ~/.cline/mcp_settings.json (macOS/Linux) ou %USERPROFILE%\.cline\mcp_settings.json (Windows)
Alternativamente: Configurações do VS Code → Pesquise "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 no Continue (Extensão do VS Code)
Localização da Configuração: ~/.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 no Editor Zed
Localização da Configuração: ~/.config/zed/settings.json (macOS/Linux) ou %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 no Windsurf
Consulte a documentação MCP do Windsurf para mais informações.
{
"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 no VS Code
Consulte a documentação MCP do VS Code para mais informações.
"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 no Sourcegraph Cody
Localização da Configuração: ~/Library/Application Support/Cody/mcp_settings.json (macOS), %APPDATA%\Cody\mcp_settings.json (Windows) ou ~/.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 no Augment Code
Pela Interface: Menu de hambúrguer → Configurações → Ferramentas → + Adicionar MCP → Insira uvx fleet-mcp run → Nome: "Fleet" → Adicionar
Configuração Manual: Configurações → Avançado → 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 no LM Studio
Navegue até Program → Install → Edit mcp.json. Consulte o Suporte MCP do 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"
}
}
}
}
Configuração Genérica de Cliente MCP
Para outros clientes compatíveis com MCP, use este padrão geral:
{
"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"
}
}
}
}
Referência de Opções de Configuração
| Variável de Ambiente | Descrição | Padrão | Obrigatório |
|---|---|---|---|
FLEET_SERVER_URL | URL do servidor Fleet | - | ✅ |
FLEET_API_TOKEN | Token da API do Fleet | - | ✅ |
FLEET_READONLY | Ativar modo somente leitura | true | ❌ |
FLEET_ALLOW_SELECT_QUERIES | Permitir consultas SELECT no modo somente leitura | false | ❌ |
FLEET_VERIFY_SSL | Verificar certificados SSL | true | ❌ |
FLEET_TIMEOUT | Tempo limite de solicitação (segundos) | 30 | ❌ |
FLEET_MAX_RETRIES | Número máximo de tentativas de solicitação | 3 | ❌ |
Nota: Todos os clientes acima usam as mesmas variáveis de ambiente. Substitua
uvxporfleet-mcpse instalado globalmente.
Práticas Recomendadas de Segurança
- Use Arquivos de Configuração: Armazene tokens em arquivos TOML:
"args": ["fleet-mcp", "--config", "~/.config/fleet-mcp.toml", "run"] - Permissões de Arquivo:
chmod 600 ~/.config/fleet-mcp.toml - Modo Somente Leitura: Comece com
FLEET_READONLY=true(padrão) - Rotação de Tokens: Rotacione regularmente os tokens da API do Fleet
- Configurações Específicas por Ambiente: Use configurações separadas para dev/prod
Ferramentas Disponíveis
O Fleet MCP fornece ferramentas organizadas em dois grupos principais com base no modo operacional. Clique para expandir cada grupo.
Ferramentas Somente Leitura (Sempre Disponíveis)
Estas ferramentas estão disponíveis em todos os modos (readonly=true ou readonly=false). Elas apenas leem dados e nunca modificam o estado do Fleet.
Gerenciamento de Hosts
fleet_list_hosts- Liste hosts com filtragem, paginação e pesquisafleet_get_host- Obtenha informações detalhadas sobre um host específico por IDfleet_get_host_by_identifier- Obtenha host por hostname, UUID ou serial de hardwarefleet_search_hosts- Pesquise hosts por hostname, UUID, número de série ou IPfleet_list_host_upcoming_activities- Liste atividades futuras para um host específicofleet_list_host_past_activities- Liste atividades passadas para um host específicofleet_get_host_mdm- Obtenha informações de MDM para um host específicofleet_list_host_certificates- Liste certificados para um host específicofleet_get_host_macadmins- Obtenha dados de macadmins (Munki, perfis MDM) para um hostfleet_get_host_device_mapping- Obtenha informações de mapeamento de dispositivo para um hostfleet_get_host_encryption_key- Obtenha a chave de recuperação de criptografia de disco para um host
Gerenciamento de Consultas
fleet_list_queries- Liste todas as consultas salvas com paginaçãofleet_get_query- Obtenha detalhes de uma consulta salva específicafleet_get_query_report- Obtenha os resultados mais recentes de uma consulta agendada
Gerenciamento de Políticas
fleet_list_policies- Liste todas as políticas de conformidadefleet_get_policy_results- Obtenha resultados de conformidade para uma política específica
Software e Vulnerabilidades
fleet_list_software- Liste o inventário de software em toda a frotafleet_get_software- Obtenha informações detalhadas sobre um item de software específicofleet_get_host_software- Obtenha software instalado em um host específicofleet_get_vulnerabilities- Liste vulnerabilidades conhecidas com filtragemfleet_get_cve- Obtenha informações detalhadas sobre um CVE específicofleet_search_software- Pesquise software por nomefleet_find_software_on_host- Encontre software específico em um host por hostnamefleet_get_software_install_result- Obtenha o resultado de uma solicitação de instalação de softwarefleet_list_software_titles- Liste títulos de software em toda a frotafleet_get_software_title- Obtenha informações detalhadas sobre um título de software específico
Gerenciamento de Equipes
fleet_list_teams- Liste todas as equipesfleet_get_team- Obtenha detalhes de uma equipe específicafleet_list_team_users- Liste todos os usuários que são membros de uma equipe específicafleet_get_team_secrets- Liste segredos de inscrição específicos da equipe
Gerenciamento de Usuários
fleet_list_users- Liste todos os usuários com filtragemfleet_get_user- Obtenha detalhes de um usuário específicofleet_list_user_sessions- Liste sessões ativas para um usuáriofleet_get_session- Obtenha detalhes da sessão por ID
Gerenciamento de Rótulos
fleet_list_labels- Liste todos os rótulosfleet_get_label- Obtenha informações detalhadas sobre um rótulo específico
Gerenciamento de Pacotes
fleet_list_packs- Liste todos os pacotes de consultafleet_get_pack- Obtenha informações detalhadas sobre um pacote específicofleet_list_scheduled_queries- Liste consultas agendadas em um pacote específico
Gerenciamento de Scripts
fleet_list_scripts- Liste todos os scripts disponíveis no Fleetfleet_get_script- Obtenha detalhes de um script específicofleet_get_script_result- Obtenha o resultado de uma execução de scriptfleet_list_batch_scripts- Liste execuções de scripts em lotefleet_get_batch_script- Obtenha detalhes de uma execução de script em lotefleet_list_batch_script_hosts- Liste hosts em uma execução de script em lotefleet_list_host_scripts- Liste scripts disponíveis para um host específico
Gerenciamento de MDM
fleet_list_mdm_commands- Liste comandos MDM que foram executadosfleet_get_mdm_command_results- Obtenha resultados de comandos MDMfleet_list_mdm_profiles- Liste perfis de configuração MDMfleet_get_host_mdm_profiles- Obtenha perfis MDM instalados em um host específicofleet_get_mdm_profiles_summary- Obtenha resumo do status de implantação de perfis MDMfleet_get_filevault_summary- Obtenha resumo de criptografia FileVaultfleet_list_mdm_devices- Liste todos os dispositivos Apple inscritos em MDMfleet_get_bootstrap_metadata- Obtenha metadados sobre um pacote bootstrap para uma equipefleet_get_bootstrap_summary- Obtenha resumo agregado sobre a implantação de pacotes bootstrapfleet_get_setup_assistant- Obtenha a configuração do Assistente de Configuração Apple do MDMfleet_list_mdm_apple_installers- Liste todos os instaladores MDM da Apple
Gerenciamento de VPP/App Store
fleet_list_app_store_apps- Liste aplicativos da App Store disponíveis para instalaçãofleet_list_vpp_tokens- Liste tokens VPP configurados no Fleet
Gerenciamento de Configuração
fleet_get_config- Obtenha a configuração atual do aplicativo Fleetfleet_get_enroll_secrets- Obtenha a configuração de segredos de inscriçãofleet_get_certificate- Obtenha a cadeia de certificados do servidor Fleetfleet_get_version- Obtenha informações da versão do servidor Fleet
Gerenciamento de Segredos
fleet_list_secrets- Liste variáveis secretas no Fleet
Gerenciamento de Convites
fleet_list_invites- Liste convites de usuário pendentesfleet_verify_invite- Verifique um token de convite e obtenha detalhes do convite
Gerenciamento de Carve
fleet_list_carves- Liste sessões de carve de arquivosfleet_get_carve- Obtenha informações detalhadas sobre uma sessão de carve específicafleet_get_carve_block- Obtenha um bloco específico de dados de uma sessão de carve
Gerenciamento de Dispositivos
fleet_get_device_info- Obtenha informações do dispositivo usando um token de dispositivo
Monitoramento de Atividades
fleet_list_activities- Liste atividades do Fleet e logs de auditoria
Descoberta e Referência de Tabelas Osquery
fleet_list_osquery_tables- Listar tabelas osquery disponíveis com descoberta dinâmicafleet_get_osquery_table_schema- Obter esquema detalhado para uma tabela específicafleet_suggest_tables_for_query- Obter sugestões de tabelas com IA baseadas na intenção
Sistema
fleet_health_check- Verificar conectividade e autenticação do servidor Fleet
Ferramentas de Escrita/Modificação (Requer readonly=false)
Essas ferramentas podem modificar o estado do Fleet e estão disponíveis apenas quando readonly=false está definido na configuração. Isso permitirá que você faça alterações no seu ambiente Fleet, como criar scripts, políticas, gerenciar equipes, etc., além das ferramentas somente leitura. Definir como readonly=true (padrão) desabilitará essas ferramentas.
Gerenciamento de Hosts
fleet_delete_host- Remover um host do Fleetfleet_transfer_hosts- Transferir hosts para uma equipe diferentefleet_query_host- Executar uma consulta ao vivo ad-hoc contra um host específicofleet_query_host_by_identifier- Executar uma consulta ao vivo por hostname/UUID/serialfleet_cancel_host_activity- Cancelar uma atividade futura para um host específicofleet_lock_host- Bloquear remotamente o dispositivo de um hostfleet_unlock_host- Desbloquear remotamente o dispositivo de um hostfleet_unenroll_host_mdm- Cancelar a inscrição de um host no MDMfleet_add_labels_to_host- Adicionar rótulos a um hostfleet_remove_labels_from_host- Remover rótulos de um hostfleet_refetch_host- Forçar um host a buscar novamente e atualizar seus dados imediatamente
Gerenciamento de Consultas
fleet_create_query- Criar uma nova consulta salvafleet_delete_query- Excluir uma consulta salvafleet_run_live_query_with_results- Executar uma consulta ao vivo e coletar resultadosfleet_run_saved_query- Executar uma consulta salva contra hosts
Gerenciamento de Políticas
fleet_create_policy- Criar uma nova política de conformidadefleet_update_policy- Atualizar uma política existentefleet_delete_policy- Excluir uma política
Gerenciamento de Software
fleet_install_software- Instalar software em um host específicofleet_batch_set_software- Enviar/definir instaladores de software em lote para uma equipe
Gerenciamento de Equipes
fleet_create_team- Criar uma nova equipefleet_add_team_users- Adicionar um ou mais usuários a uma equipe específicafleet_remove_team_user- Remover um usuário específico de uma equipe
Gerenciamento de Usuários
fleet_create_user- Criar um novo usuáriofleet_update_user- Atualizar um usuário existentefleet_delete_session- Excluir/invalidar uma sessão específicafleet_delete_user_sessions- Excluir todas as sessões de um usuário específico
Gerenciamento de Rótulos
fleet_create_label- Criar um novo rótulofleet_update_label- Atualizar um rótulo existentefleet_delete_label- Excluir um rótulo pelo nome
Gerenciamento de Pacotes
fleet_create_pack- Criar um novo pacote de consultasfleet_update_pack- Atualizar um pacote existentefleet_delete_pack- Excluir um pacote pelo nome
Gerenciamento de Scripts
fleet_run_script- Executar um script em um host específicofleet_run_batch_script- Executar um script em vários hostsfleet_cancel_batch_script- Cancelar uma execução de script em lotefleet_create_script- Criar e enviar um novo scriptfleet_modify_script- Modificar um script existentefleet_delete_script- Excluir um script
Gerenciamento de MDM
fleet_upload_mdm_profile- Enviar um novo perfil de configuração MDMfleet_delete_mdm_profile- Excluir um perfil de configuração MDMfleet_lock_device- Bloquear remotamente um dispositivo inscrito no MDMfleet_upload_bootstrap_package- Enviar um pacote bootstrap para inscrição no MDMfleet_delete_bootstrap_package- Excluir um pacote bootstrap para uma equipefleet_create_setup_assistant- Criar ou atualizar um Assistente de Configuração Apple MDMfleet_delete_setup_assistant- Excluir o Assistente de Configuração Apple MDMfleet_upload_mdm_apple_installer- Enviar um novo pacote instalador Apple MDM Nota: A ferramenta de apagamento de dispositivo está atualmente desabilitada por ser muito perigosa. Ela pode ser revisitada mais tarde se realmente necessário.
Gerenciamento de VPP/App Store
fleet_add_app_store_app- Adicionar um aplicativo da App Store para distribuiçãofleet_update_app_store_app- Atualizar configurações de aplicativos da App Storefleet_delete_vpp_token- Excluir um token VPP
Gerenciamento de Configuração
fleet_update_config- Atualizar a configuração do aplicativo Fleetfleet_update_enroll_secrets- Atualizar a configuração de segredos de inscrição
Gerenciamento de Segredos
fleet_create_secret- Criar uma nova variável secretafleet_delete_secret- Excluir uma variável secreta por ID
Gerenciamento de Convites
fleet_create_invite- Criar um novo convite de usuáriofleet_update_invite- Atualizar um convite pendentefleet_delete_invite- Excluir um convite pendente
Configuração
O Fleet MCP suporta três métodos de configuração (em ordem de precedência):
- Argumentos de linha de comando (maior prioridade)
- Variáveis de ambiente (com prefixo
FLEET_) - Arquivo de configuração (recomendado para segurança)
Arquivo de Configuração (Recomendado)
Crie 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
Variáveis de Ambiente
Consulte Referência de Opções de Configuração para todas as variáveis disponíveis. As variáveis de ambiente usam o prefixo FLEET_ e substituem as configurações do arquivo de configuração.
Argumentos de Linha de Comando
fleet-mcp --server-url https://fleet.example.com --api-token YOUR_TOKEN run
Opções: --config, --server-url, --api-token, --readonly, --verbose
Modo Somente Leitura
O Fleet MCP é executado em modo somente leitura por padrão para exploração segura sem risco de alterações.
Três Modos Operacionais
| Modo | Config | Capacidades | Melhor Para |
|---|---|---|---|
| Somente Leitura Estrito (Padrão) | readonly=trueallow_select_queries=false | ✅ Visualizar todos os recursos ❌ Sem execução de consultas ❌ Sem modificações | Exploração segura |
| Somente Leitura + SELECT | readonly=trueallow_select_queries=true | ✅ Visualizar todos os recursos ✅ Executar consultas SELECT ❌ Sem modificações | Monitoramento ativo |
| Escrita Completa | readonly=false | ✅ Todas as operações ⚠️ A IA pode modificar o Fleet | Gerenciamento completo |
Exemplos de Configuração
# 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 | Descrição | Exemplo |
|---|---|---|
run | Iniciar servidor MCP | fleet-mcp run |
test | Testar conexão com Fleet | fleet-mcp test |
init-config | Criar modelo de configuração | fleet-mcp init-config |
version | Mostrar versão | fleet-mcp version |
Opções Globais: --config, --verbose, --server-url, --api-token, --readonly
Exemplos de Uso
Exemplo 1: Listar Todas as Equipes
# In Claude Desktop or any MCP client
"List all teams in Fleet"
Exemplo 2: Encontrar Software em um Host
"What version of Chrome is installed on host-123?"
Exemplo 3: Executar uma Consulta
# With allow_select_queries=true
"Run a query to find all processes listening on port 80"
Exemplo 4: Verificar Conformidade
"Show me which hosts are failing the disk encryption policy"
Exemplo 5: Descobrir Tabelas Osquery
"What osquery tables are available for monitoring network connections?"
Desenvolvimento
Configuração de Desenvolvimento
Este projeto usa uv para gerenciamento de dependências.
Configuração
git clone https://github.com/SimplyMinimal/fleet-mcp.git
cd fleet-mcp
uv sync --dev
Tarefas Comuns
| Tarefa | Comando |
|---|---|
| Executar testes | uv run pytest |
| Formatar código | uv run black src tests && uv run isort src tests |
| Verificação de tipos | uv run mypy src |
| Lint | uv run ruff check src tests |
| Adicionar dependência | uv add package-name |
| Adicionar dependência de desenvolvimento | uv add --group dev package-name |
Estrutura do Projeto
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.)
Solução de Problemas
Servidor Não Aparecendo no Cliente
- Valide a sintaxe JSON no arquivo de configuração
- Reinicie o cliente MCP
- Verifique os logs do cliente em busca de erros
- Verifique se
uvxoufleet-mcpestá no PATH:which uvx
Erros de Conexão
- Teste manualmente:
uvx fleet-mcp test - Verifique se
FLEET_SERVER_URLestá acessível - Verifique se
FLEET_API_TOKENé válido - Para certificados autoassinados:
FLEET_VERIFY_SSL=false
Falha na Autenticação (401)
- Verifique se o token da API está correto
- Verifique se o token não expirou
- Garanta que o token tenha as permissões adequadas
- Gere um novo token: Fleet UI → Minha conta → Obter token da API
Falha na Validação da Consulta
- Defina
FLEET_ALLOW_SELECT_QUERIES=true - Garanta que a consulta seja somente SELECT (sem INSERT, UPDATE, DELETE, etc.)
- Verifique se a sintaxe SQL do osquery é válida
Ferramenta Não Disponível
- Operações de escrita exigem
FLEET_READONLY=false - A execução de consultas exige
FLEET_ALLOW_SELECT_QUERIES=true - Verifique a disponibilidade da ferramenta no modo atual
Licença
O Fleet MCP é um software de código aberto licenciado sob a Licença MIT.
Você é livre para usar, modificar e distribuir este software para qualquer finalidade, incluindo uso comercial, sujeito aos termos da Licença MIT.
Aviso Legal
Este projeto não é afiliado ou endossado pela Fleet DM. É uma implementação independente do Model Context Protocol para interagir com instâncias do Fleet.