Firebase MCP
Gives AI development tools Firebase-specific capabilities and expertise.
Open-source intelligence for the global theater. Track everything from the corporate/private jets of the wealthy, and spy satellites, to seismic events in one unified interface. Hook an AI agent up to have it parse through data and find previously unseen correlations. The knowledge is available to…
作者の方は、このコードを README に貼れます。バッジはこのページにリンクします。
[](https://mcp.popnx.com/en/skills/bigbodycobain-shadowbroker)同じ作業で AI をサービスにつなぐ MCP
Gives AI development tools Firebase-specific capabilities and expertise.
MCP server for interacting with the Supabase platform
同じ種類の作業。Skill 一覧と同じ並び
| これ Shadowbroker | timesfm | google-maps-scraper | Supervisor-Skills | instagram-agent-skill | |
|---|---|---|---|---|---|
| 作者 | BigBodyCobain | google-research | gosom | HKUSTDial | Jakeschincariol |
| Skill 数 | 1 | 1 | 1 | 12 | 13 |
| GitHub スター | 11,580 | 35,567 | 8,107 | 12,586 | 6,601 |
| 最終コード更新 | 2026年11月16日 | 2026年11月13日 | 2026年11月15日 | 2026年11月5日 | 2026年9月13日 |
| ライセンス | AGPL-3.0 | Apache-2.0 | MIT | – | MIT |
BigBodyCobain による 1 個の Skill(指示セット)。AI が読んでそのとおりに作業します · MCP server ではありません
MCP = 手
AI を外部のサービスやデータにつなぎます(例:Notion を読む、請求書を作る)。プログラムやサーバーが動いている必要があります。
Skill = 手順書
作業のやり方を AI に教えるテキストファイル。どのサービスにもつながりません。
重なる部分もあります。ツールを呼ぶスクリプト付きの Skill や、知識だけを渡す MCP もあります。やりたい作業から選んでください。
提供元の記載なし · SKILL.md 形式の Skill は Claude Code、Codex、Cursor など Agent Skills 対応アプリで使えます
GitHub account BigBodyCobain (person), 8 years old
★ 11,580 stars · code last changed 2026年11月16日
9 scripts that can run on a computer: sb_get_summary.py, sb_gt_report.py, __init__.py, sb_alerts.py and 5 more
Scripts that go online: verify_hmac.py
No hooks or writes to machine settings found
Checked automatically from the repo files at commit 5349d9d (read only, nothing was run). Not a safety guarantee: read it and decide for yourself
まず:どの AI を使っていますか
使っているアプリを選ぶと、そのアプリでのインストール方法だけが表示されます
This skill uses the AGPL-3.0 license, which is not on the list we redistribute, so we do not hand out a ZIP from our site. Download it from GitHub and arrange the folder yourself, or use "Let the AI install it" above, which is easier
Download from GitHub (whole repo) ↗
Unzip it, then zip only the openclaw-skills/shadowbroker folder again. The ZIP must have a shadowbroker folder with SKILL.md at the top level, no loose files
+Create skillUpload a skillpick shadowbroker.zip
SettingsCapabilitiesCode execution and file creation
Turn on Code execution and file creation first (newer menus: Create and edit files) · personal plans: Settings → Capabilities · Team/Enterprise: an admin turns it on under Organization settings → Plugins & skills · every plan, including Free
Upload once; it works in claude.ai and Claude Desktop, and in recent Claude Code signed in with a Claude account (not with an API key)
Cowork and cloud sessions use the skills turned on in your claude.ai account, not ~/.claude/skills on your computer (Claude Desktop scheduled tasks run locally and still load it)
Checked against official docs 2026年11月12日 · Source: support.claude.com, support.claude.com, code.claude.com
この文をコピーして Claude Code のチャットに貼り付けます
For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing
The AI tells you what it will do first and asks your permission at every step
Claude Code を開き直し、/shadowbroker と入力するか関連する作業を頼むと Claude が自動で使います
Checked against official docs 2026年11月12日 · Source: code.claude.com
Skill は AI が従う指示です。入れる前にファイルを読み、信頼できる提供元のものだけを入れてください。
Mac:Command+スペースで Terminal と入力 · Windows:下のコマンドは PowerShell では動きません。上の「AI にインストールしてもらう」を使ってください
repo を一時フォルダにダウンロードし、SKILL.md のあるフォルダだけをコピーします
コマンドを確認中 · 確認が通るとコピーボタンが出ます
ChatGPT デスクトップアプリには Codex が組み込まれていて、Codex は ~/.agents/skills フォルダから Skill を読み込みます
ChatGPT デスクトップアプリで Codex を開き、この文をチャットに貼り付けます
The AI always shows you the path before installing
The AI tells you what it will do first and asks your permission at every step
shadowbroker フォルダを ~/.agents/skills/shadowbroker に置きます
~ はホームフォルダ($HOME)です
Skill は AI が従う指示です。入れる前にファイルを読み、信頼できる提供元のものだけを入れてください。
Mac:Command+スペースで Terminal と入力 · Windows:下のコマンドは PowerShell では動きません。上の「AI にインストールしてもらう」を使ってください
repo を一時フォルダにダウンロードし、SKILL.md のあるフォルダだけをコピーします
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Checked against official docs 2026年11月15日 · Source: learn.chatgpt.com
自分でインストールした Skill は使えません。ディレクトリのプラグインに含まれる Skill だけが使えます
この Skill を ChatGPT で使うには、上の方法で ChatGPT デスクトップアプリを使ってください
Checked against official docs 2026年11月15日 · Source: learn.chatgpt.com
この文をコピーして Codex のチャットに貼り付けます · ChatGPT デスクトップアプリ内の Codex、Codex CLI、IDE 拡張機能で使えます
For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing
The AI tells you what it will do first and asks your permission at every step
Codex は新しくインストールした Skill を自動で見つけます。表示されない場合は Codex を再起動してください · 使い方:ChatGPT では @ を入力して Skill を選びます · Codex CLI や IDE 拡張機能では /skills を実行するか、$ に続けて Skill 名を入力します
Checked against official docs 2026年11月15日 · Source: learn.chatgpt.com
Skill は AI が従う指示です。入れる前にファイルを読み、信頼できる提供元のものだけを入れてください。
Mac:Command+スペースで Terminal と入力 · Windows:下のコマンドは PowerShell では動きません。上の「AI にインストールしてもらう」を使ってください
repo を一時フォルダにダウンロードし、SKILL.md のあるフォルダだけをコピーします
コマンドを確認中 · 確認が通るとコピーボタンが出ます
この文をコピーして Cursor のチャットに貼り付けます
For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing
The AI tells you what it will do first and asks your permission at every step
Cursor の Agent チャットで / を入力し shadowbroker を選ぶ
Checked against official docs 2026年11月12日 · Source: cursor.com
Skill は AI が従う指示です。入れる前にファイルを読み、信頼できる提供元のものだけを入れてください。
Mac:Command+スペースで Terminal と入力 · Windows:下のコマンドは PowerShell では動きません。上の「AI にインストールしてもらう」を使ってください
repo を一時フォルダにダウンロードし、SKILL.md のあるフォルダだけをコピーします
コマンドを確認中 · 確認が通るとコピーボタンが出ます
Skill を読めるほかのアプリ向けです。この文には Claude Code、Codex、Cursor のパスが入っていて、AI が使っているアプリに合わせて選びます · Copy this sentence into the app’s chat
For one project, paste it into a chat that is open in that project’s folder · The AI always shows you the path before installing
The AI tells you what it will do first and asks your permission at every step
Checked against official docs 2026年11月12日 · Source: code.claude.com, learn.chatgpt.com, cursor.com
Gemini CLI や GitHub Copilot など Agent Skills 対応の他のアプリはフォルダが違います。そのアプリのガイドを見て、SKILL.md のあるフォルダをコピーしてください。
2026年11月11日 に Claude Code、Codex、Cursor の公式ガイドで skill フォルダを確認
以下は提供元の repo の文章で、PopNx MCP の指示ではありません
最初の 8,000 文字を表示 · GitHub で全文を開く
---
name: shadowbroker
description: >
Query the ShadowBroker OSINT intelligence platform for real-time geospatial
intelligence, place AI intel pins on the map, manage autonomous monitoring,
inject data into native layers, fetch satellite imagery, aggregate news,
generate intelligence reports, and participate in the Wormhole mesh network.
---
# ShadowBroker Intelligence Skill
You have access to **ShadowBroker**, a real-time global OSINT intelligence platform
running on `localhost:8000`. It tracks military flights, ships, satellites, SIGINT,
earthquakes, fires, GDELT conflict events, prediction markets, and 30+ other data
layers — all with geographic coordinates.
## Agent Fast Path (read first)
ShadowBroker exposes dozens of read commands. **Do not explore them.** Use the
three-tool surface:
| Tool | When |
|------|------|
| `await sb.ask("natural language question")` | **Default for reads** — server routes to fastest command |
| `await sb.run_playbook("hot_snapshot")` | Pre-batched snapshots (morning brief, monitor poll, status) |
| `await sb.channel_status()` | Liveness (~5 ms) — never `/api/health` |
**Latency tiers:** `get_entity_profile` / `find_entity` / `get_entity_trail` / `find_flights` / `search_news` / `entities_near` → **⚡ <30 ms**.
`search_telemetry` / `get_telemetry` / `get_report` → **🔴 seconds** — blocked unless `confirm_expensive=true`.
```python
# Default read path (route + execute)
answer = await sb.ask("where is the Patriots jet")
# Named batch plans
brief = await sb.run_playbook("hot_snapshot")
monitor = await sb.run_playbook("monitor_heartbeat")
# Structured lookup when you already parsed fields
entity = await sb.send_command("find_entity", {"owner": "musk", "compact": True})
# Multi-command — always batch, never sequential loops
batch = await sb.send_batch([
{"cmd": "get_summary", "args": {"compact": True}},
{"cmd": "what_changed", "args": {"compact": True}},
])
```
**Playbooks:** `hot_snapshot`, `morning_brief`, `status_check`, `monitor_heartbeat`, `track_snapshot`, `jet_recon`, `area_brief`, `entity_recon`.
**Anti-patterns:** `search_telemetry` for known tail numbers; `get_telemetry` for routine polls; sequential `send_command` loops; empty `layers: []` on `get_layer_slice`.
Load machine-readable routing hints once: `GET /api/ai/capabilities` → `routing`.
## How to Use This Skill
Import the client and call methods:
```python
from sb_query import ShadowBrokerClient
sb = ShadowBrokerClient() # auto-detects local or remote mode
```
### Local Mode (same machine)
No configuration needed. The client connects to `localhost:8000` automatically.
### Remote Mode (agent on different machine/VPS)
Set these environment variables in your agent's config:
```bash
SHADOWBROKER_URL=https://your-shadowbroker-host:8000
SHADOWBROKER_HMAC_SECRET=your-hmac-secret-here
```
The HMAC secret is found in ShadowBroker's **Connect OpenClaw** modal (AI Intel panel).
`SHADOWBROKER_HMAC_SECRET` is a shared signing secret, not a raw API key. Do not
send it as `X-Admin-Key`, `Authorization: Bearer`, a query parameter, or any
plain request header. The `ShadowBrokerClient` signs every direct request with
`X-SB-Timestamp`, `X-SB-Nonce`, and `X-SB-Signature` using:
```text
HMAC-SHA256(secret, METHOD|path|timestamp|nonce|sha256(body))
```
For compatibility with older snippets, `SHADOWBROKER_KEY` is also accepted by
the client as the same HMAC signing secret. Prefer `SHADOWBROKER_HMAC_SECRET`
for new setups.
**Docker Compose:** host-side agents (`localhost:8000` from the Kali/macOS host)
are not loopback inside the backend container — HMAC is required. After
**Connect OpenClaw → Bootstrap → Reveal**, the secret is persisted under
`data/openclaw.env` on the `backend_data` volume. Restart the backend once,
then verify with:
```bash
python openclaw-skills/shadowbroker/verify_hmac.py
```
Hand-rolled signers must hash the **exact** POST bytes. Use compact JSON:
`json.dumps(payload, separators=(",", ":"), sort_keys=True)`.
### SSE Stream (Preferred — Low-Latency Push)
Open the SSE stream **first** and keep it open for the session. The server pushes
`layer_changed` events whenever any data layer refreshes — you know exactly which
layers to fetch instead of blind-polling.
```python
# Open the stream — authenticates once via HMAC, then stays open
async for event in sb.stream_updates():
if event["event"] == "connected":
# Initial handshake — contains full layer_versions snapshot
print(f"Connected: {event['data']['layer_versions']}")
elif event["event"] == "layer_changed":
# Server tells you which layers updated and their new version/count
changed = event["data"]["layers"] # e.g. {"ships": {"version": 43, "count": 1287}}
# Fetch ONLY the layers that actually changed
data = await sb.get_layer_slice(list(changed.keys()))
# get_layer_slice uses per-layer versions internally — only changed
# layers are serialized, unchanged layers transfer zero bytes
elif event["event"] == "alert":
# Watchdog alert — geofence hit, callsign spotted, keyword matched
print(f"Alert: {event['data']}")
elif event["event"] == "task":
# Operator-pushed task
print(f"Task: {event['data']}")
```
### Command Channel (Bidirectional)
Send commands via HTTP alongside the SSE stream:
```python
# Send a command and get the result
result = await sb.send_command("get_summary")
# Batch multiple commands in one HTTP round-trip (concurrent execution)
results = await sb.send_batch([
{"cmd": "find_flights", "args": {"query": "N189AM", "compact": True}},
{"cmd": "search_news", "args": {"query": "carrier", "compact": True}},
])
# Check channel status and security tier
status = await sb.channel_status()
print(f"Tier {status['tier']}: {status['reason']}")
```
The channel operates over HMAC-authenticated HTTP with body-integrity binding:
- **HMAC Direct:** Commands are signed with HMAC-SHA256. Wire privacy relies on TLS.
- **SSE Stream:** Authenticates once at connection open — no per-event HMAC overhead.
- **MLS E2EE (planned, not yet available):** Future upgrade to route commands via Wormhole DM with forward secrecy.
---
## Available Tools
### 1. Telemetry Queries
**Primary pattern (lowest latency):** Use the SSE stream + targeted `get_layer_slice`:
| Method | What It Returns | When to Use |
|--------|----------------|-------------|
| `sb.stream_updates()` | SSE push: `layer_changed`, alerts, tasks | **Open first, keep open** — tells you exactly which layers updated |
| `await sb.get_layer_slice(["ships", "gdelt"])` | Only the requested layers, with per-layer incremental | **Primary fetch method** — automatically skips layers you already have |
| `await sb.send_command("get_summary")` | Lightweight counts-only summary | Discover what data exists before pulling anything |
| `await sb.get_fetch_health()` | Sanitized process-local outcomes for instrumented fetch and maintenance tasks | Results reset on backend restart; condition is the latest recorded task completion, not data freshness |
| `await sb.ask("...")` | **Route + execute** | **Default** for natural-language reads |
| `await sb.send_command("get_entity_profile", {...})` | **Preferred aircraft/vessel dossier** — identity, VIP tags, trail, route, ACARS, jamming/correlations, news | Tail, owner, callsign, MMSI |
| `await sb.send_command("get_entity_trail", {...})` | Observed path + route + ACARS hints only | When you don't need full dossier |
| `await sb.send_command("find_entity", {...})` | Exact-first entity resolver | Parsed person/tail/callsign/MMSI — skips fuzzy unless `fallback_search=true` |
| `await sb.send_command("find_flights", {...})` | Targeted flight search | When you know the domain (callsign, tail number) |
| `await sb.send_command("route_query", {...})` | Routing plan only | Inspect recommended command before executing |
| `await sb.send_command("search_telemetry", {..質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。