global-sentinel-mcp について
global-sentinel-mcpは、マクロ・金融分析向けの代替データを統合します。予測確率、世界のイベント、航空機の状態、インターネット異常をエージェントから一つのインターフェースで照会できます。
主な機能
- 01Polymarketの予測確率を検索
- 02GDELTの世界イベントを取得
- 03OpenSkyの航空機状態を照会
- 04Cloudflare Radarのネットワーク異常を確認
- 05複合マクロアラートを生成
活用シーン
- 01予測確率とニュースイベントの比較
- 02イベント発生時の航空機状態の確認
- 03地域障害とBGP異常の監視
- 04イベントと障害の信号を組み合わせたマクロ分析
MCP 対応
MCPサーバーは、Polymarket、GDELT、OpenSky Network、Cloudflare Radarの照会ツールと、複合マクロアラートツールを公開します。stdioで通信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx global-sentinel-mcpOPENSKY_CLIENT_IDOpenSky OAuth2 client id (preferred post-2025 migration).OPENSKY_CLIENT_SECRETシークレットOpenSky OAuth2 client secret.OPENSKY_USERNAMEOpenSky Basic Auth username (legacy accounts).OPENSKY_PASSWORDシークレットOpenSky Basic Auth password (legacy accounts).CLOUDFLARE_API_TOKENシークレットCloudflare API token with Radar read permissions.LOG_LEVELPython log level (DEBUG, INFO, WARNING, ERROR).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
global-sentinel-mcp
予測市場、世界のニュースイベント、航空機の状態、インターネットインフラのテレメトリーを統合し、マクロ分析や金融分析向けの代替データレイヤーを提供する非同期 MCP サーバーです。
ステータス:ベータ — 本番環境で利用できます。1.0 までは公開 API が変更される可能性があります。
このプロジェクトについて
代替データ(予測市場のオッズ、リアルタイムの地政学的イベント情報、航空機のトランスポンダーのライブデータ、インターネットインフラのテレメトリー)は、マクロ分析や金融分析においてますます重要になっています。各データソースは API の形式、認証方式、更新頻度が異なるため、新しいプロジェクトごとに連携させるのは手間がかかります。
global-sentinel-mcp は、4 つの公開データフィードを単一の Model Context Protocol(MCP)インターフェースで利用できるようにして、この課題を解決します。LLM エージェントは、上流 API の詳細を把握しなくても、確率、イベント、航空機の状態、インターネットのテレメトリーについて一か所で質問できます。また、ニュースイベントと障害の注釈情報を統合し、人が読める説明付きの収束シグナルを生成する複合マクロアラートツールも提供します。
サーバーは完全に非同期で動作し(リトライ用トランスポートを使用するhttpx.AsyncClient)、すべてのレスポンスとエラーに対して型付きの Pydantic v2 モデルを返します。上流のレート制限を守るため、データソースごとに TTL キャッシュを備え、stdio 経由で 1 つのコマンドからインストールできます。ウェブサーバーは不要です。
利用可能なツール
| ツール | データソース | 戻り値 |
|---|---|---|
get_prediction_odds | Polymarket | クエリに関連するイベントオッズ(確率%、取引量、終了日)のランキング |
get_prediction_event_by_id | Polymarket | 指定したイベント ID またはスラッグのオッズ |
lookup_aircraft_state | OpenSky Network | 機体番号(N-Number)または ICAO24 の 16 進数値に対応する最新の ADS-B 状態 |
convert_nnumber | —(オフライン) | ネットワーク不要の、純粋な Python による FAA N-Number ↔ ICAO24 変換 |
get_global_events | GDELT 2.0 | Goldstein スケールに基づいてランキングした、国ごとの影響度の高いイベント |
check_network_anomalies | Cloudflare Radar | BGP のハイジャックとリーク、および地域的な障害の注釈情報 |
get_macro_alert | GDELT + Cloudflare | 説明文付きの複合収束シグナル |
クイックスタート
1. インストール
uvx global-sentinel-mcp
または、PyPI からインストールします。
pip install global-sentinel-mcp
2. 環境変数を設定(すべて任意。未設定の場合も、ツールは適切に機能を縮退させます)
# OpenSky — OAuth2 preferred (post-2025 migration), Basic Auth for legacy accounts.
export OPENSKY_CLIENT_ID="your_opensky_client_id"
export OPENSKY_CLIENT_SECRET="your_opensky_client_secret"
# Cloudflare Radar — required for BGP and outage tools.
export CLOUDFLARE_API_TOKEN="your_cf_token"
# Optional.
export LOG_LEVEL="INFO"
3. 実行
global-sentinel-mcp
サーバーは stdio 経由で MCP JSON-RPC を通信します。
ローカルでの開発
git clone https://github.com/ykshah1309/global-sentinel-mcp
cd global-sentinel-mcp
uv sync --dev
uv run global-sentinel-mcp # run the server
uv run pytest tests/ -v # run the test suite
uv run ruff check src/ tests/ # lint
uv run mypy src/ # type-check
Claude Desktop の設定
claude_desktop_config.json に追加します(claude_desktop_config.example.json を参照)。
{
"mcpServers": {
"global-sentinel": {
"command": "uvx",
"args": ["global-sentinel-mcp"],
"env": {
"OPENSKY_CLIENT_ID": "your_opensky_client_id",
"OPENSKY_CLIENT_SECRET": "your_opensky_client_secret",
"CLOUDFLARE_API_TOKEN": "your_cf_token"
}
}
}
}
Cursor の設定
.cursor/mcp.json に追加します。
{
"mcpServers": {
"global-sentinel": {
"command": "uvx",
"args": ["global-sentinel-mcp"],
"env": {
"OPENSKY_CLIENT_ID": "your_opensky_client_id",
"OPENSKY_CLIENT_SECRET": "your_opensky_client_secret",
"CLOUDFLARE_API_TOKEN": "your_cf_token"
}
}
}
}
環境変数
| 変数 | 必要な用途 | 説明 |
|---|---|---|
OPENSKY_CLIENT_ID | 航空(OAuth2、推奨) | OpenSky OAuth2 クライアント ID — 無料で登録 |
OPENSKY_CLIENT_SECRET | 航空(OAuth2、推奨) | OpenSky OAuth2 クライアントシークレット |
OPENSKY_USERNAME | 航空(レガシー) | OpenSky Basic Auth ユーザー名(2025 年以前のアカウント) |
OPENSKY_PASSWORD | 航空(レガシー) | OpenSky Basic Auth パスワード |
CLOUDFLARE_API_TOKEN | BGP + 障害 | Radar の読み取り権限を持つ Cloudflare API トークン |
LOG_LEVEL | — | Python のログレベル(DEBUG / INFO / WARNING / ERROR)。デフォルトは INFO です。 |
Polymarket と GDELT のツールでは認証は不要です。OpenSky は匿名での利用も可能ですが、レート制限が非常に厳しくなります。
データソース
Polymarket(Gamma API)
クラウドソーシング型の予測市場データです。トークン価格は、将来の出来事に対する群衆の推定確率を反映しています。API キーは不要です。イベントでは outcomes と outcomePrices が JSON 形式の文字列として公開されます。クライアントは「Yes」の選択肢を解析し、probability_pct として返します。
ドキュメント
GDELT 2.0
世界最大のオープンアクセス型グローバルニュースイベントデータベースで、15 分ごとに更新されます。イベントには、関係者、イベント種別、Goldstein の紛争/協力スコア、地理座標が記録されています。公開サイクルごとに、サーバーは 5 MB のエクスポート ZIP を一度だけダウンロードして解析し、メモリ内の DataFrame キャッシュからすべての国のクエリに応答します。 ドキュメント
OpenSky Network
世界中のボランティア受信機ネットワークによる、一般公開の ADS-B 飛行追跡データです。Mode S トランスポンダーを搭載したあらゆる航空機について、リアルタイムの位置、高度、速度、地上/飛行中の状態を返します。2025 年以降、このサービスは OAuth2 クライアントクレデンシャル方式に移行しました。このサーバーはトークンの更新を自動で処理し、認証情報がない場合は Basic Auth(レガシー)または匿名アクセスにフォールバックします。 ドキュメント
Cloudflare Radar
Cloudflare のグローバルネットワークから得られる、インターネットインフラのテレメトリーデータです。BGP ルーティングの異常(/bgp/hijacks/events、/bgp/leaks/events)と、地域別の障害アノテーション(/annotations/outages。以前は「traffic anomalies」と呼ばれ、2024 年に Cloudflare が名称を変更)を扱います。無料の Cloudflare API トークンが必要です。
ドキュメント
貢献
セットアップ手順、ブランチ命名規則、テスト要件、コードスタイルのガイドラインについては、CONTRIBUTING.md をご覧ください。
ライセンス
MIT — Copyright (c) 2026 ykshah1309
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。