近年熱を帯びているMCPサーバーであるが、 いざ実装を試すと色々と分からない事が出てきた。
※この内容はChatGPT 4oで得た回答を基に書いております。
MCPサーバーの勘違いしやすいところ
LLMベースのMCPクライアントと既存の外部サービス, API, システムの橋渡しの役割
MCPサーバーは橋渡しのような役割で、直接データの生成・実行などをここでするわけではない。
個人的には中間サーバーみたいだなーって印象だが、これは正しい認識であろうか?
必要な時だけ起動
APIサーバーなどとは異なり、MCPクライアントがMCPサーバーに接続する際に起動させ、 処理が終わったら終了するのが原則であるらしい。
また、常時起動のMCPサーバーというのは原則としては想定されていないというらしい。 都度起動である理由としては、
- ライフサイクルのシンプルさ
- 不要な情報が残らずセキュリティ
- 必要な分の起動と使い終わったときに削除できるスケーラビリティ
- 待機時間がない分のコスト効率 という事である。
ただ、Pythonのfastapi_mcpだと、従来のAPIサーバーをMCPサーバーとしても 流用する事ができるのだが、これのメリットとしては、
- 思い初期化処理を毎回起動する必要がない
- Webhookとの併用ができる
- Docker起動が使えない環境で活用できる
などが挙げられている。