Fleetp MCP について
Fleetp MCPは、Fleet Device ManagementをAIアシスタントから利用するためのMCPサーバーです。デバイス管理、セキュリティ監視、コンプライアンスに対応し、読み取り専用モードも備えています。
主な機能
- 01ホスト情報の検索と管理
- 02ホストへのosqueryリアルタイム実行
- 03コンプライアンスポリシーと結果の確認
- 04ソフトウェアと脆弱性の把握
- 05チーム、ユーザー、デバイス活動の管理
- 06読み取り専用モードとSELECTクエリ
活用シーン
- 01ホストと活動記録の調査
- 02ソフトウェア一覧と既知の脆弱性の確認
- 03デバイスのコンプライアンスポリシー結果の確認
- 04読み取り専用でFleetデータを調査
MCP 対応
Fleetのデバイス管理やセキュリティ操作を、MCPクライアント向けのツールとして公開します。読み取り専用設定と、任意のSELECTクエリ実行に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx fleet-mcpFLEET_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 tokenFLEET_READONLYEnable read-only modeFLEET_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Fleet MCP
AI アシスタントがデバイス管理、セキュリティ監視、コンプライアンスの徹底のために Fleet Device Management と連携できるようにする Model Context Protocol(MCP)サーバーです。
デモ
📸 デモスクリーンショットの表示/非表示
機能
- ホスト管理:フリート全体のホストの一覧表示、検索、照会、管理
- ライブクエリの実行:ホストに対して osquery クエリをリアルタイムで実行
- ポリシー管理:コンプライアンスポリシーの作成、更新、監視
- ソフトウェアインベントリ:デバイス全体のソフトウェアインストールと脆弱性を追跡
- チームとユーザーの管理:ホストとユーザーをチームに編成
- Osquery テーブルの検出:osquery テーブルを動的に検出し、ドキュメント化
- 読み取り専用モード:SELECT のみのクエリ実行を任意で有効にして、安全に探索
- アクティビティの監視:Fleet のアクティビティと監査ログを追跡
クイックスタート
すぐに始めたい場合は、読み取り専用アクセスと SELECT クエリの実行を有効にして fleet-mcp をセットアップできます。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 クライアントを設定する前に、以下を準備してください。
-
uv(推奨)またはpipをインストールします:# Install uv (recommended) curl -LsSf https://astral.sh/uv/install.sh | sh # Or use pip pip install fleet-mcp -
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)をクライアント設定で使用します。
-
クライアントを選択します:お好みの 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"
}
}
}
}
Note: パッケージをグローバルにインストールした場合は、
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 の Settings → 「Cline: MCP Settings」を検索 → Edit 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 から: Hamburger menu → Settings → Tools → + Add MCP → uvx fleet-mcp run を入力 → 名前:「Fleet」→ Add
手動設定: Settings → Advanced → Edit 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_URL | Fleet サーバーの URL | - | ✅ |
FLEET_API_TOKEN | Fleet API トークン | - | ✅ |
FLEET_READONLY | 読み取り専用モードを有効にする | true | ❌ |
FLEET_ALLOW_SELECT_QUERIES | 読み取り専用モードで SELECT クエリを許可する | false | ❌ |
FLEET_VERIFY_SSL | SSL 証明書を検証する | true | ❌ |
FLEET_TIMEOUT | リクエストのタイムアウト(秒) | 30 | ❌ |
FLEET_MAX_RETRIES | リクエストの最大再試行回数 | 3 | ❌ |
Note: 上記のすべてのクライアントで同じ環境変数を使用します。グローバルにインストールした場合は、
uvxをfleet-mcpに置き換えてください。
セキュリティのベストプラクティス
- 設定ファイルを使用する:トークンを TOML ファイルに保存します:"args": ["fleet-mcp", "--config", "~/.config/fleet-mcp.toml", "run"]
- ファイルの権限:
chmod 600 ~/.config/fleet-mcp.toml - 読み取り専用モード:
FLEET_READONLY=true(デフォルト)から開始します - トークンのローテーション:Fleet API トークンを定期的にローテーションします
- 環境別の設定:開発用と本番用に別々の設定を使用します
利用可能なツール
Fleet MCP は、運用モードに基づいて 2 つの主なグループに分けられたツールを提供します。クリックすると各グループを展開できます。
読み取り専用ツール(常時利用可能)
これらのツールは、すべてのモード(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全体のソフトウェアインベントリを一覧表示します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全体のソフトウェアタイトル一覧を取得します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- チームのブートストラップパッケージに関するメタデータを取得しますfleet_get_bootstrap_summary- ブートストラップパッケージの展開状況の集計概要を取得します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- 特定のチームに1人以上のユーザーを追加します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 では、次の3つの構成方法をサポートしています(優先順位の高い順)。
- コマンドライン引数(最優先)
- 環境変数(
FLEET_プレフィックスを使用) - 構成ファイル(セキュリティの観点から推奨)
構成ファイル(推奨)
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 は、変更のリスクなく安全に確認できるよう、デフォルトで読み取り専用モードで動作します。
3 つの運用モード
| モード | 設定 | 機能 | 最適な用途 |
|---|---|---|---|
| 厳格な読み取り専用(デフォルト) | readonly=trueallow_select_queries=false | ✅ すべてのリソースを表示 ❌ クエリを実行できない ❌ 変更できない | 安全な調査 |
| 読み取り専用 + SELECT | readonly=trueallow_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.)
トラブルシューティング
クライアントにサーバーが表示されない
- 設定ファイルの JSON 構文を検証します
- MCP クライアントを再起動します
- クライアントのログでエラーを確認します
uvxまたはfleet-mcpが PATH に含まれていることを確認します:which uvx
接続エラー
- 手動でテストします:
uvx fleet-mcp test FLEET_SERVER_URLにアクセスできることを確認しますFLEET_API_TOKENが有効であることを確認します- 自己署名証明書の場合:
FLEET_VERIFY_SSL=false
認証に失敗しました(401)
- API トークンが正しいことを確認します
- トークンの有効期限が切れていないことを確認します
- トークンに適切な権限があることを確認します
- 新しいトークンを生成します:Fleet UI → マイアカウント → API トークンを取得
クエリの検証に失敗しました
FLEET_ALLOW_SELECT_QUERIES=trueを設定します- クエリが SELECT のみであることを確認します(INSERT、UPDATE、DELETE などは不可)
- osquery の SQL 構文が有効であることを確認します
ツールを利用できません
- 書き込み操作には
FLEET_READONLY=falseが必要です - クエリの実行には
FLEET_ALLOW_SELECT_QUERIES=trueが必要です - 現在のモードでツールが利用可能か確認します
ライセンス
Fleet MCP は、MIT License の下でライセンスされているオープンソースソフトウェアです。
MIT License の条件に従う限り、商用利用を含め、あらゆる目的でこのソフトウェアを自由に使用、変更、配布できます。
免責事項
このプロジェクトは Fleet DM と提携しておらず、同社による承認も受けていません。これは、Fleet インスタンスと連携するための Model Context Protocol の独立した実装です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。