mcpField
N
NetsCLI

NetsCLI

ローカル
netscli.comセキュリティ193 週間前に更新

NetsCLI について

NetsCLIは、ターミナルユーザーやAIエージェント向けのRust製ネットワークスキャナーです。CLI、ターミナルUI、デスクトップアプリと共通コアを使うMCPサーバーを備え、ホスト検出、ポートスキャン、DNS・mDNS照会に対応します。

主な機能

  1. 01ローカルホストの検出
  2. 02TCP・UDPポートスキャン
  3. 03DNS・mDNS照会
  4. 04ARPテーブルとインターフェースの確認
  5. 05CLI、ターミナルUI、デスクトップアプリ

活用シーン

  1. 01ローカルサブネット内の機器を特定
  2. 02指定ポートの開放状況を確認
  3. 03ドメインのDNSレコードを照会

MCP 対応

MCPサーバーは、検出、スキャン、ping、DNS、ARP、調査、スイープ、インターフェース、mDNSの9つのツールを標準で公開します。パケットキャプチャ対応ビルドでは、さらに4つのツールが加わります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"fstubner-netscli": {
"command": "npx",
"args": [
"-y",
"netscli"
],
"env": {
"NETSCLI_MCP_ALLOW_PUBLIC_TARGETS": "<NETSCLI_MCP_ALLOW_PUBLIC_TARGETS>"
}
}
}
}
起動コマンドnpx -y netscli
設定が必要な環境変数
NETSCLI_MCP_ALLOW_PUBLIC_TARGETSSet to 1 to allow targets outside your own networks. Off by default.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmnetscli0.3.4

ツール

9

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
subnetstringいいえIPv4 CIDR。最大で /16 です。デフォルトはローカルサブネットです。
timeoutnumberいいえミリ秒単位で、各ステップに適用されます。省略した場合のデフォルト値:ping 1000、scan 500、DNS 1500。
maxConcurrentnumberいいえ
resolveHostnamesbooleanいいえ

詳細

NETSCLI

Rust で書かれたネットワークスキャナーです。CLI、ターミナル UI、デスクトップアプリ、MCP サーバーを備えています。4 つすべてを 1 つのライブラリで支えています。

CI crates.io Release Downloads License: MIT

ドキュメント · インストール · 変更履歴

開発の背景

最初に作ったのはターミナル UI でした。Claude Code のようなコーディングエージェントが力を入れている、新しい TUI の仕組みを理解したいと思ったからです。 自動補完、コマンド履歴、画面内での進捗表示、そしてターミナルを占有せず、スクロールバックやテキストのコピーも引き続き使える UI です。作ってみるのが学ぶ近道だと思い、ネットワークスキャナーに使い道を持たせました。

次に MCP サーバーを作りました。エージェントがネットワークを扱えるようにしたら面白そうだと思ったからです。別のツールをシェルから実行して、人が読むために書かれた出力を解析する代わりに、どのデバイスが接続したばかりか、あるホストのポート 22 が開いているか、といったことを尋ねられます。

その次に、プログラムから使うための CLI を作りました。スクリプトや cron ジョブで必要なのは、対話セッションではなく、1 つのコマンドと JSON の出力です。

最後にデスクトップアプリを作りました。ターミナルより GUI を使いたい人もいますし、正直なところ、私自身もローカルでコマンドを実行するよりこちらを好むことがあります。

このうち 3 つは同じバイナリです。netscli <command> は CLI、netscli 単独で実行するとターミナル UI が開き、netscli serve で MCP サーバーが起動します。デスクトップアプリは、同じコアを使う別途ダウンロード可能なアプリです。

スクリーンショット

NETSCLI のターミナル UI で /discover を実行中

ポートスキャンの結果を表示するデスクトップアプリ

インストール

# macOS / Linux
brew tap fstubner/tap && brew install netscli

# Windows
winget install netscli        # CLI, TUI and MCP server
winget install netscli-gui    # desktop app

# Any platform, via cargo
cargo install netscli

Windows、macOS、Linux 用のデスクトップインストーラーは、すべてのリリースに添付されています。

Scoop、AUR、1 行で実行できるインストールスクリプト、パケットキャプチャ対応ビルド、署名の検証については、**インストールガイド**で説明しています。

使い方

netscli discover                     # find hosts on the local subnet
netscli scan 192.168.1.10 -p 22,80,443
netscli inspect example.com          # ping + scan + resolve
netscli dns example.com              # all record types
netscli arp                          # ARP table with vendor lookup
netscli interfaces

結果を返すコマンドはすべて --json または --yaml を指定できるため、結果をそのまま jq に渡せます。また、リストを返すコマンドでは --csv と --md も指定できます。

引数なしで netscli を実行すると、スラッシュコマンド、自動補完、コマンド履歴、スクロールバック、/export を備えたターミナル UI が開きます。

コマンドの全リファレンス:CLI · TUI · デスクトップアプリ

MCP サーバー

{
  "mcpServers": {
    "netscli": {
      "command": "netscli",
      "args": ["serve"]
    }
  }
}

この形式では netscli のインストールが必要です。インストールを省略するには、コマンドとして npx を使うか("command": "npx", "args": ["-y", "netscli", "serve"])、対応するクライアントで最新リリースの .mcpb バンドルを開きます。

デフォルトでは、discover、scan、ping、DNS、ARP、inspect、sweep、interfaces、mDNS の 9 つのツールが利用できます。パケットキャプチャ対応ビルドでは、さらに 4 つのツールが追加されます。詳細と完全なスキーマについては、**MCP ガイド**をご覧ください。

ドキュメント

ページ内容
概要機能、インターフェースモデル、安全上の制限
インストールプラットフォームごとのすべてのインストール方法
CLIコマンド、フラグ、構造化出力
ターミナル UIスラッシュコマンドとセッションの動作
デスクトップアプリタブ、フィルター、エクスポート
MCP サーバーツール、スキーマ、エージェントのセットアップ
インターフェースの対応状況各インターフェースが公開する機能
運用各スキャンの実際の処理内容
結果モデルJSON および YAML 出力の形式
パケットキャプチャ要件と pcap ビルド
コアライブラリnetscli-core を直接使用する方法

コントリビューション

Issue とプルリクエストを歓迎します。ソースからのビルド、デスクトップアプリの開発ループ、パケットキャプチャのビルド、リポジトリの構成については、CONTRIBUTING.md をご覧ください。

ライセンス

MIT。LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。