Minimal MCP Server on Render (Free Plan)
ChatGPT から呼び出せる最小の MCP (Model Context Protocol) 風エンドポイント を Render の無料プランで公開するテンプレートです。
エンドポイント:
POST /mcp(JSON)
ヘルスチェック:GET /health
1) 使い方(GitHub → Render)
このリポジトリを作成(またはZIPを展開してアップロード)
render.yamlとProcfileがあることを確認Render にログイン → 「New」→「Web Service」
GitHub と連携して本リポジトリを選択
プランは Free でOK
Build:
pip install -r requirements.txtStart:
gunicorn server:app --bind 0.0.0.0:$PORT
デプロイが終わると 固定URL が発行されます
例:https://mcp-hello.onrender.com
動作確認
GET https://<your-app>.onrender.com/health→{"status":"ok"}POST https://<your-app>.onrender.com/mcp{"input":"Hello"}応答例:
{"output":"Hello, Hello from Render MCP!","echo":{"input":"Hello"}}
2) ChatGPT での登録(開発者モード)
ChatGPT 右上の設定 → 開発者モード を有効化
「+新規ツール」→ 任意の名前(例: Render MCP)
MCPサーバーURL に以下を入力
https://<your-app>.onrender.com/mcp認証は「なし」でOK → 作成
チャット欄の「+」からツールを選び、
Helloなど入力して応答を確認
3) カスタマイズ(Sora2 等の外部API連携)
server.py の /mcp ハンドラ内に外部API呼び出しを追加します。
APIキーは Render の Environment に設定し、os.environ["API_KEY"] で参照してください。
(.env はローカル開発時のみ。render.yaml には秘密情報を書かないこと)
4) 構成ファイルについて
server.py: Flask 本体(/mcp,/health)requirements.txt: 依存ライブラリ(Flask, Gunicorn)Procfile: Render の起動コマンドrender.yaml: Render のサービス定義(Free プラン/リージョン等).env.example: 環境変数のサンプル(APIキーなどをここに書いて.envにコピー).gitignore: 秘密情報や不要ファイルを除外
5) ライセンス
MIT License(任意に変更可)
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A minimal MCP server template that provides a basic endpoint for testing ChatGPT integration. Designed to be deployed on Render's free plan as a starting point for building custom MCP servers with external API integrations.