MCP Server Python について
MCP Server Pythonは、LLMにBMI計算と天気検索のツールを提供するPython製のサーバー例です。CursorやClaude for Desktopとの接続方法も説明しています。
主な機能
- 01身長と体重からBMIを計算
- 02都市名で天気を検索
- 03PythonまたはMCP CLIで実行
- 04Cursorの設定による接続
活用シーン
- 01入力された測定値からBMIを計算
- 02指定した都市の天気を取得
- 03基本的なPython製MCPサーバーの設定を学習
MCP 対応
BMI計算と天気検索をツールとして公開するMCPサーバーの例です。CursorおよびClaude for Desktopへの接続方法を記載しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Server Python
英語
Model Context Protocol を使用した Python サーバーのサンプルプロジェクトです。
目次
概要
このプロジェクトは、Model Context Protocol(MCP)を使用して、Claude AI などの LLM にツールを提供するサーバーのサンプルです。BMI 計算と天気情報の検索機能を提供します。
参照
このプロジェクトは、以下のオープンソースプロジェクトを基に作成されました。
前提条件
- Python 3.9 以上
- pip または pip3(パッケージマネージャー)
- httpx(非同期 HTTP クライアント)
- MCP Python SDK
インストール
- リポジトリをクローンします。
git clone https://github.com/yourusername/hello-mcp-server-python.git
cd hello-mcp-server-python
- 必要なパッケージをインストールします。
pip install httpx "mcp[cli]"
- サーバーを実行します。(Cursor または Claude for Desktop 経由で接続する場合は省略できます)
python server.py
# or
mcp run server.py
Cursor と Claude for Desktop への接続
Cursor への接続
- Cursor IDE を開き、プロジェクトを読み込みます。
- プロジェクトのルートに
mcp.jsonファイルを作成し、以下の内容を追加します。
{
"mcpServers": {
"mcp-server-python": {
"command": "mcp",
"args": [
"run",
"/_____PATH_OF_FILE_____/server.py"
]
}
}
}
- Cursor で Claude とチャットすると、MCP ツールが自動的に認識されます。サーバーは mcp.json の設定に従って自動的に実行されます。
Claude for Desktop への接続
- Claude for Desktop をインストールします。
- ターミナルでサーバーを実行します。
python server.py
- Claude for Desktop の設定にある MCP サーバーのセクションに移動し、ローカル MCP サーバーを追加します。
- 必要に応じて、サーバーの URL またはポートを設定します。
- Claude とのチャット中に、BMI 計算ツールと天気検索ツールを使用できます。
プロジェクト構成
hello-mcp-server-python/
├── server.py # MCP server main file
└── requirements.txt # Dependency package list (optional)
機能
現在、サーバーは次の 2 つのツールを提供します。
calculate_bmi:身長と体重の入力値から BMI を計算します。fetch_weather:指定された都市名の天気情報を取得します。(API キーが必要です)
Weather API の設定
Weather API を使用するには、API キーが必要です。server.py ファイルを開き、以下のように変更します。
@mcp.tool()
async def fetch_weather(city: str) -> str:
"""Fetch current weather for a city"""
API_KEY = "your_api_key_here" # Enter your API key here
async with httpx.AsyncClient() as client:
response = await client.get(f"https://api.weather.com/{city}?apiKey={API_KEY}")
return response.text
ライセンス
このプロジェクトは MIT License の下で配布されています。詳細については LICENSE ファイルを参照してください。
参考資料
- Model Context Protocol のドキュメント
- Model Context Protocol Python SDK のドキュメント
- httpx のドキュメント
- Claude AI のドキュメント
韓国語
Model Context Protocol を活用した Python サーバーのサンプルプロジェクトです。
目次
- 概要
- 参照先のサイト
- 事前インストール要件
- インストール方法
- Cursor と Claude for Desktop への接続方法
- プロジェクト構成
- 機能
- Weather API の設定
- ライセンス
- 参考資料
概要
このプロジェクトは、Model Context Protocol(MCP)を使用して、Claude AI などの LLM にツール機能を提供するサーバーのサンプルです。BMI 計算と天気情報の検索機能を提供します。
参照先のサイト
このプロジェクトは、以下のオープンソースプロジェクトを参考にして作成されました。
事前インストール要件
- Python 3.9 以上
- pip または pip3(パッケージマネージャー)
- httpx(非同期 HTTP クライアント)
- MCP Python SDK
インストール方法
- リポジトリをクローンします。
git clone https://github.com/yourusername/hello-mcp-server-python.git
cd hello-mcp-server-python
- 必要なパッケージをインストールします。
pip install httpx "mcp[cli]"
- サーバーを実行します。(Cursor または Claude for Desktop 経由で接続する場合は、この手順は省略できます)
python server.py
# 또는
mcp run server.py
Cursor と Claude for Desktop への接続方法
Cursor への接続
- Cursor IDE を開き、プロジェクトを読み込みます。
- Cursor プロジェクトのルートに
mcp.jsonファイルを作成し、以下の内容を追加します。
{
"mcpServers": {
"mcp-server-python": {
"command": "mcp",
"args": [
"run",
"/_____PATH_OF_FILE_____/server.py"
]
}
}
}
- Cursor で Claude とチャットすると、MCP ツールが自動的に認識されます。サーバーは mcp.json の設定に従って自動的に実行されます。
Claude for Desktop に接続する
- Claude for Desktop をインストールします。
- ターミナルでサーバーを実行します:
python server.py
- Claude for Desktop の設定で MCP サーバーのセクションに移動し、ローカル MCP サーバーを追加します。
- 必要に応じて、サーバーの URL またはポートを設定します。
- Claude と会話すると、BMI 計算ツールと天気情報取得ツールを使用できます。
プロジェクト構成
hello-mcp-server-python/
├── server.py # MCP 서버 메인 파일
└── requirements.txt # 의존성 패키지 목록 (선택 사항)
機能
現在、サーバーは 2 つのツールを提供しています:
calculate_bmi:身長と体重を入力して BMI を計算します。fetch_weather:都市名を入力して、その都市の天気情報を取得します。(API キーの設定が必要です)
天気 API の設定
天気 API を使用するには、API キーが必要です。server.py ファイルを開き、次のように変更してください:
@mcp.tool()
async def fetch_weather(city: str) -> str:
"""Fetch current weather for a city"""
API_KEY = "your_api_key_here" # 여기에 API 키를 입력하세요
async with httpx.AsyncClient() as client:
response = await client.get(f"https://api.weather.com/{city}?apiKey={API_KEY}")
return response.text
ライセンス
このプロジェクトは MIT ライセンスの下で配布されています。詳しくは LICENSE ファイルを参照してください。
参考資料
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。