portcheck について
portcheckは、ポートと使用中のプロセスを調べて管理する、開発者向けのクロスプラットフォームツールです。MCPモードではAIアシスタントからポートの確認や解放ができ、CLIではリモート接続確認やスクリプト向け操作も行えます。
主な機能
- 01リスニングポートとプロセス情報の表示
- 02空きポートの検索とバインド確認
- 03プロセスの安全な停止
- 04TCPによるリモートホストの確認
- 05サービス起動またはポート解放の待機
- 06空きポートでのコマンド実行
活用シーン
- 01開発サーバーを妨げるプロセスの特定
- 02スクリプトで未使用ポートを割り当て
- 03CIでサービスの起動を待機
- 04許可されたリモートホストへの接続確認
MCP 対応
`portcheck mcp`コマンドにより、Claude Code、Cursor、CopilotなどのAIアシスタントがポートを確認し、解放できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
portcheck
ポートを使用しているプロセスの確認、空きポートの検索、ポートの解放、リモートホストのチェックができます。
macOS、Linux、Windows に対応した静的バイナリが 1 つあれば使えます。

ポートがすでに使用されていますか?
npx portcheck-cli kill 3000
portcheck は、ポートを使用しているプロセスとその起動元を表示し、確認を求めてから穏やかに停止します
(システムプロセスには決して触れません)。インストール不要で使える、より安全なkill-portです。
発生しているエラーの解決方法:Node.js、Next.js、Vite · Python、Django、Flask · Docker · Rails、Spring Boot、Go、.NET、PHP · macOS · Windows · Linux
機能
| コマンド | ||
|---|---|---|
| 🔍 | portcheck list -l | リスニング中のすべてのソケットと、それぞれのプロセス、PID、ユーザー |
| ✅ | portcheck 3000 | ポートは空いていますか? 空いていない場合は、誰が使用していますか? スクリプト向けの終了コード 0 または 1 |
| 🆓 | portcheck free 3000-3999 -n 3 | 実際にバインドして空きポートを確認 |
| 🛑 | portcheck kill 8080 | SIGTERM を送信し、その後 SIGKILL を送信します。PID 1、シェル、システムプロセスは終了しません |
| 🧹 | portcheck servers --older-than 1d | 忘れていた開発サーバーを確認できます。リスニング中のプロセスをプロジェクト名と稼働時間とともに、古い順に表示します。--stop で終了します |
| 📡 | portcheck scan db.internal -p 5432 | リモートホストへの TCP 接続をレート制限付きで確認します。root 権限は不要です |
| ⏳ | portcheck wait db:5432 -t 60s | サービスが接続を受け付けるまで、またはポートが空くまで待機します。CI 向けです |
| ▶️ | portcheck run --port 3000 --next -- npm run dev | 空きポートでコマンドを起動します($PORT、{port})。次のポートを使うか、使用中のプロセスを終了します |
| 🩺 | portcheck doctor | .portcheck.yaml に記載されたポートを確認し、問題ごとに解決策を提示します |
| 🖥️ | portcheck | ライブ表示、並べ替え、フィルタリングができる TUI。終了せずにプロセスを停止できます |
| 🌐 | ブラウザー拡張機能 | Edge(および Chrome):localhost のタブに応答しているプロセスを表示します。何もリスニングしていない場合は off と表示し、ポップアップから停止できます(ガイド) |
| 🧩 | VS Code 拡張機能 | ターミナルの「ポート使用中」エラーをワンクリックで解決できます。サイドバーにはリスニング中のポートが表示されます(ガイド) |
| 🤖 | portcheck mcp | AI アシスタント(Claude Code、Cursor、Copilot…)が自分でポートを確認し、空けられます(ガイド) |
| ⌨️ | Raycast | Mac ランチャーから「ポートを検索」「ポートを確認」「ポートを終了」「空きポートを検索」を実行できます |
| ✍️ | Neovim | :Portcheck ピッカーで確認、終了、空きポートの検索ができます。:terminal の「ポート使用中」からプロセスを停止できます |
| 🔌 | メニューバー/トレイアプリ | macOS のメニューバーまたは Windows/Linux のトレイにリスニング中のポートを表示します。停止、開く、コピーを 2 回のクリックで実行できます |
| 🧠 | JetBrains プラグイン | IntelliJ IDEA、WebStorm、PyCharm、GoLand…:Run/Debug の「ポート使用中」から 停止して再実行できます。Ports ツールウィンドウも利用できます |
VS Code 拡張機能
ポートが使用中で開発サーバーの起動に失敗すると、拡張機能が使用中のプロセスを示して解決します。プロセスを停止して再実行するか、次の空きポートで再実行できます。

VS Code Marketplace から Portcheck - Port in Use Fixer をインストールしてください(VS Code で「portcheck」を検索)。または Open VSX からインストールできます(VSCodium、Cursor、Windsurf)。portcheck は組み込み済みです。
JetBrains プラグイン
IntelliJ IDEA、WebStorm、PyCharm、GoLand などの JetBrains IDE で、ポートが使用中のため実行構成が失敗すると、通知に使用中のプロセスが表示され、停止して再実行を選べます。Ports ツールウィンドウには、リスニング中のすべてのポートが表示されます。

最新リリースから portcheck-jetbrains-<version>.zip をインストールしてください(Settings → Plugins → ⚙ → Install Plugin from Disk…)。JetBrains Marketplace では審査中です(ガイド)。
ブラウザー拡張機能
localhost の各タブに、そのタブを提供しているプロセス名がバッジで表示されます。何も待ち受けていない場合は off と表示されます。ポップアップでは、プロセスを起動したユーザーを確認し、安全に停止できます。
Microsoft Edge Add-ons から Portcheck - Localhost Port Inspector をインストールし、portcheck browser install を一度実行してください。
Chrome、Brave、Chromium では、
最新リリース
の zip を読み込んでください
(ガイド)。
主な機能
- どの OS でも同じコマンドと出力を使えます。
lsof -i、netstat -ano、ss -ltnp、killの代わりに使えます。 - スクリプト向けに設計されています。
--jsonはバージョン管理されたスキーマに準拠し、終了コードは安定しており、結果は stdout に、メッセージは stderr に出力されます。 - コンテナーと WSL に対応しています。 Docker/Podman が公開しているポートや、WSL から転送されたポートには、コンテナーまたはディストリビューションが表示されます。また、プロキシを停止するのではなく、そこでプロセスを停止する方法を
killが案内します。 - 権限について正確に示します。 所有者が非表示の場合はそのように表示し、確認方法も案内します。
- Go ライブラリとしても使えます。
pkg/をご覧ください。
インストール
# Homebrew (macOS, Linux)
brew install roystondwork-dev/tap/portcheck
# winget (Windows; the package is waiting for Microsoft's review)
winget install roystondwork-dev.portcheck
# Scoop (Windows)
scoop bucket add portcheck https://github.com/roystondwork-dev/scoop-bucket
scoop install portcheck
# npm (any OS): run it without installing
npx portcheck-cli 3000
# PyPI (any OS)
pipx install portcheck-tool
# Go 1.26+
go install github.com/roystondwork-dev/portcheck/cmd/portcheck@latest
amd64/arm64 向けの .deb、.rpm、.apk とアーカイブは
リリースページで入手できます。
すべての成果物を対象とするチェックサムファイルは cosign(キーレス)で署名されており、リリースには SBOM と SLSA の来歴情報が含まれています。詳しくは
ダウンロードの検証をご覧ください。
クイックスタート
$ portcheck 3000
PORT PROTO STATUS PID PROCESS USER
3000 tcp in-use 42379 node alice
$ portcheck kill 3000
About to terminate:
PID 42379 node (port 3000)
Proceed? [y/N] y
PID PROCESS RESULT DETAIL
42379 node terminated
$ portcheck free 3000-3999 -n 2 -o plain
PORT
3000
3001
$ portcheck list -l --json | jq '.data.sockets[] | {port: .localPort, name: .process.name}'
📖 ドキュメント: https://roystondwork-dev.github.io/portcheck/ (クイックスタート · ガイド · CLI リファレンス · OS ごとの権限 · FAQ)
Go ライブラリとして使う
res, err := inspect.NewSystem().List(ctx, inspect.Filter{Ports: portspec.Single(3000), ListeningOnly: true})
if err != nil {
log.Fatal(err)
}
for _, s := range res.Sockets {
if s.Process != nil { // nil when the owner is hidden from your user
fmt.Println(s.PID, s.Process.Name)
}
}
portspec、inspect、freeport、killer、scan、waitfor、containers については、ライブラリガイドをご覧ください。
責任ある利用
portcheck scan は通常の TCP 接続を行い、ステルス機能はありません。自分が所有する、またはテストを許可されているホストとネットワークのみをスキャンしてください。
コントリビュート
コントリビュートを歓迎します。セットアップと規約についてはCONTRIBUTING.mdをご覧ください(すべての変更は Linux、macOS、Windows でテストされ、ライブラリにはカバレッジ 100% の基準が適用されます)。ロードマップと状況についてはTASKS.mdをご覧ください。 行動規範を守り、脆弱性はSECURITY.mdに記載された方法で非公開に報告してください。
ライセンス
MIT © 2026 Royston D および portcheck コントリビューター
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。