MCP公式ドキュメント 日本語版
  1. クイックスタート
MCP公式ドキュメント 日本語版
  • 始める
    • 導入
    • サンプルサーバー
    • クライアントの例
    • クイックスタート
      • サーバー開発者向け
      • クライアント開発者向け
      • Claude デスクトップ ユーザー向け
  • チュートリアル
    • LLMs を使用した MCP の構築
    • デバッグ
    • Inspector
  • コンセプト
    • リソース
    • コアアーキテクチャ
    • プロンプト
    • ツール
    • サンプリング
    • ルーツ
    • トランスポート
  • 発達
    • 最新情報
    • ロードマップ
    • 貢献
  1. クイックスタート

サーバー開発者向け

Claude for Desktop やその他のクライアントで使用する独自のサーバーの構築を開始します。
このチュートリアルでは、シンプルな MCP 天気予報サーバーを構築し、ホストである Claude for Desktop に接続します。まずは基本的なセットアップから始めて、より複雑なユースケースに進みます。

私たちが構築するもの#

多くの LLMs (Claude を含む) には現在、予報や悪天候警報を取得する機能がありません。MCP を使用してこれを解決しましょう。
get-alertsとget-forecast 2 つのツールを公開するサーバーを構築します。次に、サーバーを MCP ホスト (この場合は Claude for Desktop) に接続します。
img
img
サーバーはどのクライアントにも接続できます。ここではシンプルさのために Claude for Desktop を選択しましたが、独自のクライアントを構築するためのガイドや、他のクライアントのリストもこちらにあります。
なぜ Claude for Desktop ではなく、Claude.ai なのでしょうか?

MCP のコアコンセプト#

MCP サーバーは、主に次の 3 種類の機能を提供できます。
1.
リソース: クライアントが読み取ることができるファイルのようなデータ (API 応答やファイルの内容など)
2.
ツール: LLM から呼び出せる関数 (ユーザーの承認が必要)
3.
プロンプト: ユーザーが特定のタスクを達成するのに役立つ、事前に作成されたテンプレート
このチュートリアルでは主にツールに焦点を当てます。
Python
天気予報サーバーの構築を始めましょう。ここで構築する完全なコードを見つけることができます。

前提知識#

このクイックスタートでは、以下の知識があることを前提としています。
Python
Claude などの LLM

システム要件#

Python 3.10 以降がインストールされています。
Python MCP SDK 1.2.0 以降を使用する必要があります。

環境を設定する#

まず、 uvをインストールし、Python プロジェクトと環境を設定しましょう。
MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uvコマンドが確実に実行されるように、後でターミナルを再起動してください。
それでは、プロジェクトを作成して設定しましょう。
MacOS/Linux
# Create a new directory for our project
uv init weather
cd weather

# Create virtual environment and activate it
uv venv
source .venv/bin/activate

# Install dependencies
uv add "mcp[cli]" httpx

# Create our server file
touch weather.py
Windows
# Create a new directory for our project
uv init weather
cd weather

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add mcp[cli] httpx

# Create our server file
new-item weather.py
それでは、サーバーの構築に取り掛かりましょう。

サーバーの構築#

パッケージのインポートとインスタンスの設定#

これらをweather.pyの先頭に追加します:
FastMCP クラスは、Python の型ヒントとドキュメント文字列を使用してツール定義を自動的に生成し、MCP ツールの作成と保守を容易にします。

ヘルパー関数#

次に、National Weather Service API からのデータをクエリしてフォーマットするためのヘルパー関数を追加しましょう。

ツール実行の実装#

ツール実行ハンドラーは、各ツールのロジックを実際に実行する役割を担います。これを追加してみましょう。

サーバーの実行#

最後に、サーバーを初期化して実行します。
サーバーが完成しました。uv uv run weather.pyを実行して、すべてが動作していることを確認してください。
既存の MCP ホストである Claude for Desktop からサーバーをテストしてみましょう。

Claude for Desktop でサーバーをテストする#

Claude for Desktop はまだ Linux では利用できません。Linux ユーザーは、クライアントの構築チュートリアルに進み、構築したサーバーに接続する MCP クライアントを構築できます。
まず、Claude for Desktop がインストールされていることを確認してください。最新バージョンはここからインストールできます。すでに Claude for Desktop をお持ちの場合は、最新バージョンに更新されていることを確認してください。
使用する MCP サーバーに応じて、Claude for Desktop を構成する必要があります。これを行うには、テキスト エディターで ~/Library/Application Support/Claude/claude_desktop_config.json にある Claude for Desktop アプリの構成を開きます。ファイルが存在しない場合は必ず作成してください。
たとえば、 VS Codeがインストールされている場合は次のようになります。
MacOS/Linux
Windows
code $env:AppData\Claude\claude_desktop_config.json
次に、 mcpServersキーにサーバーを追加します。少なくとも 1 つのサーバーが適切に構成されている場合にのみ、MCP UI 要素が Claude for Desktop に表示されます。
この場合、次のように単一の天気予報サーバーを追加します。
MacOS/Linux
{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
                "run",
                "weather.py"
            ]
        }
    }
}
Windows
{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "C:\\ABSOLUTE\\PATH\\TO\\PARENT\\FOLDER\\weather",
                "run",
                "weather.py"
            ]
        }
    }
}
commandフィールドにuv実行可能ファイルへのフル パスを入力する必要がある場合があります。これは、MacOS/Linux ではwhich uv 、Windows ではwhere uv実行することで取得できます。
必ずサーバーへの絶対パスを渡してください。
これはデスクトップの Claude に次のように伝えます。
1.
「weather」という名前のMCPサーバーがあります
2.
uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/weather run weather.py を実行して起動するには
ファイルを保存し、 Claude for Desktopを再起動します。

コマンドでテストする#

Claude for Desktop がweatherサーバーで公開した 2 つのツールを取得していることを確認しましょう。これを行うには、ハンマー img アイコンを探します。
img
ハンマーアイコンをクリックすると、次の 2 つのツールがリストされます。
img
サーバーが Claude for Desktop によって取得されない場合は、トラブルシューティングセクションに進み、デバッグのヒントを参照してください。
ハンマー アイコンが表示された場合は、Claude for Desktop で次のコマンドを実行してサーバーをテストできます。
サクラメントの天気はどうですか?
テキサス州で発令中の気象警報は何ですか?
img
img
これは米国国立気象サービスであるため、クエリは米国の場所でのみ機能します。

ボンネットの下で何が起こっているのか#

質問をするときは:
1.
クライアントはあなたの質問をクロードに送信します
2.
クロードは利用可能なツールを分析し、どのツールを使用するかを決定します
3.
クライアントはMCPサーバーを介して選択されたツールを実行します。
4.
結果はクロードに送り返される
5.
Claude は自然言語の応答を生成します
6.
応答が表示されます。
前へ
クライアントの例
次へ
クライアント開発者向け
Built with