Global Sentinel Mcp

io.github.ykshah1309由 GitHub 帳號 ykshah1309 發布v0.1.1更新於 Oct 27, 2026

Polymarket, GDELT, OpenSky, Cloudflare Radar unified as one MCP server.

概覽

AI 產生的概覽

本機 MCP 伺服器,把 Polymarket 預測賠率、GDELT 新聞事件、OpenSky 航班資料與 Cloudflare Radar 網路遙測整合成宏觀與金融分析用的另類資料層。

可以做什麼
  • 依查詢或指定事件 id/slug 取得排序後的預測市場賠率
  • 依尾號或 ICAO24 十六進位取得最新 ADS-B 飛機狀態,並離線完成 FAA N-Number 與 ICAO24 互轉
  • 依國家取得依 Goldstein 量表排序的高影響力全球新聞事件
  • 檢查 Cloudflare Radar 的 BGP 劫持、路由洩漏與區域中斷標註
  • 產生融合新聞事件與中斷標註的宏觀預警,並附可讀的收斂訊號說明
適用情境
適合助理需要為宏觀或金融研究取得另類資料時使用,例如群眾機率、地緣政治事件流、即時飛機位置或網際網路基礎設施異常,而不必逐一串接上游 API。
執行需求
以 stdio 方式在本機執行,可透過 uvx 或 PyPI 的 pip 安裝。Polymarket 與 GDELT 不需憑證。OpenSky 航空工具使用 OPENSKY_CLIENT_ID 與 OPENSKY_CLIENT_SECRET(OAuth2),舊帳號可用 OPENSKY_USERNAME 與 OPENSKY_PASSWORD;匿名存取限流嚴重。Cloudflare Radar 工具需要具備 Radar 讀取權限的 CLOUDFLARE_API_TOKEN。LOG_LEVEL 為選用。需要網路存取。
安裝前請注意
需要密鑰:CLOUDFLARE_API_TOKEN、OPENSKY_CLIENT_SECRET 與 OPENSKY_PASSWORD 會寫入用戶端設定。查詢內容與識別碼會傳送給第三方服務(Polymarket、GDELT、OpenSky、Cloudflare)。專案處於 Beta 階段,公開 API 可能變動。工具皆為唯讀查詢,未提及寫入或付費操作。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Global Sentinel Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

global-sentinel-mcp

An async MCP server unifying prediction markets, global news events, aviation state, and internet-infrastructure telemetry into one alternative-data layer for macro and financial analysis.

[PyPI version] [Python 3.11+] [MIT License] [CI] [Publish]

Status: Beta — ready for production use; public API may still shift before 1.0.


Why this exists

Alternative data — prediction-market odds, real-time geopolitical event streams, live aviation transponder data, and internet-infrastructure telemetry — is increasingly central to macro and financial analysis. Each source has its own API shape, authentication model, and update cadence, making it tedious to wire them together for every new project.

global-sentinel-mcp closes that gap by wrapping four public data feeds behind a single Model Context Protocol (MCP) interface. An LLM agent can ask probability, event, aviation-state, and internet-telemetry questions in one place, without knowing the upstream API details. It also exposes a composite macro alert tool that fuses news events and outage annotations into one convergence signal with a human-readable explanation.

The server is fully async (httpx.AsyncClient with retry transport), returns typed Pydantic v2 models for every response and error, ships a TTL cache per source to stay within upstream rate limits, and installs in one command over stdio — no web server required.


Available Tools

ToolData SourceWhat it returns
get_prediction_oddsPolymarketRanked event odds (probability %, volume, end date) for a query
get_prediction_event_by_idPolymarketOdds for a specific event id or slug
lookup_aircraft_stateOpenSky NetworkLatest ADS-B state for a tail number (N-Number) or ICAO24 hex
convert_nnumber— (offline)Pure-Python FAA N-Number ↔ ICAO24 conversion, no network needed
get_global_eventsGDELT 2.0High-impact events for a country, ranked by Goldstein scale
check_network_anomaliesCloudflare RadarBGP hijacks + leaks and regional outage annotations
get_macro_alertGDELT + CloudflareComposite convergence signal with explanation string

Quickstart

1. Install

bash
uvx global-sentinel-mcp

Or install from PyPI:

bash
pip install global-sentinel-mcp

2. Set environment variables (all optional — unset tools degrade gracefully)

bash
# 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. Run

bash
global-sentinel-mcp

The server speaks MCP JSON-RPC over stdio.

Local development

bash
git clone https://github.com/ykshah1309/global-sentinel-mcpcd global-sentinel-mcpuv sync --devuv run global-sentinel-mcp        # run the serveruv run pytest tests/ -v           # run the test suiteuv run ruff check src/ tests/     # lintuv run mypy src/                  # type-check

Claude Desktop configuration

Add to claude_desktop_config.json (see claude_desktop_config.example.json):

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 configuration

Add to .cursor/mcp.json:

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"      }    }  }}

Environment Variables

VariableRequired forDescription
OPENSKY_CLIENT_IDaviation (OAuth2, preferred)OpenSky OAuth2 client id — register free
OPENSKY_CLIENT_SECRETaviation (OAuth2, preferred)OpenSky OAuth2 client secret
OPENSKY_USERNAMEaviation (legacy)OpenSky Basic Auth username (pre-2025 accounts)
OPENSKY_PASSWORDaviation (legacy)OpenSky Basic Auth password
CLOUDFLARE_API_TOKENBGP + outagesCloudflare API token with Radar read permissions
LOG_LEVEL—Python log level (DEBUG / INFO / WARNING / ERROR). Default INFO.

Polymarket and GDELT tools require no authentication. Anonymous OpenSky is allowed but heavily rate-limited.


Data Sources

Polymarket (Gamma API)

Crowd-sourced prediction market data. Token prices reflect the crowd's estimated probability of future events. No API key required. Events expose outcomes and outcomePrices as JSON-encoded strings — the client parses the "Yes" leg and returns it as probability_pct. Docs

GDELT 2.0

The world's largest open-access global news event database, updated every 15 minutes. Events are coded with actors, event types, Goldstein conflict/cooperation scores, and geographic coordinates. Per publish cycle the server downloads and parses the 5 MB export zip exactly once, then answers all country queries from an in-memory DataFrame cache. Docs

OpenSky Network

Public ADS-B flight tracking from a global network of volunteer receivers. Returns real-time position, altitude, velocity, and on-ground status for any aircraft with a Mode S transponder. Post-2025 the service moved to OAuth2 client-credentials; this server handles token refresh automatically and falls back to Basic Auth (legacy) or anonymous if credentials are absent. Docs

Cloudflare Radar

Internet-infrastructure telemetry from Cloudflare's global network. Covers BGP routing anomalies (/bgp/hijacks/events, /bgp/leaks/events) and regional outage annotations (/annotations/outages, formerly "traffic anomalies", renamed by Cloudflare in 2024). Requires a free Cloudflare API token. Docs


Contributing

See CONTRIBUTING.md for setup instructions, branch naming conventions, testing requirements, and code style guidelines.


License

MIT — Copyright (c) 2026 ykshah1309

來源:README.md,提交 e22c2ef

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分