mcpField
M
MCP Fly Deployer

MCP Fly Deployer

ローカル
github.com/NakulRajanクラウド・インフラ380 週間前に更新

MCP Fly Deployer について

MCP Fly Deployerは、stdioベースのMCPサーバーをFly.ioにデプロイするための設定を生成するMCPサーバーです。Dockerfile、fly.toml、デプロイスクリプトを作成し、supergatewayでstdioサーバーをSSEまたはWebSocket経由で公開します。

主な機能

  1. 01Fly.ioのデプロイ設定生成
  2. 02実行環境に応じたDockerfile作成
  3. 03fly.toml設定のカスタマイズ
  4. 04Python、Node.js、Go、カスタムバイナリに対応
  5. 05環境変数、シークレット、リージョンの設定

活用シーン

  1. 01stdio MCPサーバーのデプロイ計画作成
  2. 02複数の実行環境向けDockerfile作成
  3. 03Fly.ioのリージョンやアプリ設定
  4. 04stdioサーバーをSSEまたはWebSocketサービスに変換

MCP 対応

対象サーバーのコマンド、実行環境、デプロイパラメーターをクライアントから受け取り、設定を生成するMCPサーバーです。デフォルトではSSEトランスポートを使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Fly Deployer

Fly.io に MCP サーバーをデプロイするための、専用の構成ジェネレーターです。このツールは、stdio ベースの MCP サーバー向けに、Dockerfile、fly.toml の設定、デプロイスクリプトの作成を自動化します。

このプロジェクトは supergateway を統合し、MCP stdio サーバーが SSE(Server-Sent Events)または WebSockets を介して通信できるようにすることで、Fly.io のインフラストラクチャへのシームレスなデプロイを実現します。

機能

  • 🚀 Fly.io のデプロイ設定を自動生成
  • 🐳 ランタイムに基づいて Dockerfile を動的に生成
  • ⚙️ カスタマイズ可能な fly.toml 設定
  • 🔧 複数のランタイムをサポート:
    • Python
    • Node.js
    • Go
    • カスタムバイナリ
  • 🔑 環境変数とシークレットの管理
  • 🌐 リージョンとデプロイオプションを設定可能

仕組み

MCP Fly Deployer は supergateway を使用して、以下を行います:

  • stdio ベースの MCP サーバーを SSE または WebSocket サービスに変換
  • リモートアクセスとデバッグ機能を有効化
  • JSON-RPC のバージョン管理を自動化
  • パッケージのメタデータの送信を処理

基盤となるゲートウェイ技術の詳細については、supergateway のドキュメントを参照してください。

前提条件

  • Python 3.13 以降
  • pip(Python パッケージマネージャー)
  • Fly.io CLI のインストールと設定
  • Node.js と npm(supergateway の機能に必要)

インストール

  1. リポジトリをクローンします:
git clone https://github.com/yourusername/mcp-fly-deployer.git
cd mcp-fly-deployer
  1. 仮想環境を作成して有効化します:
python -m venv .venv
source .venv/bin/activate  # On Unix/macOS
# OR
.venv\Scripts\activate     # On Windows
  1. 依存関係をインストールします:
uv sync

使い方

  1. MCP サーバーを起動します:
python mcp_server_generator.py

サーバーはデフォルトでポート 8000 で起動し、SSE(Server-Sent Events)トランスポートを使用します。

  1. 以下のパラメーターを指定して、デプロイ計画の生成リクエストを送信します:
{
    "server_command": "node",              # Command to run the target stdio server
    "server_args": ["index.js"],           # Arguments for the server command
    "runtime": "node",                     # Runtime ('python', 'node', 'go', 'binary')
    "runtime_version": "20",               # Specific runtime version
    "dependencies": [],                    # List of dependencies
    "requirements_file_content": None,     # Content of requirements.txt for Python
    "files_to_create": [],                # Files to create in the image
    "required_env_vars": [],              # Required environment variables
    "target_port": 8000,                  # Port the container will listen on (default: 8000)
    "app_name": "mcp-server-app",         # Suggested Fly.io app name
    "primary_region": "ord"               # Suggested Fly.io primary region
}

設定オプション

サポートされるランタイム
  • python:バージョンを指定できる Python ランタイム
  • node:バージョンを指定できる Node.js ランタイム
  • go:Go ランタイム
  • binary:カスタムバイナリのデプロイ
デプロイリージョン

Fly.io のリージョンは、primary_region パラメーターで指定できます。一般的なオプション:

  • ord:シカゴ
  • iad:バージニア州北部
  • dfw:ダラス
  • lax:ロサンゼルス
  • bom:ムンバイ

例

Node.js MCP サーバーのデプロイ計画を生成する簡単な例を示します:

{
    "server_command": "node",
    "server_args": ["index.js"],
    "runtime": "node",
    "runtime_version": "20",
    "dependencies": ["@modelcontextprotocol/server"],
    "target_port": 8080,
    "app_name": "my-mcp-server",
    "primary_region": "ord"
}

開発

プロジェクトに貢献するには:

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. プルリクエストを送信します

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。

貢献

皆さまからの貢献を歓迎します!お気軽にプルリクエストを送信してください。

サポート

問題が発生した場合や質問がある場合は、イシューを作成してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。