MyLearn FastMCP
FastMCP を勉強するためのリポジトリ
Ask AI about MyLearn FastMCP
Powered by Claude · Grounded in docs
I know everything about MyLearn FastMCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
MyLearn_FastMCP
FastMCP(Model Context Protocol)の学習用リポジトリです。
概要
MCPは、AIアシスタント(Claude等)が外部ツールやデータソースと連携するためのプロトコルです。このリポジトリでは、FastMCPを使ったMCPサーバーの実装を学習・実験しています。
使用バージョン: FastMCP 2.14.2 (v2系)
提供ツール
基本ツール
greet
シンプルな挨拶を返すツール。
引数:
name: 名前(デフォルト: "miho")
天気予報ツール(OpenWeatherMap API)
get_weather_forecast
指定した地域の天気予報を取得します。
引数:
city: 地域名(例: "東京", "渋谷", "大阪", "福岡")date: 取得したい日付(YYYY-MM-DD形式、省略時は今日)
出力例:
{
"地域": "東京",
"日付": "2026-02-02",
"天気": "Clear",
"天気詳細": "晴天",
"気温": "12℃",
"最高気温": "14℃",
"最低気温": "5℃",
"湿度": "45%",
"降水確率": "10%",
"風速": "3.5m/s"
}
駅情報取得ツール(HeartRails Express API)
get_areas
日本のエリア一覧を取得します。
出力: 北海道、東北、関東、中部、近畿、中国、四国、九州
get_prefectures
指定エリアの都道府県一覧を取得します。
引数:
area: エリア名(例: "関東", "近畿", "東北")
get_lines
指定都道府県の路線一覧を取得します。
引数:
prefecture: 都道府県名(例: "東京都", "大阪府", "神奈川県")
get_stations
駅情報を取得します。路線名または駅名で検索できます。
引数:
line: 路線名(例: "JR山手線", "東京メトロ丸ノ内線")name: 駅名(例: "東京", "新宿", "渋谷")
Note: lineとnameのどちらか一方を指定してください。
get_nearest_stations
緯度経度から最寄り駅を検索します。
引数:
latitude: 緯度(例: 35.6812362)longitude: 経度(例: 139.7671248)
セットアップ
1. 依存関係のインストール
uv sync
注意: このプロジェクトはFastMCP 2.14.2(v2系)を使用しています。FastMCP 3.0(現在ベータ版)とは一部APIに互換性がないため、本番環境ではv2の使用を推奨します。
2. 環境変数の設定(天気予報ツールを使用する場合)
# .envファイルを作成
touch .env
# 以下の内容を.envファイルに記述
OPENWEATHERMAP_API_KEY=your_api_key_here
APIキーの取得:
- OpenWeatherMap で無料アカウントを作成してAPIキーを取得してください
実行方法
スタンドアロンで実行
uv run python my_server.py
VS CodeでMCPサーバーとして使用
VS Codeの設定ファイル(settings.json)に以下を追加:
{
"mcp.servers": {
"my-fastmcp-server": {
"command": "uv",
"args": ["run", "python", "my_server.py"],
"cwd": "/path/to/MyLearn_FastMCP"
}
}
}
Claudeデスクトップアプリで使用
Claudeの設定ファイル(claude_desktop_config.json)に以下を追加:
{
"mcpServers": {
"my-fastmcp-server": {
"command": "uv",
"args": ["run", "python", "my_server.py"],
"cwd": "/path/to/MyLearn_FastMCP"
}
}
}
テスト
# テストクライアントで動作確認
uv run python test_client.py
使用しているAPI
- OpenWeatherMap API: 天気予報データ(無料プランで5日間の予報が利用可能)
- HeartRails Express API: 駅情報データ(APIキー不要、無料で利用可能)
ファイル構成
my_server.py: MCPサーバーのメイン実装test_client.py: ツールの動作確認用クライアントmain.py: エントリーポイント(Hello World)pyproject.toml: プロジェクト設定と依存関係quickmap.html: 地図表示用HTML(駅情報の可視化など)
必要な環境変数
OPENWEATHERMAP_API_KEY: OpenWeatherMap APIキー(天気予報ツール使用時のみ必須)
参考リンクv2 Documentation](https://gofastmcp.com/v2/)
バージョン情報
- FastMCP: 2.14.2 (v2系)
- Python: 3.12+
- MCP Protocol: 最新仕様に準拠
