Skip to main content
Glama
SCRIPTS.md8.12 kB
# スクリプト一覧 Universal MCP Serverで利用可能なスクリプト一覧です。 ## 🚀 起動スクリプト ### `./start-all.sh` ⭐️ おすすめ **オールインワン起動スクリプト** MCPサーバーとngrokを同時に起動します。 ```bash ./start-all.sh ``` **機能:** - **既存プロセスの自動検出** - 起動前に既存のプロセスをチェック - **自動停止オプション** - 既存プロセスを停止してから起動 - APIキーの自動生成(未設定の場合) - MCPサーバーの起動 - ngrokの起動 - URL情報の自動表示 - URLのクリップボードコピー - 統合管理(Ctrl+Cで全停止) **出力例:** ``` 🔍 既存プロセスをチェックしています... ⚠️ 既に起動中のプロセスが見つかりました: - ngrok (PID: 12345) 既存のプロセスを停止して続行しますか? (Y/n): y 🛑 既存プロセスを停止しています... ✅ 停止完了。起動を続行します... 🌐 公開URL: https://xxxx.ngrok-free.app ``` ### `./start-http.sh` **HTTPモード専用起動スクリプト** MCPサーバーをHTTPモードで起動します。 ```bash ./start-http.sh ``` **オプション:** ```bash # カスタムポート MCP_HTTP_PORT=3001 ./start-http.sh # 認証あり MCP_API_KEY=your-key ./start-http.sh ``` ### `./start-ngrok.sh` **ngrok専用起動スクリプト** ngrokを起動してURL情報を表示します。 ```bash ./start-ngrok.sh ``` **前提条件:** - MCPサーバーが既に起動していること **機能:** - サーバー接続確認 - URL情報の詳細表示 - テストコマンド例の表示 - Python使用例の表示 - 管理画面URLの表示 ## 🛑 停止スクリプト ### `./stop-all.sh` ⭐️ **統合停止スクリプト** 起動中のすべてのプロセスを検出して停止します。 ```bash ./stop-all.sh ``` **機能:** - MCPサーバープロセスの検出と停止 - ngrokプロセスの検出と停止 - ポート使用状況の確認(3000, 4040, 4041) - 残存プロセスの強制停止 - 一時ファイルのクリーンアップ - 最終確認レポート ### `./stop-ngrok.sh` **ngrok専用停止スクリプト** ngrokプロセスのみを対話的に停止します。 ```bash ./stop-ngrok.sh ``` **機能:** - すべてのngrokプロセスを検索 - ユーザー情報とポート情報を表示 - 対話的な停止確認 - 別ユーザーのプロセスの検出と警告 - 適切な停止方法の提案 **使用例:** ```bash $ ./stop-ngrok.sh 📋 見つかったngrokプロセス: PID USER PORT COMMAND ------------------------------------------------------------ 435524 akari 8000 /snap/ngrok/315/ngrok http --region=jp 8000 プロセス PID 435524 (User: akari) このプロセスを停止しますか? (Y/n): y ✅ 停止しました ``` **実行例:** ```bash ./stop-all.sh ``` **出力例:** ``` 🛑 Universal MCP Server - 停止 1️⃣ MCPサーバーを停止しています... 見つかったプロセス: - PID 12345: node build/index-multimode.js ✅ PID 12345 を停止しました 2️⃣ ngrokを停止しています... 見つかったプロセス: - PID 12346: ngrok http 3000 ✅ PID 12346 を停止しました 3️⃣ ポート使用状況を確認しています... ✅ ポート3000は空いています ✅ ngrokのポート(4040/4041)は空いています 4️⃣ 一時ファイルをクリーンアップしています... ✅ /tmp/ngrok-startup.log を削除しました ✅ 2 個のプロセスを停止しました ``` **トラブルシューティング:** プロセスが停止しない場合: ```bash # 手動で確認 ps aux | grep -E "node.*build|ngrok" # 強制停止 pkill -9 -f "node.*build/index" pkill -9 -f "ngrok" # ポートを使用中のプロセスを停止 lsof -ti:3000 | xargs kill -9 lsof -ti:4040 | xargs kill -9 ``` ## 🧪 テストスクリプト ### `./quick-test.sh` **統合テストスクリプト** ビルドとHTTPモードの動作を確認します。 ```bash ./quick-test.sh ``` **テスト内容:** 1. ビルドファイルの確認 2. ディレクトリ構造の確認 3. HTTPサーバーの起動テスト 4. ヘルスチェック 5. サーバー情報取得 6. 自動クリーンアップ ### `./test-http.sh` **HTTPモードテストスクリプト** 起動中のHTTPサーバーをテストします。 ```bash # デフォルト (localhost:3000) ./test-http.sh # カスタムURL ./test-http.sh https://your-ngrok-url.ngrok-free.app ``` ### `./test.sh` **STDIOモードテストスクリプト** STDIOモードでサーバーを起動します。 ```bash ./test.sh ``` ## 📦 npm スクリプト ### ビルド ```bash # 本番ビルド npm run build # クリーンビルド rm -rf build && npm run build ``` ### 開発モード(ホットリロード) ```bash # STDIOモード npm run dev # HTTPモード npm run dev:http ``` ### 本番実行 ```bash # STDIOモード(Claude Desktop用) npm start # HTTPモード(認証なし) npm run start:http # HTTPモード(認証あり) MCP_API_KEY=your-key npm run start:http:auth ``` ### デバッグ ```bash # MCPインスペクター npm run inspect ``` ## 🎯 使用例 ### 1. 最速スタート(開発用) ```bash npm run build ./start-all.sh ``` ### 2. Claude Desktop用 ```bash npm run build npm start ``` ### 3. OpenAI統合用(認証あり) ```bash # APIキー生成 export MCP_API_KEY=$(openssl rand -hex 32) echo $MCP_API_KEY > .api-key.txt # 起動 ./start-all.sh ``` ### 4. 個別制御が必要な場合 ```bash # ターミナル1 ./start-http.sh # ターミナル2 ./start-ngrok.sh ``` ## 🔧 トラブルシューティング ### ポートが使用中 ```bash # ポート確認 lsof -i :3000 # プロセス終了 pkill -f "node build/index-multimode.js" # 別のポートで起動 MCP_HTTP_PORT=3001 ./start-http.sh ``` ### ngrokが起動しない ```bash # インストール確認 which ngrok # 手動インストール # macOS brew install ngrok # Linux curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \ sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null ``` ### ビルドエラー ```bash # クリーンインストール rm -rf node_modules package-lock.json build npm install npm run build ``` ## 📊 ログ確認 ### リアルタイムログ ```bash # サーバーログ tail -f logs/server.log # MCPログ(統合) tail -f logs/combined.log # エラーのみ tail -f logs/error.log ``` ### ログ検索 ```bash # エラー検索 grep ERROR logs/combined.log # 特定のリクエスト追跡 grep "requestId" logs/combined.log | grep "abc123" ``` ## 🛑 停止方法 ### `start-all.sh` で起動した場合 ```bash # ターミナルで Ctrl+C # または pkill -f "start-all.sh" ``` ### 個別プロセスの停止 ```bash # MCPサーバー pkill -f "node build/index-multimode.js" # ngrok pkill -f "ngrok" # すべて停止 pkill -f "node build" && pkill -f "ngrok" ``` ## 📝 環境変数 よく使う環境変数の設定方法: ### 一時的な設定 ```bash export MCP_MODE=http export MCP_HTTP_PORT=3000 export MCP_API_KEY=$(openssl rand -hex 32) ``` ### 永続的な設定(.envファイル) ```bash # .envファイルを作成 cp .env.example .env # 編集 nano .env ``` ```.env MCP_MODE=http MCP_HTTP_PORT=3000 MCP_API_KEY=your-secret-key LOG_LEVEL=info ``` ### .envファイルの読み込み ```bash # bashで読み込み set -a source .env set +a # または export $(cat .env | xargs) ``` ## 🎓 推奨ワークフロー ### 開発時 ```bash # 1回だけ npm install npm run build # 毎回 npm run dev:http # または ./start-all.sh ``` ### 本番・デモ時 ```bash # セットアップ npm install npm run build export MCP_API_KEY=$(openssl rand -hex 32) # 起動 ./start-all.sh # URLを共有 # https://xxxx.ngrok-free.app ``` ### Claude Desktop統合時 ```bash npm run build npm start # またはClaude Desktopから自動起動 ```

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Amana03/universal-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server