
npm-dev-mcp
MCP server that manages npm run dev processes, automatically detecting projects, running them in the background, monitoring logs, and managing ports.
README
@masamunet/npm-dev-mcp
npm run devプロセスを管理するMCPサーバーです。プロジェクトの自動検出、バックグラウンド実行、ログ監視、ポート管理機能を提供します。
機能
- プロジェクト自動検出: package.jsonとdevスクリプトを持つディレクトリを自動で検索
- モノレポ対応: サブディレクトリのプロジェクトも検出・管理
- 環境変数読み込み: .envファイルの自動検出・適用
- ポート管理: 開発サーバーが使用するポートの自動検出
- ログ監視: リアルタイムログ監視と履歴管理
- プロセス管理: 安全な開始・停止・再起動
利用可能なツール
scan_project_dirs
プロジェクト内のpackage.jsonとdevスクリプトを検索します。
{
"success": true,
"message": "2個のプロジェクトが見つかりました",
"projects": [
{
"directory": "/path/to/project",
"name": "my-app",
"devScript": "vite",
"hasEnvFile": true,
"envPath": "/path/to/project/.env",
"priority": 15
}
]
}
start_dev_server
指定ディレクトリでnpm run devをバックグラウンドで開始します。
パラメータ:
directory
(オプション): 実行ディレクトリ(未指定時は自動検出)
{
"success": true,
"message": "Dev serverが開始されました",
"process": {
"pid": 12345,
"directory": "/path/to/project",
"status": "running",
"startTime": "2024-01-01T00:00:00.000Z",
"ports": [3000]
}
}
get_dev_status
npm run devプロセスの状態を確認します。
{
"success": true,
"message": "Dev serverはrunning状態です",
"isRunning": true,
"process": {
"pid": 12345,
"directory": "/path/to/project",
"status": "running",
"ports": [3000],
"uptime": 120000
},
"logs": {
"total": 50,
"errors": 0,
"warnings": 2,
"hasRecentErrors": false
}
}
get_dev_logs
npm run devのログを取得します。
パラメータ:
lines
(オプション): 取得行数(デフォルト:50、最大:1000)
{
"success": true,
"message": "50行のログを取得しました",
"logs": [
{
"timestamp": "2024-01-01T00:00:00.000Z",
"level": "info",
"source": "stdout",
"message": "Server running on http://localhost:3000"
}
]
}
stop_dev_server
npm run devプロセスを停止します。
{
"success": true,
"message": "Dev serverを正常に停止しました",
"wasRunning": true,
"stoppedProcess": {
"pid": 12345,
"uptime": 300000,
"ports": [3000]
}
}
restart_dev_server
npm run devプロセスを再起動します。
{
"success": true,
"message": "Dev serverを正常に再起動しました",
"restarted": true,
"newProcess": {
"pid": 12346,
"status": "running",
"ports": [3000]
}
}
get_health_status
MCPサーバー自身のヘルス状態を取得します。
パラメータ:
detailed
(オプション): 詳細なヘルスレポートを取得するかどうか(デフォルト: false)
{
"success": true,
"message": "MCPサーバーは正常状態です",
"health": {
"isHealthy": true,
"uptime": 300,
"devServerStatus": "running",
"memoryUsage": {
"heapUsed": 45,
"rss": 78
},
"checks": {
"memory": true,
"processManager": true,
"devServer": true
},
"timestamp": "2024-01-01T00:00:00.000Z"
}
}
recover_from_state
保存された状態からの復旧を試行します。
パラメータ:
force
(オプション): 強制的に復旧を実行するかどうか(デフォルト: false)
{
"success": true,
"message": "状態の復旧が完了しました",
"recovery": {
"devProcessRecovered": true,
"projectContextRecovered": true,
"warnings": [],
"previousProcess": {
"pid": 12345,
"directory": "/path/to/project",
"status": "running",
"ports": [3000]
},
"recoveryTimestamp": "2024-01-01T00:00:00.000Z"
}
}
インストールと使用
0. 公開情報
パッケージはnpmレジストリに公開されています:
- パッケージ名:
@masamunet/npm-dev-mcp
- バージョン: 1.1.0
- レジストリ: https://www.npmjs.com/package/@masamunet/npm-dev-mcp
1. npx経由での直接使用(推奨)
# プロジェクトをスキャン
npx @masamunet/npm-dev-mcp scan
# dev serverを開始
npx @masamunet/npm-dev-mcp start
# 状態確認
npx @masamunet/npm-dev-mcp status
# ログを表示
npx @masamunet/npm-dev-mcp logs 50
# サーバー停止
npx @masamunet/npm-dev-mcp stop
# ヘルプ表示
npx @masamunet/npm-dev-mcp --help
2. グローバルインストール
# グローバルインストール
npm install -g @masamunet/npm-dev-mcp
# 使用例
npm-dev-mcp scan
npm-dev-mcp start
npm-dev-mcp status
3. ローカル開発用ビルド
git clone https://github.com/masamunet/npm-dev-mcp.git
cd npm-dev-mcp
npm install
npm run build
4. MCPサーバーとして起動
npm start
5. Claude Codeでの設定
5.1 コマンドラインから追加(推奨)
Claude Codeのmcpコマンドを使用して簡単に追加できます:
claude mcp add npm-dev-mcp -- npx @masamunet/npm-dev-mcp --mcp
このコマンド実行後、Claude Codeを再起動すると@masamunet/npm-dev-mcpが利用可能になります。
5.2 手動での設定ファイル編集
手動で設定する場合は、設定ファイルを直接編集します:
設定ファイルの場所:
macOS:
~/.claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
設定内容:
方法1: 直接パス指定
{
"mcpServers": {
"@masamunet/npm-dev-mcp": {
"command": "node",
"args": ["/absolute/path/to/@masamunet/npm-dev-mcp/dist/index.js"]
}
}
}
方法2: npx経由(--mcpフラグ使用)
{
"mcpServers": {
"@masamunet/npm-dev-mcp": {
"command": "npx",
"args": ["@masamunet/npm-dev-mcp", "--mcp"]
}
}
}
注意事項:
- 方法1の
args
の配列内のパスは絶対パスで指定してください - 例:
"/Users/username/projects/@masamunet/npm-dev-mcp/dist/index.js"
- 相対パスや
~
は使用できません - 方法2では
--mcp
フラグが必要です(MCPサーバーモードを強制)
5.3 Claude Codeの再起動
設定を追加した後、Claude Codeを再起動すると、@masamunet/npm-dev-mcpサーバーが利用可能になります。
5.4 動作確認
Claude Code内で以下のように使用できます:
プロジェクトを検索してください
→ scan_project_dirs ツールが実行される
npm run devを開始してください
→ start_dev_server ツールが実行される
開発サーバーの状態を確認してください
→ get_dev_status ツールが実行される
開発
スクリプト
npm run build
: TypeScriptをコンパイルnpm run dev
: 開発モード(ウォッチモード)npm start
: MCPサーバーを起動
プロジェクト構造
src/
├── index.ts # MCPサーバーエントリーポイント
├── types.ts # 型定義
├── components/ # コアコンポーネント
│ ├── ProjectScanner.ts # プロジェクト検出
│ ├── ProcessManager.ts # プロセス管理
│ ├── LogManager.ts # ログ管理
│ ├── PortDetector.ts # ポート検出
│ └── EnvLoader.ts # 環境変数読み込み
├── tools/ # MCPツール実装
└── utils/ # ユーティリティ関数
対応プラットフォーム
- macOS (lsofコマンド使用)
- Linux (netstatコマンド使用)
- Node.js 18以上
トラブルシューティング
MCPサーバーが応答しない場合
MCPサーバーがクラッシュしたり応答しなくなった場合の復旧方法:
1. 開発サーバーのみ復旧する場合
Claude Code内での復旧:
開発サーバーを再起動してください
→ restart_dev_server
ツールが自動実行されます
コマンドラインからの復旧:
# 開発サーバーの状態確認
npx @masamunet/npm-dev-mcp status
# 開発サーバー再起動
npx @masamunet/npm-dev-mcp restart
# ログ確認
npx @masamunet/npm-dev-mcp logs 50
2. MCPサーバー全体を復旧する場合
Claude Codeの再起動:
- Claude Codeアプリケーションを完全に終了
- アプリケーションを再起動
- MCPサーバーが自動的に再接続されます
手動でのMCPサーバー確認:
# プロセス確認
ps aux | grep @masamunet/npm-dev-mcp
# 必要に応じてプロセス終了
pkill -f @masamunet/npm-dev-mcp
3. 設定の確認
MCPサーバーが起動しない場合、設定ファイルを確認:
macOS:
cat ~/.claude/claude_desktop_config.json
Windows:
type %APPDATA%\Claude\claude_desktop_config.json
正しい設定例:
{
"mcpServers": {
"@masamunet/npm-dev-mcp": {
"command": "npx",
"args": ["@masamunet/npm-dev-mcp", "--mcp"]
}
}
}
4. PM2を使用したプロセス管理(上級者向け)
より堅牢な運用を行いたい場合、PM2プロセスマネージャーを使用できます:
PM2のインストール:
npm install -g pm2
PM2でのMCPサーバー管理:
# MCPサーバーをPM2で開始
npm run pm2:start
# 状態確認
npm run pm2:status
# ログ確認
npm run pm2:logs
# 再起動
npm run pm2:restart
# 停止
npm run pm2:stop
# 完全削除
npm run pm2:delete
PM2の利点:
- 自動再起動(クラッシュ時)
- メモリ監視と制限
- ログローテーション
- クラスター機能(必要に応じて)
5. 外部監視用ヘルスチェックエンドポイント
外部の監視システム(Prometheus、Nagios等)と連携するためのHTTPエンドポイントを提供できます:
ヘルスエンドポイントの有効化:
# 環境変数を設定
export HEALTH_ENDPOINT=true
export HEALTH_PORT=8080
export HEALTH_HOST=127.0.0.1
# MCPサーバーを開始
npm start
利用可能なエンドポイント:
# 基本ヘルスチェック
curl http://127.0.0.1:8080/health
# 詳細ヘルスレポート
curl http://127.0.0.1:8080/health/detailed
# Prometheusメトリクス
curl http://127.0.0.1:8080/metrics
環境変数:
HEALTH_ENDPOINT
: エンドポイントを有効化(true/false)HEALTH_PORT
: ポート番号(デフォルト: 8080)HEALTH_HOST
: ホスト(デフォルト: 127.0.0.1)HEALTH_PATH
: ヘルスチェックパス(デフォルト: /health)
6. よくある問題と解決方法
問題: "spawn ENOENT" エラー
- 原因: Node.jsまたはnpxが見つからない
- 解決: PATHの確認とNode.jsの再インストール
問題: 開発サーバーが起動しない
- 原因: ポートが使用中、package.jsonの設定不備
- 解決:
npx @masamunet/npm-dev-mcp scan
でプロジェクト検出を確認
問題: ログが表示されない
- 原因: プロセスが正常に開始されていない
- 解決:
npx @masamunet/npm-dev-mcp status
で状態確認
ライセンス
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.