Skip to main content
Glama
stop-all.sh7.21 kB
#!/bin/bash # Universal MCP Server - 停止スクリプト echo "==========================================" echo "🛑 Universal MCP Server - 停止" echo "==========================================" echo "" STOPPED=0 # MCPサーバープロセスを検索して停止 echo "1️⃣ MCPサーバーを停止しています..." MCP_PIDS=$(pgrep -f "node.*build/index") if [ -n "$MCP_PIDS" ]; then echo " 見つかったプロセス:" for pid in $MCP_PIDS; do CMD=$(ps -p $pid -o cmd= 2>/dev/null) echo " - PID $pid: $CMD" done echo "" for pid in $MCP_PIDS; do kill $pid 2>/dev/null if [ $? -eq 0 ]; then echo " ✅ PID $pid を停止しました" STOPPED=$((STOPPED + 1)) else echo " ⚠️ PID $pid の停止に失敗しました" fi done # 強制停止が必要か確認 sleep 1 REMAINING=$(pgrep -f "node.*build/index") if [ -n "$REMAINING" ]; then echo "" echo " ⚠️ 一部プロセスが残っています。強制停止します..." for pid in $REMAINING; do kill -9 $pid 2>/dev/null echo " ✅ PID $pid を強制停止しました (SIGKILL)" STOPPED=$((STOPPED + 1)) done fi else echo " ℹ️ MCPサーバーのプロセスは見つかりませんでした" fi echo "" # ngrokプロセスを検索して停止 echo "2️⃣ ngrokを停止しています..." NGROK_PIDS=$(pgrep -f "ngrok") if [ -n "$NGROK_PIDS" ]; then echo " 見つかったプロセス:" for pid in $NGROK_PIDS; do CMD=$(ps -p $pid -o cmd= 2>/dev/null) USER=$(ps -p $pid -o user= 2>/dev/null) echo " - PID $pid (User: $USER): $CMD" done echo "" # 現在のユーザー名を取得 CURRENT_USER=$(whoami) for pid in $NGROK_PIDS; do PROC_USER=$(ps -p $pid -o user= 2>/dev/null) # 自分のプロセスかチェック if [ "$PROC_USER" = "$CURRENT_USER" ]; then kill $pid 2>/dev/null if [ $? -eq 0 ]; then echo " ✅ PID $pid を停止しました" STOPPED=$((STOPPED + 1)) else echo " ⚠️ PID $pid の停止に失敗しました。強制停止を試みます..." kill -9 $pid 2>/dev/null if [ $? -eq 0 ]; then echo " ✅ PID $pid を強制停止しました (SIGKILL)" STOPPED=$((STOPPED + 1)) else echo " ❌ PID $pid の停止に失敗しました(権限がない可能性)" echo " 💡 手動停止: kill -9 $pid" fi fi else echo " ⚠️ PID $pid は別のユーザー($PROC_USER)のプロセスです" echo " 💡 このプロセスは停止できません" fi done # 残存プロセスの確認 sleep 1 REMAINING=$(pgrep -f "ngrok") if [ -n "$REMAINING" ]; then echo "" echo " ℹ️ まだngrokプロセスが残っています:" for pid in $REMAINING; do PROC_USER=$(ps -p $pid -o user= 2>/dev/null) CMD=$(ps -p $pid -o cmd= 2>/dev/null) echo " - PID $pid (User: $PROC_USER)" echo " $CMD" done echo "" echo " 💡 このプロセスは別のターミナル/ユーザーで起動されています" echo " 💡 停止するには、そのターミナルで Ctrl+C を押してください" echo "" echo " または、強制停止を試みる場合:" echo " kill -9 $REMAINING" fi else echo " ℹ️ ngrokのプロセスは見つかりませんでした" fi echo "" # ポートの確認 echo "3️⃣ ポート使用状況を確認しています..." PORT_3000=$(lsof -ti:3000 2>/dev/null) PORT_4040=$(lsof -ti:4040 2>/dev/null) PORT_4041=$(lsof -ti:4041 2>/dev/null) if [ -n "$PORT_3000" ]; then echo " ⚠️ ポート3000がまだ使用中です (PID: $PORT_3000)" read -p " 停止しますか? (y/N): " -n 1 -r echo "" if [[ $REPLY =~ ^[Yy]$ ]]; then kill -9 $PORT_3000 2>/dev/null echo " ✅ ポート3000のプロセスを停止しました" STOPPED=$((STOPPED + 1)) fi else echo " ✅ ポート3000は空いています" fi if [ -n "$PORT_4040" ] || [ -n "$PORT_4041" ]; then if [ -n "$PORT_4040" ]; then echo " ⚠️ ポート4040がまだ使用中です (PID: $PORT_4040)" fi if [ -n "$PORT_4041" ]; then echo " ⚠️ ポート4041がまだ使用中です (PID: $PORT_4041)" fi read -p " 停止しますか? (y/N): " -n 1 -r echo "" if [[ $REPLY =~ ^[Yy]$ ]]; then [ -n "$PORT_4040" ] && kill -9 $PORT_4040 2>/dev/null && echo " ✅ ポート4040のプロセスを停止しました" [ -n "$PORT_4041" ] && kill -9 $PORT_4041 2>/dev/null && echo " ✅ ポート4041のプロセスを停止しました" STOPPED=$((STOPPED + 1)) fi else echo " ✅ ngrokのポート(4040/4041)は空いています" fi echo "" # 一時ファイルのクリーンアップ echo "4️⃣ 一時ファイルをクリーンアップしています..." TEMP_FILES=( "/tmp/ngrok-*.log" "/tmp/ngrok-startup.log" "/tmp/mcp-test.log" ) CLEANED=0 for pattern in "${TEMP_FILES[@]}"; do files=$(ls $pattern 2>/dev/null) if [ -n "$files" ]; then for file in $files; do rm -f "$file" 2>/dev/null if [ $? -eq 0 ]; then echo " ✅ $file を削除しました" CLEANED=$((CLEANED + 1)) fi done fi done if [ $CLEANED -eq 0 ]; then echo " ℹ️ クリーンアップする一時ファイルはありませんでした" fi echo "" echo "==========================================" if [ $STOPPED -gt 0 ]; then echo "✅ $STOPPED 個のプロセスを停止しました" else echo "ℹ️ 停止するプロセスはありませんでした" fi echo "==========================================" echo "" # 最終確認 echo "📊 最終確認:" echo "" # プロセス確認 MCP_CHECK=$(pgrep -f "node.*build/index") NGROK_CHECK=$(pgrep -f "ngrok") if [ -z "$MCP_CHECK" ] && [ -z "$NGROK_CHECK" ]; then echo " ✅ すべてのプロセスが停止しました" else echo " ⚠️ まだ実行中のプロセスがあります:" [ -n "$MCP_CHECK" ] && echo " - MCP Server (PID: $MCP_CHECK)" [ -n "$NGROK_CHECK" ] && echo " - ngrok (PID: $NGROK_CHECK)" echo "" echo " 手動で停止する場合:" echo " kill -9 $MCP_CHECK $NGROK_CHECK" fi echo "" # ポート確認 PORT_CHECK=$(lsof -ti:3000,4040,4041 2>/dev/null) if [ -z "$PORT_CHECK" ]; then echo " ✅ すべてのポートが解放されました" else echo " ⚠️ まだ使用中のポートがあります:" lsof -i:3000,4040,4041 2>/dev/null | head -10 fi echo "" echo "🚀 再起動する場合:" echo " ./start-all.sh" echo ""

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