見出し画像

もう毎回コマンド打たない!MCP APIサーバーを1クリックで起動する方法

割引あり

こんにちは!YaroTechです。

Day142でMCP APIサーバーを構築して、ChatGPTからローカルPCのファイルを操作できるようになりました。

でも、毎回コマンドプロンプトを開いて、`npm start`して、ngrokを起動して...って、正直めんどくさいですよね?

今日は、そのすべてを1クリックで完了させるバッチファイルをご紹介します!

ダブルクリック1回で:

  • ✅ サーバー起動

  • ✅ ngrok起動

  • ✅ URL自動取得

  • ✅ OpenAPIスキーマ自動生成

ここまで全自動でできちゃいます🎉

※見出し画像のプロンプトは一番下におまけで公開中!



🖥️ 実行環境

  • OS: Windows 11 Pro 25H2(ARM64)

  • デバイス: Microsoft Surface Laptop 7th Edition(Snapdragon X Elite)

  • Node.js: v22.11.0

  • ngrok: 3.18.x(無料アカウント)

  • 前提: Day142のMCP APIサーバー構築済み


🎯 この記事で得られること

  • BATファイルでサーバーを1クリック起動する方法

  • 毎回のコマンド入力から解放される具体的な手順

  • 実際に発生したトラブルと解決策

  • 【有料】 統合版バッチファイル(ngrok + OpenAPIスキーマ自動生成)


📊 Before / After

Before(従来の手順):

  1. コマンドプロンプトを開く

  2. `cd C:\Users\YourName\Downloads\mcp-projects\mcp-api-server` を入力

  3. `npm start` を入力

  4. 別のコマンドプロンプトを開く

  5. `ngrok http 3000` を入力

  6. URLをコピー

  7. ChatGPTに貼り付け

所要時間: 約3分 + 毎回の手間

After(1クリック起動):

  1. `start-all.bat` をダブルクリック

所要時間: 5秒(待つだけ)

削減率: 97%削減🎉


🚀 シンプル版:サーバーだけ起動するBATファイル

まずは最小限の構成から。サーバーを起動するだけのシンプルなバッチファイルです。

注意: APIキーの固定化には`server.js`の修正が必要です。この修正方法は有料パートで詳しく解説しています。シンプル版だけでは、APIキーが毎回ランダム生成されるため、ChatGPT側の設定を毎回変更する必要があります。

ファイル作成

`mcp-api-server`フォルダに`start-server.bat`を作成します。

BATファイルの作成方法が分からない方へ: BATファイルは文字コードに注意が必要です。作成手順はDay144: AIが作るBATファイルは文字化けする!?の「🔧 解決策1: Shift-JIS(ANSI)で保存する」パートをご確認ください。

@echo off
title MCP API Server

echo.
echo ================================================================
echo          MCP API Server - Simple Start
echo ================================================================
echo.

REM ============================================
REM API Key Configuration (Fixed Value)
REM ============================================
set MCP_API_KEY=YourAPIKey

REM Move to project folder
cd /d "%~dp0"

echo [INFO] Starting MCP API Server...
echo [INFO] API KEY: %MCP_API_KEY%
echo.
echo ================================================================
echo   Press Ctrl+C to stop the server
echo ================================================================
echo.

REM Start server
node server.js

pause

※ `YourAPIKey` は実際のAPIキーに置き換えてください。

使い方

  1. `start-server.bat`をダブルクリック

  2. サーバーが起動したらOK!

  3. 別途ngrokを手動で起動(`ngrok http 3000`)

ポイント

  • 日本語を使わない: 文字化け防止(Day144で学んだ教訓!)

  • APIキーの固定化: 有料パートで解説する`server.js`の修正が必要

関連記事: Day144: AIが作るBATファイルは文字化けする!?Windows 11で日本語バッチが動かない原因と対策


⚠️ 実際に発生したトラブルと解決策

シンプル版を作っている最中に、いくつかのトラブルに遭遇しました。有料パートに入る前に、これらの解決策を共有します。

トラブル1: BATファイルの文字化け

症状:

'絶武茑絶武茑絶武茑絶幅' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

原因: AIが生成するファイルはUTF-8、WindowsコマンドプロンプトはShift-JIS

解決策: 日本語を一切使わない

AIにBATファイルを作成してもらう際は、「英語のみで記述してください」と指示するのが最も確実です。


トラブル2: APIキーが認証されない

症状:

{"success":false,"error":"Invalid API key"}

ChatGPT Actionsで「テストする」をクリックしても、常にエラー。

原因: 環境変数がサーバーに渡っていなかった

BATファイルで`set MCP_API_KEY=xxx`としても、`start /min`でバックグラウンド起動すると環境変数が継承されないことがあります。

解決策: server.jsにAPIキーをハードコード(有料パートで詳しく解説)

セキュリティ的にはベストではありませんが、ローカル開発環境では問題ありません。公開サーバーでは環境変数を使いましょう。


トラブル3: PowerShellでのテストが面倒

APIが正しく動くかテストするのに、毎回長いコマンドを打つのは大変です。

解決策: 以下のコマンドをコピペで使えるようにしておく

$headers = @{ "Authorization" = "Bearer YourAPIKey"; "Content-Type" = "application/json" }
$body = '{"dirPath": "."}'
Invoke-RestMethod -Uri "http://localhost:3000/api/filesystem/list" -Method POST -Headers $headers -Body $body

※ `YourAPIKey` は実際のAPIキーに置き換えてください。

成功すると、ファイル一覧が返ってきます:

success dirPath files
------- ------- -----
True    .       {@{name=test.txt; type=file}, @{name=hello.txt; type=file}...}

🎉 実際に動かしてみた

シンプル版でサーバーを起動し、ChatGPTから操作してみました。

テスト1: ファイル一覧取得

指示: 「ファイル一覧を見せて」
※カスタムGPTの構成の「アクションを編集する」の下の方にある「利用可能なアクション」の「listFiles」の「テストする」(下記画像の赤丸)が「ファイル一覧を見せて」と同じ意味になります。
※下記画像の上にある「APIキー」に認証設定をしたついでに「テストする」とスムーズに確認ができます。

カスタムGPT編集>構成>アクションを編集する>利用可能なアクション>listFiles>テストする

結果:

- api-test.txt
- hello-from-chatgpt.txt
- test.txt
上記「テストする」でファイルのリストが表示されたら成功です!

✅ 成功!

テスト2: ファイル作成

指示: 「今日の日付と時刻を書いたファイルを作成して」

結果: `current_datetime.txt`が作成され、中身は「2025-12-02 18:26:00 JST」

✅ 成功!

左側:カスタムGPTの画面、右上:ロカールPCの該当フォルダ、右下:ChatGPTが書き込んだテキストファイルの中身

テスト3: ファイル読み取り&追記

指示: 「test.txtを読んで、その内容に『ChatGPTが追記しました』と追加して保存して」
※ChatGPTからローカルPCにアクセスする際には必ず下記画像のように「確認する」か「拒否する」か承認を求められます。

ChatGPTからローカルPCにアクセスする際に承認を求められます。
カスタムGPTの処理中画面(まだ右側のtest.txtは更新されていません)

結果: 元のファイルに追記された!

test.txtファイルが更新されて、ファイル内にも書き込まれていました。

✅ 成功!

テスト4: 買い物リスト作成

指示: 「買い物リストを作成して。卵、牛乳、パンを含めて」

結果: `shopping_list.txt`が作成され、箇条書きで保存された

無事、shopping_list.txtファイルが新規作成されました。

✅ 成功!

ChatGPTからローカルPCのファイルを自由に操作できるようになりました!


🔗 関連記事

今回の内容に関連する過去記事もぜひご覧ください:


📝 まとめ(無料パート)

今日学んだこと:

  • BATファイルで1クリック起動が実現できる(完全版は有料パートになります)

  • AIが作るBATファイルは日本語を避けるべき

  • APIキー認証エラーの原因と解決の方向性

シンプル版でできること:

  • サーバーの1クリック起動

シンプル版の限界:

  • APIキーが毎回ランダム生成される(server.js修正が必要)

  • ngrokは別途手動起動が必要

  • URLは毎回手動でコピーが必要(試したところ基本は固定されていて修正なしで使いまわせましたが、変更になっていないか確認してください)

  • OpenAPIスキーマ(カスタムGPT編集>構成>アクションを編集する>APIキーなど)も手動更新が必要


ここから先は、すべてを完全自動化する統合版バッチファイルをご紹介します。

ngrok起動、URL自動取得、OpenAPIスキーマ自動生成まで、1クリックで完結します!


🔒 有料パート:統合版バッチファイル

ここから先は有料コンテンツです。

統合版でできること:

  • ✅ APIキーの固定化(server.js修正方法)

  • ✅ サーバー起動(バックグラウンド)

  • ✅ ngrok起動(バックグラウンド)

  • ✅ ngrok URL自動取得

  • ✅ OpenAPIスキーマ自動生成(YAML)

  • ✅ ChatGPT Actions設定手順の表示

  • ✅ ngrok Inspectorの自動オープン

含まれるファイル:

  1. `start-all.bat`(統合版バッチファイル)

  2. `server.js`修正版(APIキーハードコード対応)

  3. セットアップ手順の詳細解説


Step 1: APIキーを生成

まず、固定で使用するAPIキーを生成します。

PowerShellで以下を実行:
※このコードは32文字のランダムな文字列を作成するだけなので、繰り返し実行しても問題ありません。

ここから先は

9,063字 / 4画像

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

記事がお役に立てたなら嬉しいです! いただいたチップは、新しいMCPツールの検証や、より深い実践実験の資金として大切に使わせていただきます。 あなたの応援が次の「AI活用の感動」を生み出す原動力になります✨ 一緒に羽ばたき続けましょう!