MCP Serverは、AIアプリへ外部のdataや機能を提供するprogramです。「server」という名称でも、必ずインターネット上の大型サーバーを指すわけではなく、自分のPC上で動くprocessの場合があります。重要なのは場所より、どのHostと接続し、どのToolやResourceを公開し、どの権限で実行するかです。
目次
MCP Serverは何をする?
MCPの仕組みでは、AIアプリ側のHostが、ServerごとにClientを使って接続します。Serverは自分が提供する能力をMCP形式で知らせ、Hostは利用者やアプリのルールに沿ってそれを使います。ServerはAIモデルでなく、通常はモデルを呼ぶAIアプリの内部にも含まれません。外部API、file、database、社内service等へつなぐadapterとして作られることがあります。
利用者
↓ 質問・確認
AI Host(アプリ)
└─ MCP Client(接続ごと)
└─ MCP Server(Tool / Resource / Promptを公開)
└─ file、database、service API等
MCP Serverが行うのは「外部機能を使える形で公開する」ことです。AIがどの機能を選び、結果をどう判断するか、業務上の最終承認を誰が行うかはHostや業務側の責任として残ります。
公開するものを分ける
Toolは呼び出し可能な機能です。たとえばsearch_docs、create_ticket、update_recordのような処理を提供できます。Toolは実際に状態を変える可能性があるため、名前だけでread-onlyだと思い込まず、入力・出力・副作用を確認します。
ResourceはAIへ渡すcontext dataです。文書、record、schemaなどを参照する用途に向きます。resourceを読むことと、データベースを書き換える操作は分けて設計します。
Promptは再利用できるinteraction templateです。たとえば「問い合わせから製品名・症状・期限を抽出する」指示を提供できます。Prompt自体が外部操作を実行するわけではありませんが、Toolとの組み合わせで実際の処理が進む可能性があります。
serverが公開するTool一覧は固定の単なる説明ではなく、仕様上発見・更新の対象になり得ます。利用側は、実行時点で何が提供されているかを確認する必要があります。
LocalとRemoteの選択
Localでは、Server processをHostと同じ端末で起動し、stdioで通信する構成が代表的です。ローカルfileを読む、個人の開発環境内で動かすなどに使われます。一方、実行fileや設定を信頼できないと、端末上の権限で動作する危険があります。起動command、package供給元、更新方法、local fileへのscopeを確認してください。
Remoteでは、network上のServerへStreamable HTTPで接続する構成が使われます。複数利用者が使える一方、認証・認可、transport security、rate limit、監査、tenant分離、障害対応が必要です。OAuthやAPI keyなど何を使うか、credentialの保存場所、接続先domain、利用者ごとに異なる権限を適用できるか確認します。方式の詳細はprotocol versionや提供サービスに依存します。
Localが自動的に安全、Remoteが自動的に危険ということではありません。localでも広範なfilesystemを読み書きするなら影響が大きく、remoteでも権限と監査を限定できる場合があります。配置場所ではなく、脅威とアクセス範囲を比べます。
Serverに持たせる権限を絞る
Serverの権限は業務に必要な最小範囲にします。文書検索だけなら、閲覧対象のfolderを限定し、書き込み・削除Toolを公開しません。顧客レコードを更新する必要がある場合は、更新先、可能なfield、実行前確認、監査記録を別に設計します。管理者用credentialと一般利用者のcredentialを共用しないでください。
Toolの入力も検証します。たとえば「URLを取得するTool」へ利用者が任意URLを渡せる場合、社内metadataやlocalhostにアクセスされないよう許可domainを制限します。database queryなら読取tableと行のscopeを制限し、書き込みなら更新件数や承認条件を設定します。MCP接続で認証できても、アプリのbusiness authorizationやtenant境界まで自動で決まるわけではありません。
MCP Serverを導入する前の確認票
-
提供元: 社内開発か、第三者serverか。sourceと更新者は確認できるか。
-
配置: local processかremote endpointか。接続先と起動方法は把握できているか。
-
公開機能: Tool / Resource / Promptを一覧にし、read/write副作用を説明できるか。
-
認証: どの利用者・service identityで接続するか。credentialはどこに保存するか。
-
scope: file、API、database、各workspaceの対象範囲を最小化しているか。
-
確認: 外部送信、削除、更新、公開などに人の承認が必要か。
-
監査: 利用・設定・失敗を追えるか。ログにsecretや顧客dataを出していないか。
-
停止: Hostから接続解除できるか。OAuth tokenやAPI keyを失効できるか。
空欄が残る場合は、実データを接続せずsandboxで試します。Serverの説明文だけを読んで、実際の副作用を推測しないことが大切です。
小さく試す例
社内文書検索のServerなら、最初はテスト用folderとread-only権限で起動します。Hostに表示されたTool一覧、検索対象、返却されたsource linkを確認し、許可外の文書が出ないかテストします。書き込みToolをあとから追加する場合は、別の権限reviewと承認テストを行います。接続前後のログにtokenや文書本文が残らないかも確認します。
AIものさしの判断
MCP Serverの役割は、AIへ外部のdataやactionを公開することです。まずどこで動き、何を公開し、どのaccount権限を使うかを確定します。read-onlyの小さな範囲から始め、書き込みや外部送信は別の承認条件を置いてください。「serverがMCP対応」というだけでは、利用者の権限・安全性・業務適合までは分かりません。
Serverを接続した後の流れ
実装versionにより詳細は異なりますが、接続時にはHostとServerがprotocolや利用可能な機能を照合し、その後、HostがServerの提供するTool等を確認します。利用者の質問に応じてAIがTool候補を選び、Hostの安全規則や利用者確認を経て呼び出すと、Serverが実処理を行い結果を返します。Serverは結果の正しさや業務上の承認まで保証するものではありません。
MCP仕様は日付付きで更新されます。2026年10月8日時点の公式Docsは2026-07-28版を案内しており、初期化や能力発見などの細部は以前の版と異なる場合があります。古い記事の例をcopyする時は、client / serverが対応するversionとSDKを合わせてください。概念説明と実装手順は分けて読むのが安全です。
serverを自作するか、既存のものを使うか
表は横にスクロールできます
| 状況 | まず考える選択 | 理由 |
|---|---|---|
| 一つの社内toolを一つのAIアプリから呼ぶ | 既存API連携も比較 | MCPを挟む必要がない場合がある |
| 複数Hostに同じ機能を提供 | MCP Server候補 | 共通形式で公開・発見できる |
| localファイルを限定して読む | local server候補 | network公開なしでも提供可能。ただし端末権限を制限 |
| 複数部署がremote serviceを共有 | remote server候補 | 認証、利用者別scope、監査・運用体制が必要 |
機能の数ではなく、接続を再利用する価値と運用責任を比べます。既存serverを使う場合は提供元と更新方法、自作する場合はcredential保管と障害対応の責任者を確認します。
問題が起きたときの切り分け
接続エラーなら、Host設定、server process、protocol version、transport、認証の順で確認します。Toolが見つからない場合は、Serverが実際に公開しているlist、Hostが対応する機能、認証userのpermissionを照合します。Toolは見えるのに実行できない場合は、入力schema、API応答、server logを確認し、secretや顧客本文が記録されないようにします。原因が分かるまでは、強い権限を追加して解決しようとせず、read-onlyの最小設定へ戻します。
引用・データ出典
公式情報を編集部が見た内容です。Hands-on未実施の記述は本文かここに分けています。
確認日:
