Zenn
🛡

MCPサーバーを利用することはセキュリティ的に安全か?

2025/03/26に公開
88

1. はじめに

Model Context Protocol (以下、MCP) は、大規模言語モデル (LLM) と外部データソースやツールを連携させるための便利なオープンプロトコルです。 一方で、MCPサーバーは誰でも作成してGitHubで公開できるため、場合によっては悪意のあるコードが含まれている可能性も否定できません。自作のMCPサーバーに脆弱性を埋め込んでしまうのは自己責任ですが、実際には、公開されているMCPサーバーをマーケットプレイス経由で使用する場合、どの程度の安全性が期待できるのでしょうか? 本稿では、MCPサーバーのマーケットプレイスの現状と、利用する上での注意点について解説します。

1.1. TL;DR

「誰かが何かを保証してくれるわけで、自己責任で使いましょう」というのが前提です。その中でも一定信用して良いと思われるのは、以下の2つです。それ以外は、公式な保証がない状態で提供されています。

1.2 理由

MCP公式のGitHubリポジトリ は、Anthropicが管理しており、Anthropic自身が実装したサーバーとコミュニティが貢献したサーバーが含まれています。

  • 🌟 Reference Servers: Anthropic自身が実装したMCPサーバー
  • 🤝 Third-Party Servers: Anthropic以外が実装したMCPサーバー
    • 🎖️ Official Integrations: 接続先のサービスの公式リポジトリとして実装したMCPサーバー
    • 🌎 Community Servers: 接続先のサービスに無関係な人でも提供できるMCPサーバー

Community Servers は明示的にテストされていないため、利用は自己責任とされています

ClineのMCP Marketplace も信用する基準はMCP公式とほぼ同じで良いと思います。(詳細は4.2節参照)

2. MCP/MCPサーバーとは

「MCP?聞いたことあるけど使ってない…😅」人向けに初歩から少し踏み込んだ内容まで解説 など、すでに日本語での解説もあるので簡単に書きます。詳しくは、MCP公式doc 参照です。

MCP (Model Context Protocol) は、アプリケーションが大規模言語モデル (LLM) にコンテキストを提供するためのオープンプロトコルです。AIアプリケーション(Claude Desktop, Clineなど)にとっての「USB-Cポート」のようなもので、LLMと外部データソースやツールとの連携を標準化します。

https://x.com/norahsakal/status/1898183864570593663

MCPサーバーは、特定の機能 (ウェブ検索、ファイル操作、API連携、データベースアクセスなど) をMCPプロトコルを通じて公開する軽量なプログラムです。 MCPクライアントがこれらのサーバーに接続することで、AIエージェントは外部の知識や機能を利用できるようになります。 例えば、PostgreSQLとの接続用のMCPサーバーもあります。MCPサーバー自体がデータベースとして機能するわけではなく、PostgreSQLとの通信を仲介する役割を果たします。そういう意味では、MCPサーバーというよりも「コネクター」のほうがイメージとしては近いかもしれません。 また、MCPサーバーは、誰でも作成でき、それをGitHubで公開できます。

3. MCPサーバー公開/承認状況

Google Chromeが拡張機能の chrome ウェブストア を公開しているのと同様に、MCPを作成したAnthropicは、GitHub (https://github.com/modelcontextprotocol/servers) でMCPサーバーリポジトリを管理しています。このリポジトリには、Anthropicが実装したMCPサーバーとコミュニティが貢献したMCPサーバーのリストの両方が含まれています。

Anthropic公式以外でも、GitHubの拡張機能であるCline も、ClineのMCPマーケットプレイスを提供しています。 このClineのMCPマーケットプレイスに登録するためには、cline/mcp-marketplace リポジトリ にissue提出して、審査を受ける必要があります。 審査issueの例: https://github.com/cline/mcp-marketplace/issues/44

4 MCP公式リポジトリのセキュリティ全般

modelcontextprotocol organization は Anthropic が主だって運営しているという話です。

GitHub の modelcontextprotocol のorganizationには、

The Model Context Protocol is an open source project run by Anthropic, PBC. and open to contributions from the entire community.

との記載があります。

逆に、anthropic.com ドメインのサイトのIntroducing the Model Context Protocol には、

The Model Context Protocol specification and SDKs
(中略)
Contribute to our open-source repositories of connectors and implementations

という記述があるのでAnthropic公式のプロジェクトであることがわかります。

4.1 modelcontextprotocol/server リポジトリ

modelcontextprotocol 配下には、servers というリポジトリがあります(以下、公式リポジトリと記載)。MCPサーバーのAnthropicの公式な実装の公開と他のMCPサーバーを紹介しているリポジトリです。

セキュリティについては、Security Policy にて記載があり、下記の記載があります。

The security of our systems and user data is Anthropic's top priority.

なおかつ、MCPの開発元のAnthropicは以下の認証を取得しています。ただし、MCPの開発に対してどこまで適用されているかは不明です。

  • SOC 2 Type I
  • HIPAA
  • SOC 2 Type II
  • ISO 27001:2022
  • ISO/IEC 42001:2023

参考: https://trust.anthropic.com/

4.2 どこまで信用して良いか?

🌟 Reference Servers のセクションは一定信用して良いと思います。参照しているソースが、MCP公式リポジトリである modelcontextprotocol/servers リポジトリの src 配下 であるためです。

🎖️ Official Integrationsのセクションも一定信用して良いと思います。(Community Serversは含まないことに注意してください) 例えば、JetBrains用のMCPサーバーなら、JetBrains の organization 配下で作成されています。仮にこのMCPサーバーにセキュリティ的な事故があれば、JetBrainsも非難されるでしょうし、結果的にJetbrainsの信用を落として業績も落ちることが予想されるので、安全なMCPサーバーを実装することに尽力すると考えられるためです。

🌎 Community Servers は、README.mdにも

Note: Community servers are untested and should be used at your own risk. They are not affiliated with or endorsed by Anthropic.

抄訳

注意:コミュニティ サーバーはテストされていないため、自己責任で使用してください。Anthropic と提携しておらず、Anthropic の承認も受けていません。

との記載なので、信用度は低いと考えられます。記載の通り自己責任で使用するのが良さそうです。

4.3. 具体的なリポジトリ運用内容

マニアックなので、読み飛ばしてもよい節です。信頼できるGitHubアカウントとその人達がレビューをしているという内容です。

4.3.1. 公式リポジトリの src ディレクトリ配下にMCPサーバーを実装される過程

modelcontextprotocol/servers の src ディレクトリ配下に公式MCPサーバーに追加するには、他のOSSと同様に、 Pull Request を出してApproveされる必要があります。

2025/03/26現在、https://github.com/modelcontextprotocol/servers/pull/620 は、下記の(Review Requiredの画像)状態なので、保護されたブランチ の機能を使って、Peopleに登録されているGitHubアカウントや、Anthropic社が認めたGitHubアカウントをまとめたTeamがおそらく定義されていると思われます(※)。

review_required

1つ目の例を挙げると、AnthropicによるPostgreSQLの公式実装は、initial commitに含まれており、jspahrsummers さんが作成しています。このアカウントは、MCP公式organizationのPeople に2025/03/26現在登録されています。

2つ目の例を挙げると、 https://github.com/modelcontextprotocol/servers/pull/413/ は、ソースコードを追加しているディレクトリを見る限り、Anthropic によるRedisのMCPサーバー実装です。 Pull Request を承認した人は jerome3o-anthropic さんです。 People に2025/03/26現在登録されていません!。anthropicに関係のあるようなアカウント名で、もしかすると、Approveした 2025/2/7 時点では、Peopleに登録されていたのかもしれません。(※)にもあるように、Anthropicのメンバーであるかは厳密には不明です。この人がApproveしたPull Requestをmainブランチにマージできるところを見るとおそらくAnthropicのメンテナなのだと思います。

(※)Anthropic社の社員に紐づくGitHubアカウントをまとめたTeamが公開されているわけではないので、推測になります。

4.3.2. Official Integrations のMCPサーバーが公式のREADME.mdに追加される過程

README.mdのファイルに対して、modelcontextprotocol/servers の Pull Request が承認されれば、追加されます。

それに先立って、参照されているリポジトリで、MCPサーバーを実装している必要があります。

例: JetBrainsの場合

  1. 公式リポジトリに、Pull Requestを作成したのが、2024/12/16 です。
  2. Approve されたのが、2024/12/17 なので、
  3. レビューしたと思われるのが、39041cc の状態のMCPサーバーです。
  4. 2024/12/17以降も開発されていることがわかります。コミット履歴参照。

公式のMCP Server側が継続的に、JetBrains/mcp-jetbrainsをチェックし続けているかは不明です。なので、承認をされた後に参照されているMCPサーバーのリポジトリが乗っ取られたり、悪意のあるコードを埋め込まれる可能性はあります。 ただし、そうなると、JetBrainsの信用もが落ち、JetBrains社の不利益につながるので、JetBrainsも継続してセキュリティには気をつけていることをAnthropicも信用しているということと解釈できます。

5 cline公式のMCPサーバーのマーケットプレイス

clineはcline独自で Cline MCP Marketplaceリポジトリ にて、clineが直接利用するMCPサーバーのマーケットプレイスを作っています。

What is the MCP Marketplace?
The MCP Marketplace is a curated collection of MCP servers that makes discovery and installation easy. With the marketplace, you can:

Browse official and community-made MCP servers
Search by name, category, tags, and other metadata
Install MCP servers with one click, triggering Cline to autonomously handle cloning, setup, and configuration.

抄訳

MCP マーケットプレイスとは何ですか?
MCP マーケットプレイスは、MCP サーバーの厳選コレクションであり、簡単に検出してインストールできます。マーケットプレイスでは、次のことが可能です。

公式およびコミュニティ製のMCPサーバーを閲覧する
名前、カテゴリ、タグ、その他のメタデータで検索
ワンクリックで MCP サーバーをインストールし、Cline がクローン作成、セットアップ、構成を自動的に処理するようにトリガーします。

ここでの、 official and community-made MCP servers とは、

  1. Anthropic公式のMCPサーバー。上に書いた名前でいうと🌟 Reference Servers
  2. 🎖️ Official Integrations のMCPサーバー
  3. 🌎 Community Servers のMCPサーバー
  4. clineが自身のリポジトリのissueで承認したMCPサーバー

と思われます。信用度を私見で書くと、以下です。

【信用できる】1 > 2 >> 4 >>>(越えられない壁)>>> 3 【信用できない】 と思います。

理由を書くと、このマーケットプレイスに登録するには、GitHubリポジトリで新しいIssueを作成して承認される必要があります。

  • 1.については、4.2節に記載したことと同じ理由で一定信用していいと思います。
  • 2.についても、4.2節に記載したことと同じ理由で一定信用していいと思います。
  • 3.が何の保証もなく、自己責任であることも4.2節に記載したとおりです。

4.については、clineのメンテナーがレビューして追加しているので一定信用していいと思います。ただし、Anthropicよりも信用度は低いと考えられます。
というのは、clineはOSSであり開発会社というとやや語弊がありますが、clineの開発元 は、Anthropicほどセキュリティ関連の承認を受けているわけではないためです。

5.1 clineのMCPマーケットプレイスへの登録過程

4.3と同じくマニア向けで、読み飛ばしてもらってもよい節です。

clineのMCPマーケットプレイスのメンテナーは、明言されていないですが、pashpashpash さんが Cline のリポジトリのメンテナといっていいと思います。
理由

clineのMCPマーケットプレイスに登録されているMCPサーバーは、

しているようです。

前者については、 2025/03/26時点で、https://github.com/oceanbase/mcp-oceanbase が modelcontextprotocol/servers には登録されているものの、clineのMCPマーケットプレイスには登録されていません。

後者については、graphlit-mcp-server#44で登録されています。これは、2025/03/25時点では、 modelcontextprotocol/servers に登録されていません。

5. まとめ

MCPサーバーの導入は、本質的には自己責任です。セキュリティ的に、リスクのあるMCPサーバー世に出す、または承認してデメリットがあるのは、Anthropic、そのMCPサーバーの接続先、clineをはじめとするマーケットプレイス作成者です。

は、一定信用して良いと思います。

それ以外は、自己責任なので、ソースを読む、該当のリポジトリをDeepResearch等で調べさせるくらいはしても良いと思います。

88

Discussion

ログインするとコメントできます