mcpField
F
Fleetp MCP

Fleetp MCP

本地服务
github.com/SimplyMinimal安全534 周前更新

关于 Fleetp MCP

Fleetp MCP 将 Fleet 设备管理能力接入 AI 助手,面向设备管理、安全监控与合规工作的团队。它涵盖主机、软件、策略、查询及 MDM 信息,并支持只读模式。

主要功能

  1. 01搜索和管理主机信息
  2. 02对主机运行实时 osquery 查询
  3. 03查看合规策略及结果
  4. 04盘点软件并查询漏洞
  5. 05管理团队、用户及设备活动
  6. 06支持只读模式和 SELECT 查询

适用场景

  1. 01调查设备主机及其活动记录
  2. 02检查软件清单与已知漏洞
  3. 03查看设备合规策略结果
  4. 04以只读方式探索 Fleet 数据

MCP 相关

Fleetp MCP 将 Fleet 的设备与安全管理操作作为工具提供给 MCP 客户端,支持只读配置以及可选的 SELECT 查询执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"fleet": {
"command": "uvx",
"args": [
"fleet-mcp"
],
"env": {
"FLEET_SERVER_URL": "<FLEET_SERVER_URL>",
"FLEET_API_TOKEN": "<FLEET_API_TOKEN>",
"FLEET_READONLY": "<FLEET_READONLY>",
"FLEET_ALLOW_SELECT_QUERIES": "<FLEET_ALLOW_SELECT_QUERIES>",
"FLEET_VERIFY_SSL": "<FLEET_VERIFY_SSL>"
}
}
}
}
启动命令uvx fleet-mcp
需要配置的环境变量
FLEET_SERVER_URLYour Fleet server URL (e.g., https://your-fleet-instance.com)
FLEET_API_TOKEN密钥Your Fleet API token. Get this from Fleet UI: My account > Get API token
FLEET_READONLYEnable read-only mode
FLEET_ALLOW_SELECT_QUERIESAllow SELECT queries in read-only mode. This allows you to run live queries.
FLEET_VERIFY_SSLVerify SSL certificates when connecting to your Fleet instance.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypifleet-mcp1.1.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Ask DeepWiki

Fleet MCP

一种模型上下文协议(MCP)服务,可让 AI 助手通过 Fleet Device Management 执行设备管理、安全监控和合规性实施。

演示

📸 显示/隐藏演示截图

Fleet MCP 演示 - 查询主机信息并运行实时查询

Fleet MCP 演示 - 管理策略和合规性

Fleet MCP 演示 - 软件清单和漏洞跟踪

Fleet MCP 演示 - 高级舰队管理操作

功能

  • 主机管理:列出、搜索、查询和管理舰队中的主机
  • 实时查询执行:实时对主机运行 osquery 查询
  • 策略管理:创建、更新和监控合规策略
  • 软件清单:跟踪设备上的软件安装和漏洞
  • 团队和用户管理:将主机和用户组织到团队中
  • Osquery 表发现:动态发现和记录 osquery 表
  • 只读模式:通过可选的仅执行 SELECT 查询功能安全探索
  • 活动监控:跟踪 Fleet 活动和审计日志

快速开始

想直接开始使用?这会设置 fleet-mcp,并启用只读访问和 SELECT 查询执行。只需将 FLEET_SERVER_URL 和 FLEET_API_TOKEN 替换为你自己的值。

{
  "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"
      }
    }
  }
}

有关工具的完整列表,请参阅下方的可用工具部分。


MCP 客户端配置

Fleet MCP 可与各种兼容 MCP 的客户端集成。以下是常见客户端的配置示例。

前提条件

配置任何 MCP 客户端之前,请确保你已准备好:

  1. 安装 uv(推荐)或 pip:

    # Install uv (recommended)
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Or use pip
    pip install fleet-mcp
    
  2. Fleet API 令牌:从你的 Fleet 实例生成 API 令牌: 选项 1)

    • 登录 Fleet UI
    • 前往:我的账户 → 获取 API 令牌
    • 复制令牌以用于配置

    选项 2)

    • 使用 fleetctl 创建仅限 API 的用户
    # Generate an API-Only User and get the token
    fleetctl user create --name Fleet-MCP --email <email> --password <password> --role admin --api-only
    

    注意:此 API 令牌和你的 Fleet 实例 URL(https://your-fleet-instance.com)将用于客户端配置。

  3. 选择客户端:选择你偏好的 AI 助手客户端,并按照下方相应的设置说明操作。

在 Claude Desktop 中安装
配置文件位置
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.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"
      }
    }
  }
}

**注意:**如果已全局安装该软件包,请将 uvx 替换为 fleet-mcp。为增强安全性,请使用 --config 标志引用 TOML 文件,而不是直接嵌入令牌(参见安全最佳实践)。

在 Cursor 中安装

前往:Settings → Cursor Settings → MCP → Add new global MCP server

可全局安装到 ~/.cursor/mcp.json,也可按项目安装到 .cursor/mcp.json。更多信息请参阅 Cursor MCP 文档。

{
  "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"
      }
    }
  }
}
在 Cline(VS Code 扩展)中安装

配置位置:~/.cline/mcp_settings.json(macOS/Linux)或 %USERPROFILE%\.cline\mcp_settings.json(Windows)

或者:VS Code 设置 → 搜索 "Cline: MCP Settings" → 编辑 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"
      }
    }
  }
}
在 Continue(VS Code 扩展)中安装

配置位置:~/.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"
      }
    }
  ]
}
在 Zed Editor 中安装

配置位置:~/.config/zed/settings.json(macOS/Linux)或 %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"
        }
      }
    }
  }
}
在 Windsurf 中安装

更多信息请参阅 Windsurf MCP 文档。

{
  "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"
      }
    }
  }
}
在 VS Code 中安装

更多信息请参阅 VS Code MCP 文档。

"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"
      }
    }
  }
}
在 Sourcegraph Cody 中安装

配置位置:~/Library/Application Support/Cody/mcp_settings.json(macOS)、%APPDATA%\Cody\mcp_settings.json(Windows)或 ~/.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"
      }
    }
  }
}
在 Augment Code 中安装

**通过 UI:**汉堡菜单 → 设置 → 工具 → + 添加 MCP → 输入 uvx fleet-mcp run → 名称:"Fleet" → 添加

**手动配置:**设置 → 高级 → 编辑 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"
      }
    }
  ]
}
在 LM Studio 中安装

前往 Program → Install → Edit mcp.json。参见 LM Studio MCP 支持。

{
  "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"
      }
    }
  }
}
通用 MCP 客户端配置

对于其他兼容 MCP 的客户端,请使用以下通用模式:

{
  "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"
      }
    }
  }
}
配置选项参考
环境变量描述默认值必填
FLEET_SERVER_URLFleet 服务 URL-✅
FLEET_API_TOKENFleet API 令牌-✅
FLEET_READONLY启用只读模式true❌
FLEET_ALLOW_SELECT_QUERIES允许在只读模式下执行 SELECT 查询false❌
FLEET_VERIFY_SSL验证 SSL 证书true❌
FLEET_TIMEOUT请求超时(秒)30❌
FLEET_MAX_RETRIES最大请求重试次数3❌

**注意:**以上所有客户端都使用相同的环境变量。如果已全局安装,请将 uvx 替换为 fleet-mcp。

安全最佳实践
  1. 使用配置文件:将令牌存储在 TOML 文件中:"args": ["fleet-mcp", "--config", "~/.config/fleet-mcp.toml", "run"]
  2. 文件权限:chmod 600 ~/.config/fleet-mcp.toml
  3. 只读模式:从 FLEET_READONLY=true 开始(默认值)
  4. 令牌轮换:定期轮换 Fleet API 令牌
  5. 特定环境的配置:为开发和生产环境使用单独的配置

可用工具

Fleet MCP 根据运行模式将工具分为两大组。点击展开各组。

只读工具(始终可用)

这些工具在所有模式下均可用(readonly=true 或 readonly=false)。它们只读取数据,绝不会修改 Fleet 状态。

主机管理
  • fleet_list_hosts - 列出主机,支持筛选、分页和搜索
  • fleet_get_host - 根据 ID 获取特定主机的详细信息
  • fleet_get_host_by_identifier - 根据主机名、UUID 或硬件序列号获取主机
  • fleet_search_hosts - 根据主机名、UUID、序列号或 IP 搜索主机
  • fleet_list_host_upcoming_activities - 列出特定主机即将进行的活动
  • fleet_list_host_past_activities - 列出特定主机过去的活动
  • fleet_get_host_mdm - 获取特定主机的 MDM 信息
  • fleet_list_host_certificates - 列出特定主机的证书
  • fleet_get_host_macadmins - 获取主机的 macadmins 数据(Munki、MDM 配置描述文件)
  • fleet_get_host_device_mapping - 获取主机的设备映射信息
  • fleet_get_host_encryption_key - 获取主机的磁盘加密恢复密钥
查询管理
  • fleet_list_queries - 列出所有已保存的查询,支持分页
  • fleet_get_query - 获取特定已保存查询的详细信息
  • fleet_get_query_report - 获取定时查询的最新结果
策略管理
  • fleet_list_policies - 列出所有合规策略
  • fleet_get_policy_results - 获取特定策略的合规结果
软件与漏洞
  • fleet_list_software - 列出整个设备群的软件清单
  • fleet_get_software - 获取特定软件项的详细信息
  • fleet_get_host_software - 获取特定主机上安装的软件
  • fleet_get_vulnerabilities - 列出已知漏洞,支持筛选
  • fleet_get_cve - 获取特定 CVE 的详细信息
  • fleet_search_software - 按名称搜索软件
  • fleet_find_software_on_host - 按主机名查找主机上的特定软件
  • fleet_get_software_install_result - 获取软件安装请求的结果
  • fleet_list_software_titles - 列出整个设备群的软件标题
  • fleet_get_software_title - 获取特定软件标题的详细信息
团队管理
  • fleet_list_teams - 列出所有团队
  • fleet_get_team - 获取特定团队的详细信息
  • fleet_list_team_users - 列出特定团队的所有成员
  • fleet_get_team_secrets - 列出团队专属的注册密钥
用户管理
  • fleet_list_users - 列出所有用户,支持筛选
  • fleet_get_user - 获取特定用户的详细信息
  • fleet_list_user_sessions - 列出用户的活动会话
  • fleet_get_session - 根据 ID 获取会话详细信息
标签管理
  • fleet_list_labels - 列出所有标签
  • fleet_get_label - 获取特定标签的详细信息
查询包管理
  • fleet_list_packs - 列出所有查询包
  • fleet_get_pack - 获取特定查询包的详细信息
  • fleet_list_scheduled_queries - 列出特定查询包中的定时查询
脚本管理
  • fleet_list_scripts - 列出 Fleet 中的所有可用脚本
  • fleet_get_script - 获取特定脚本的详细信息
  • fleet_get_script_result - 获取脚本执行结果
  • fleet_list_batch_scripts - 列出批量脚本执行记录
  • fleet_get_batch_script - 获取批量脚本执行的详细信息
  • fleet_list_batch_script_hosts - 列出批量脚本执行涉及的主机
  • fleet_list_host_scripts - 列出特定主机可用的脚本
MDM 管理
  • fleet_list_mdm_commands - 列出已执行的 MDM 命令
  • fleet_get_mdm_command_results - 获取 MDM 命令的结果
  • fleet_list_mdm_profiles - 列出 MDM 配置描述文件
  • fleet_get_host_mdm_profiles - 获取特定主机上安装的 MDM 描述文件
  • fleet_get_mdm_profiles_summary - 获取 MDM 描述文件部署状态摘要
  • fleet_get_filevault_summary - 获取 FileVault 加密摘要
  • fleet_list_mdm_devices - 列出所有已注册 MDM 的 Apple 设备
  • fleet_get_bootstrap_metadata - 获取团队的 bootstrap 软件包元数据
  • fleet_get_bootstrap_summary - 获取 bootstrap 软件包部署的汇总摘要
  • fleet_get_setup_assistant - 获取 MDM Apple Setup Assistant 配置
  • fleet_list_mdm_apple_installers - 列出所有 Apple MDM 安装器
VPP/App Store 管理
  • fleet_list_app_store_apps - 列出可供安装的 App Store 应用
  • fleet_list_vpp_tokens - 列出 Fleet 中配置的 VPP 令牌
配置管理
  • fleet_get_config - 获取当前 Fleet 应用配置
  • fleet_get_enroll_secrets - 获取注册密钥配置
  • fleet_get_certificate - 获取 Fleet 服务证书链
  • fleet_get_version - 获取 Fleet 服务版本信息
密钥管理
  • fleet_list_secrets - 列出 Fleet 中的密钥变量
邀请管理
  • fleet_list_invites - 列出待处理的用户邀请
  • fleet_verify_invite - 验证邀请令牌并获取邀请详情
Carve 管理
  • fleet_list_carves - 列出文件采集会话
  • fleet_get_carve - 获取特定采集会话的详细信息
  • fleet_get_carve_block - 获取采集会话中的特定数据块
设备管理
  • fleet_get_device_info - 使用设备令牌获取设备信息
活动监控
  • fleet_list_activities - 列出 Fleet 活动和审计日志
Osquery 表发现与参考
  • fleet_list_osquery_tables - 通过动态发现列出可用的 osquery 表
  • fleet_get_osquery_table_schema - 获取特定表的详细架构
  • fleet_suggest_tables_for_query - 根据意图获取 AI 驱动的表建议
系统
  • fleet_health_check - 检查 Fleet 服务的连接状态和身份验证
写入/修改工具(需要 readonly=false)

这些工具可以修改 Fleet 状态,且只有在配置中设置 readonly=false 时才可用。除了只读工具外,这还允许你对 Fleet 环境进行更改,例如创建脚本、策略和管理团队等。设置为 readonly=true(默认值)将禁用这些工具。

主机管理
  • fleet_delete_host - 从 Fleet 中移除主机
  • fleet_transfer_hosts - 将主机转移到其他团队
  • fleet_query_host - 对特定主机运行临时实时查询
  • fleet_query_host_by_identifier - 根据主机名/UUID/序列号运行实时查询
  • fleet_cancel_host_activity - 取消特定主机的待执行活动
  • fleet_lock_host - 远程锁定主机设备
  • fleet_unlock_host - 远程解锁主机设备
  • fleet_unenroll_host_mdm - 将主机从 MDM 中注销
  • fleet_add_labels_to_host - 为主机添加标签
  • fleet_remove_labels_from_host - 从主机移除标签
  • fleet_refetch_host - 强制主机立即重新获取并更新其数据
查询管理
  • fleet_create_query - 创建新的已保存查询
  • fleet_delete_query - 删除已保存查询
  • fleet_run_live_query_with_results - 执行实时查询并收集结果
  • fleet_run_saved_query - 对主机运行已保存查询
策略管理
  • fleet_create_policy - 创建新的合规策略
  • fleet_update_policy - 更新现有策略
  • fleet_delete_policy - 删除策略
软件管理
  • fleet_install_software - 在指定主机上安装软件
  • fleet_batch_set_software - 为团队批量上传/设置软件安装程序
团队管理
  • fleet_create_team - 创建新团队
  • fleet_add_team_users - 向指定团队添加一个或多个用户
  • fleet_remove_team_user - 从团队中移除指定用户
用户管理
  • fleet_create_user - 创建新用户
  • fleet_update_user - 更新现有用户
  • fleet_delete_session - 删除/使指定会话失效
  • fleet_delete_user_sessions - 删除指定用户的所有会话
标签管理
  • fleet_create_label - 创建新标签
  • fleet_update_label - 更新现有标签
  • fleet_delete_label - 按名称删除标签
查询包管理
  • fleet_create_pack - 创建新的查询包
  • fleet_update_pack - 更新现有查询包
  • fleet_delete_pack - 按名称删除查询包
脚本管理
  • fleet_run_script - 在指定主机上运行脚本
  • fleet_run_batch_script - 在多台主机上运行脚本
  • fleet_cancel_batch_script - 取消批量脚本执行
  • fleet_create_script - 创建并上传新脚本
  • fleet_modify_script - 修改现有脚本
  • fleet_delete_script - 删除脚本
MDM 管理
  • fleet_upload_mdm_profile - 上传新的 MDM 配置描述文件
  • fleet_delete_mdm_profile - 删除 MDM 配置描述文件
  • fleet_lock_device - 远程锁定已注册 MDM 的设备
  • fleet_upload_bootstrap_package - 上传用于 MDM 注册的引导程序包
  • fleet_delete_bootstrap_package - 删除团队的引导程序包
  • fleet_create_setup_assistant - 创建或更新 MDM Apple Setup Assistant
  • fleet_delete_setup_assistant - 删除 MDM Apple Setup Assistant
  • fleet_upload_mdm_apple_installer - 上传新的 Apple MDM 安装程序包 注意:擦除设备工具目前已禁用,因为它的风险过高。如果确有需要,之后可能会重新考虑启用。
VPP/App Store 管理
  • fleet_add_app_store_app - 添加用于分发的 App Store 应用
  • fleet_update_app_store_app - 更新 App Store 应用设置
  • fleet_delete_vpp_token - 删除 VPP 令牌
配置管理
  • fleet_update_config - 更新 Fleet 应用配置
  • fleet_update_enroll_secrets - 更新注册密钥配置
密钥管理
  • fleet_create_secret - 创建新的密钥变量
  • fleet_delete_secret - 按 ID 删除密钥变量
邀请管理
  • fleet_create_invite - 创建新的用户邀请
  • fleet_update_invite - 更新待处理的邀请
  • fleet_delete_invite - 删除待处理的邀请

配置

Fleet MCP 支持三种配置方式(优先级由高到低):

  1. 命令行参数(最高优先级)
  2. 环境变量(使用 FLEET_ 前缀)
  3. 配置文件(出于安全考虑,推荐使用)
配置文件(推荐)

创建 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
环境变量

所有可用变量请参阅配置选项参考。环境变量使用 FLEET_ 前缀,并会覆盖配置文件中的设置。

命令行参数
fleet-mcp --server-url https://fleet.example.com --api-token YOUR_TOKEN run

选项:--config、--server-url、--api-token、--readonly、--verbose

只读模式

Fleet MCP 默认以只读模式运行,可安全探索而无需担心造成更改。

三种运行模式
模式配置功能适用场景
严格只读(默认)readonly=true
allow_select_queries=false
✅ 查看所有资源
❌ 不执行查询
❌ 不做任何修改
安全探索
只读 + SELECTreadonly=true
allow_select_queries=true
✅ 查看所有资源
✅ 运行 SELECT 查询
❌ 不做任何修改
主动监控
完全写入readonly=false✅ 所有操作
⚠️ AI 可以修改 Fleet
完全管理
配置示例
# 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

CLI 命令

命令描述示例
run启动 MCP 服务fleet-mcp run
test测试 Fleet 连接fleet-mcp test
init-config创建配置模板fleet-mcp init-config
version显示版本fleet-mcp version

全局选项: --config、--verbose、--server-url、--api-token、--readonly

使用示例

示例 1:列出所有团队
# In Claude Desktop or any MCP client
"List all teams in Fleet"
示例 2:查找主机上的软件
"What version of Chrome is installed on host-123?"
示例 3:运行查询
# With allow_select_queries=true
"Run a query to find all processes listening on port 80"
示例 4:检查合规性
"Show me which hosts are failing the disk encryption policy"
示例 5:发现 Osquery 表
"What osquery tables are available for monitoring network connections?"

开发

开发环境设置

本项目使用 uv 管理依赖项。

设置
git clone https://github.com/SimplyMinimal/fleet-mcp.git
cd fleet-mcp
uv sync --dev
常见任务
任务命令
运行测试uv run pytest
格式化代码uv run black src tests && uv run isort src tests
类型检查uv run mypy src
代码检查uv run ruff check src tests
添加依赖项uv add package-name
添加开发依赖项uv add --group dev package-name
项目结构
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.)

故障排除

客户端中未显示服务
  1. 验证配置文件中的 JSON 语法
  2. 重启 MCP 客户端
  3. 检查客户端日志中的错误
  4. 确认 uvx 或 fleet-mcp 位于 PATH 中:which uvx
连接错误
  1. 手动测试:uvx fleet-mcp test
  2. 确认可以访问 FLEET_SERVER_URL
  3. 检查 FLEET_API_TOKEN 是否有效
  4. 对于自签名证书:FLEET_VERIFY_SSL=false
身份验证失败(401)
  1. 确认 API 令牌正确
  2. 检查令牌是否已过期
  3. 确保令牌具有适当的权限
  4. 生成新令牌:Fleet UI → 我的账户 → 获取 API 令牌
查询验证失败
  1. 设置 FLEET_ALLOW_SELECT_QUERIES=true
  2. 确保查询仅包含 SELECT(不含 INSERT、UPDATE、DELETE 等)
  3. 验证 osquery SQL 语法有效
工具不可用
  • 写入操作需要 FLEET_READONLY=false
  • 执行查询需要 FLEET_ALLOW_SELECT_QUERIES=true
  • 检查当前模式下工具是否可用

许可证

Fleet MCP 是根据 MIT License 授权的开源软件。

在遵守 MIT License 条款的前提下,您可以出于任何目的使用、修改和分发此软件,包括商业用途。

免责声明

本项目与 Fleet DM 无关,也未得到其认可。这是 Model Context Protocol 的独立实现,用于与 Fleet 实例交互。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。