階層型サーバーアーキテクチャ
トランスポート、ハンドラー、ビジネスロジックを分離します。
「階層型サーバーアーキテクチャ」はCoddyKit上の無料MCP Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMCP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MCP Academyコースには全4レッスンが含まれています。
大きな1ファイルが問題になる理由
1つのファイルに詰め込まれたサーバーでは、トランスポート、ツールのロジック、データ呼び出しが混在します。規模が大きくなると、変更のたびに遠く離れた箇所を壊す危険が生じます。
レイヤーで考える
整理されたサーバーはlayersに分割されます。境界にはトランスポート、その中間にMCPハンドラー、最下層に純粋なビジネスロジックを置きます。
トランスポート層
外側のtransport層は、stdioやHTTPを介してメッセージを移動させるだけです。ツールが実際に何をするかは知るべきではありません。
ハンドラーは薄いアダプター
ツールとリソースのhandlersは薄く保ちます。引数を解析し、サービスを呼び出し、結果を整形するだけにして、実際の処理は含めません。
@mcp.tool()
def summarize(text: str) -> str:
return service.summarize(text)サービス層が処理を担う
実際のロジックは、MCPのインポートを含まない通常のserviceモジュールに置きます。どこからでも呼び出せる普通のPythonコードです。
def summarize(text: str) -> str:
return shorten(clean(text))分離のメリット
MCPからロジックを分離すると、サーバーを起動せずにtestでき、後からCLIやWebアプリでも再利用できます。
依存関係は内側を向ける
一方向のルールを守ります。ハンドラーはサービスをインポートしても構いませんが、サービスは上位のhandlersやトランスポートを決してインポートしてはいけません。
関心ごとごとにフォルダーを分ける
レイヤーをフォルダーに対応させ、structureから構成が分かるようにします。サーバーのエントリーポイント、ハンドラー、サービス、モデルにそれぞれ場所を割り当てます。
src/
server.py
handlers/
services/
models.pyエントリーポイントでは登録し、定義しない
server.pyではハンドラーをFastMCPインスタンスに接続し、ロジックは含めないようにします。ここは組み立て場所であり、処理の中心ではありません。
from handlers import register_tools
register_tools(mcp)横断的なヘルパーは共有する
ロギング、設定、バリデーションはsharedな関心ごとです。共通モジュールにまとめ、すべてのレイヤーで同じヘルパーを使えるようにします。
書き直さずに拡張する
レイヤー化すると、サーバーの規模をscaleできます。新しいツールを追加するときは、ハンドラーとサービスを追加するだけで、他の部分には手を加えずに済みます。
クイックチェック
ツールの本当のビジネスロジックはどこに置くべきでしょうか。
まとめ:レイヤー化設計
サーバーをtransport、薄いハンドラー、純粋なサービスに分け、依存関係を内側に向けます。次は設定です。🧱
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「階層型サーバーアーキテクチャ」レッスンは無料ですか?
はい。「階層型サーバーアーキテクチャ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MCP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MCP Academyコースには全4レッスンが含まれています。
「階層型サーバーアーキテクチャ」で何を学びますか?
トランスポート、ハンドラー、ビジネスロジックを分離します。 ブラウザで直接実行するハンズオンコードでMCP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MCP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMCP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「階層型サーバーアーキテクチャ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMCP Academyレッスンでコードを書いて実行できますか?
はい。すべてのMCP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 階層型サーバーアーキテクチャ
- 環境変数による設定とシークレット管理
- 冪等性と副作用を考慮したツール
- ツールとスキーマのバージョン管理