MCP Academy · レッスン

階層型サーバーアーキテクチャ

トランスポート、ハンドラー、ビジネスロジックを分離します。

レッスン 1/413 ステップ

「階層型サーバーアーキテクチャ」は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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 階層型サーバーアーキテクチャ
  2. 環境変数による設定とシークレット管理
  3. 冪等性と副作用を考慮したツール
  4. ツールとスキーマのバージョン管理
← MCP Academyに戻る