
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
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。