【ITニュース解説】How-to Safely Expose your MCP Servers Externally Using ngrok and ToolHive
2025年09月09日に「Dev.to」が公開したITニュース「How-to Safely Expose your MCP Servers Externally Using ngrok and ToolHive」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
ローカルで動くMCPサーバーを外部に公開する際、管理ツールToolHiveとトンネリングサービスngrokを連携させれば安全かつ簡単に実現できる。コマンド一つで公開URLが発行され、DNSやファイアウォールの設定は不要だ。
ITニュース解説
システム開発の現場では、自身が開発しているサーバーやアプリケーションを、社外のパートナーや顧客に一時的に利用してもらう場面が頻繁に発生する。例えば、開発中の機能をテストしてもらったり、他のシステムとの連携が正しく動作するかを確認したりする場合がこれにあたる。しかし、通常、開発用のサーバーは社内ネットワークや自身のコンピュータの中といった閉じた環境で動作しており、外部のインターネットから直接アクセスすることはできない。これを安全に外部公開するためには、ファイアウォールの設定変更や複雑なネットワーク構成の知識が必要となり、多くの手間と時間を要するのが一般的であった。この記事では、このような課題を「ToolHive」と「ngrok」という2つのツールを組み合わせて、簡単かつ安全に解決する方法を紹介している。
記事の中心となる技術は「MCPサーバー」である。MCPとは「Model Context Protocol」の略で、様々な開発ツールやサービスが互いに情報をやり取りするための通信規格(プロトコル)の一種だ。このMCPのルールに則って動作するサーバーがMCPサーバーであり、例えば、ソフトウェアに含まれる脆弱性情報を自動でチェックするツールが、この仕組みを利用して他のシステムに機能を提供するといった用途で利用される。このようなツール連携をテストする際にも、MCPサーバーを外部の開発者やシステムに公開する必要性が生じる。
この課題を解決する鍵となるのが「ToolHive」と「ngrok」である。まずToolHiveは、MCPサーバーを安定して運用・管理するための基盤ソフトウェアとして機能する。サーバーの起動や停止といったライフサイクル管理から、セキュリティ設定、複数のMCPサーバーの探索機能まで、MCPサーバーを本番環境で動かす上で必要となる様々な面倒な作業を代行してくれる。記事の例では、OSV、すなわちオープンソースソフトウェアの脆弱性をチェックするためのMCPサーバーをToolHiveで管理している。一方のngrokは、ローカル環境で動作しているサーバーを、インターネット上に安全に公開するためのサービスである。ngrokを実行すると、外部からアクセス可能な一意の公開URLが自動で生成される。そして、そのURLへのアクセスを、自身のコンピュータで動いているサーバーへと安全に転送する「トンネリング」という仕組みを提供する。これにより、開発者は複雑なネットワーク設定を一切行うことなく、自身のサーバーを外部に公開できる。さらにngrokは、通信の暗号化(HTTPS)やアクセス制御といったセキュリティ機能も提供するため、安全な公開が可能となる。
記事で示されている具体的な手順は非常にシンプルである。まず、ngrokのサービスに登録し、自分のアカウントを認証するための「認証トークン」と呼ばれる文字列を取得する。次に、MCPサーバーを管理しているToolHiveのコマンドラインツールを使い、「指定したMCPサーバーを、ngrok経由で外部に公開せよ」という命令を実行する。記事中のコマンド例 thv proxy tunnel osv test --tunnel-provider ngrok ... がまさにそれにあたる。このコマンドは、ToolHiveで管理している osv test という名前のMCPサーバーを、トンネリングの仕組みとして ngrok を利用して公開するという意味を持つ。その際、引数として先ほど取得したngrokの認証トークンを渡すことで、ToolHiveがngrokと自動で連携し、自分のngrokアカウントを通じて公開用のURLを生成してくれる。
このコマンドを一つ実行するだけで、それまで自身のコンピュータ内でしかアクセスできなかったMCPサーバーに対して、インターネット経由でアクセス可能な公開URLが即座に発行される。開発者はこのURLをパートナーや顧客に共有するだけで、外部からサーバーの機能を使ってもらうことが可能になる。この手法の最大の利点は、その手軽さと安全性にある。DNSの設定変更やファイアウォールのポート開放といった、専門知識を要するインフラ作業が全く不要である。また、ngrokが通信を暗号化し、アクセス管理機能も提供するため、セキュリティも確保される。発行されるURLは一時的なものであるため、テストやデモといった短期間の共同作業に最適であり、作業が完了すればすぐに公開を停止できるため、不要なセキュリティリスクを長期間抱えることもない。
MCPのような新しい技術が普及するにつれて、開発環境にあるサーバーを外部と安全かつ手軽に連携させる必要性はますます高まっている。ToolHiveとngrokの連携は、このような現代的な開発シーンにおける課題を、迅速かつエレガントに解決する非常に有効なアプローチである。初心者エンジニアも、こうしたツールを活用することで、複雑なインフラ設定に時間を費やすことなく、本来の目的であるアプリケーション開発やシステム連携のテストに集中できるようになるだろう。