shirokawakita/Sentinel-Asia-Emergency-Observation-Request-MCP-Server---FastMCP-FastAPI
If you are the rightful owner of Sentinel-Asia-Emergency-Observation-Request-MCP-Server---FastMCP-FastAPI and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Sentinel Asia EOR MCP Server provides an API for accessing emergency observation requests related to disasters in the Asia-Pacific region, hosted on Render.com.
get_countries
Retrieve a list of available countries with their ISO3 codes.
get_metadata
Obtain metadata about the service, including descriptions, licenses, and methodologies.
get_events
Fetch disaster event information based on country codes and date range.
get_products
Retrieve product information from a specified EOR detail page URL.
Sentinel Asia EOR MCP Server
Sentinel Asia緊急観測要請(EOR)APIのMCPサーバー実装
概要
このプロジェクトは、Sentinel AsiaのEOR(Emergency Observation Request)APIをModel Context Protocol (MCP)サーバーとして提供します。Render.comでホストされており、ClaudeデスクトップアプリやClaude Code、その他のMCPクライアントから災害情報を取得できます。
デプロイされたサーバー
- サーバーURL:
https://sentinel-asia-emergency-observation.onrender.com
- SSEエンドポイント:
https://sentinel-asia-emergency-observation.onrender.com/sse
セットアップ方法
方法1: プロキシサーバー経由(Claudeデスクトップアプリ推奨)
ClaudeデスクトップアプリはHTTP/SSEトランスポートを直接サポートしていないため、ローカルプロキシサーバーを使用します。
-
必要なパッケージをインストール:
pip3 install fastmcp httpx pydantic
-
Claude設定ファイルを編集:
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
以下の設定を追加:
{ "mcpServers": { "sentinel-asia-eor": { "command": "python3", "args": [ "/path/to/mcp_proxy_server.py" ], "env": {} } } }
- Linux:
-
Claudeデスクトップアプリを再起動
方法2: Claude Code経由
Claude CodeはSSEトランスポートをサポートしています:
claude mcp add --transport sse sentinel-asia-eor https://sentinel-asia-emergency-observation.onrender.com/sse
方法3: 他のMCPクライアント経由
Cursor、VS Code拡張機能、LibreChatなどの他のMCPクライアントでは、HTTP/SSEエンドポイントを直接使用できます:
https://sentinel-asia-emergency-observation.onrender.com/sse
利用可能なツール
1. get_countries
利用可能な国のリストを取得
2. get_metadata
サービスのメタデータ(説明、ライセンス、方法論)を取得
3. get_events
災害イベント情報を取得
countryiso3s
: 国コード(カンマ区切り、例:JPN,PHL,CHN)start_date
: 開始日(YYYYMMDD形式)end_date
: 終了日(YYYYMMDD形式)
4. get_products
指定されたEORの成果物情報を取得
url
: EOR詳細ページのURL
使用例
> 日本の最近の災害イベントを取得してください
> フィリピンと中国の2024年の災害情報を比較してください
> 利用可能な国のリストを表示してください
Renderでのデプロイ
このプロジェクトはRender.comでホストするように設定されています。
デプロイに含まれるファイル
render_server.py
: Render用のメインサーバーファイルrequirements.txt
: Python依存関係Procfile
: プロセス定義start.sh
: 起動スクリプト(オプション)runtime.txt
: Pythonバージョン指定
Renderでの設定
- GitHubリポジトリをRenderに接続
- 以下の設定を使用:
- Build Command:
pip install -r requirements.txt
- Start Command:
python render_server.py
- Environment: Python 3
- Build Command:
API仕様
このMCPサーバーは以下の構造で動作:
- MCPサーバー:
https://sentinel-asia-emergency-observation.onrender.com
/sse
: SSE MCP接続エンドポイント(Claude Code等用)/health
: ヘルスチェック
- データソースAPI:
https://reder-test-o5k8.onrender.com
/get_countries
: 国リスト/get_metadata
: メタデータ/get_events
: イベント情報/get_products
: 成果物情報
トラブルシューティング
よくある問題
-
"No module named 'fastmcp'" エラー:
pip3 install fastmcp httpx pydantic
-
接続エラー:
- Renderサーバーが稼働しているか確認
- インターネット接続を確認
-
Claudeでツールが表示されない:
- Claudeデスクトップアプリを再起動
- 設定ファイルのパスが正しいか確認
デバッグ
プロキシサーバーのログを確認:
python3 mcp_proxy_server.py
ライセンス
MIT License
🚀 主な機能
- 災害イベント検索: 国別・日付別での災害イベント情報取得
- 国リスト取得: アジア太平洋地域の対応国一覧
- メタデータ取得: サービス情報・ライセンス・注意事項
- 成果物取得: EOR詳細ページから関連成果物情報を取得
🛠️ MCPツール一覧
get_countries()
- アジア、中東、太平洋諸国の国名とISO3コードのリストを取得
get_metadata()
- サービスの説明、ライセンス、方法論、注意事項を取得
get_events(countryiso3s?, start_date?, end_date?)
- 災害イベント情報を取得
- パラメータ:
countryiso3s
: カンマ区切りのISO3国コード(例:JPN,PHL,CHN)start_date
: 開始日(YYYYMMDD または YYYY-MM-DD 形式)end_date
: 終了日(YYYYMMDD または YYYY-MM-DD 形式)
get_products(url)
- 指定されたEOR詳細ページから成果物情報を取得
- パラメータ:
url
: EOR詳細ページのURL
🌐 Renderでのデプロイ
デプロイ設定
Build Command:
pip install -r requirements_mcp.txt
Start Command:
python mcp_server_sse.py
環境変数
PORT
: Renderが自動設定(通常10000)
🔧 Claude Desktopでの使用
claude_desktop_config.json
に以下を追加:
{
"mcpServers": {
"sentinel-asia-eor": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch", "https://your-app.onrender.com/sse"],
"env": {}
}
}
}
📚 使用例
日本の2024年災害イベントを検索
get_events(countryiso3s="JPN", start_date="20240101", end_date="20241231")
フィリピンの最近の災害イベントを検索
get_events(countryiso3s="PHL", start_date="20241201")
利用可能な国一覧を取得
get_countries()
🔗 関連リンク
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
🙏 謝辞
このプロジェクトはSentinel AsiaのAPIを使用しています。災害監視・対応における貴重なデータを提供いただき、ありがとうございます。