コンテンツにスキップ

インストール

機械翻訳

このページは英語版ドキュメントから自動翻訳されたものであり、正式な版は英語版のページです。不自然な箇所があれば、翻訳についてで報告の方法を説明しています。

Python SDK は PyPI 上で mcp として公開されています。Python 3.10 以上が必要です。

このドキュメントは、現在の安定版リリースラインである v2 について説明しています。

uv add "mcp[cli]"
pip install "mcp[cli]"

v1 から移行する場合

v2 は破壊的変更を含むメジャーバージョンです。変更点はすべて 移行ガイド にまとめてあります。自分のパッケージが mcp に依存していて、まだ移行の準備ができていない場合は、バージョンの上限として <2 を付けておいてください(たとえば mcp>=1.28,<2)。そうすれば、バージョンを固定しない依存解決でも 1.x 系にとどまります。

インストールされるもの

SDK を使うだけなら、以下の内容を知っている必要はありません。それぞれの依存関係が何のためにあるのか気になる場合のために、まとめておきます。

  • mcp-types:すべてのプロトコル型(リクエスト、結果、コンテンツブロック)を独立したパッケージにしたもので、SDK と足並みをそろえてバージョン管理されます。mcp に依存するコードは、mcp.types というエイリアス経由でこれをインポートします(このドキュメントに出てくる from mcp.types import ... はすべてそうです)。mcp_types を直接インポートするのは、SDK なしで mcp-types をインストールするプロジェクトだけにしてください。
  • anyio:非同期ランタイムです。SDK 全体が anyio を前提に書かれているので、asyncio でも trio でも動きます。
  • pydanticmcp.types のあらゆるモデルの土台であり、スキーマの生成と検証もすべて担っています。
  • httpx2:Streamable HTTP と SSE のクライアント側トランスポートを支える HTTP クライアントで、Server-Sent Events のサポートを内蔵しています。
  • starletteuvicornsse-starlettepython-multipart:HTTP のサーバー側トランスポートです。
  • jsonschema:ツールの構造化出力を、宣言された出力スキーマに照らして検証します。
  • pyjwt[crypto]:認可のための OAuth トークン処理を担います。
  • opentelemetry-api:軽量な API だけです。そのため、OpenTelemetry の SDK とエクスポーターを自分でインストールしない限り、この SDK のトレーシングミドルウェアにコストは発生しません。
  • typing-extensionstyping-inspection:Python 3.10 でも新しい型付け機能を使えるようにします。
  • pywin32:Windows 専用で、stdio のサブプロセス管理に使われます。

オプションの extras

  • mcp[cli] は、mcp コマンドラインツール(mcp devmcp runmcp install)のために typerpython-dotenv を追加します。開発中は入れておきたいところですが、デプロイしたサーバーでは必要ないかもしれません。
  • mcp[rich] は、サーバーのログを見やすくするために rich を追加します。