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 分