
WhaleScope MCP
io.github.osindo-dev由 GitHub 账号 osindo-dev 发布v1.0.0更新于 Oct 25, 2026
Binance Futures market intelligence: funding, OI, order book, klines, cross-exchange comparison.
发布方自己的服务:Scope (AEC) - Preview
概览
远程 MCP 服务器,让助手以只读方式获取币安 USDS-M 合约市场情报:资金费率、持仓量、订单簿、K 线及跨交易所对比
- 可以做什么
- 读取资金费率、基差、持仓量与多空比,包括大户多空拆分和全交易对资金费率极值扫描。查看订单簿深度与失衡、逐笔成交、吃单量以及 24 小时行情统计。获取合约与现货 K 线、多周期偏向、已实现波动率,以及现货价格、订单簿和均价。跨多个交易对比较指标,一次调用生成单交易对概览,并保存自定义的每交易对阈值。对比 Bybit、OKX 与 Hyperliquid 的资金费率,并读取已存储的基差与信号时间序列。
- 适用场景
- 适合在对话中获取市场持仓背景:谁在做多或做空、杠杆拥挤程度、流动性集中在何处,以及合约与现货的差异。适用于原本需要在多个交易所面板间切换的交易者和分析师。
- 运行要求
- 远程 streamable HTTP 端点;无需本地运行时或币安账户。托管实例可直接使用;自行部署需要 Cloudflare 账户(Workers、KV、D1),以及单独配置了 PROXY_URL 和 PROXY_SECRET 密钥的 Vercel 代理,因为币安会直接封锁 Cloudflare Workers。
安装
在 SourceWeft 中
- 打开 控制台中的 WhaleScope MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.osindo-dev%2Fwhalescope-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"whalescope": {
"type": "http",
"url": "https://whalescope-mcp.jaringan.dev/mcp"
}
}
}README
WhaleScope MCP — Binance Futures Market Intelligence
🇮🇩 Bahasa Indonesia | 🇬🇧 English
MCP server yang menyediakan data publik Binance USDS-M Futures (funding rate, open interest, long/short ratio, taker volume, candlestick, order book, volatility) plus pembanding Binance Spot (harga, order book, candlestick, CVD) sebagai tools yang bisa dipanggil Claude. Semua data yang disajikan bersifat publik read-only — tidak ada order/trading, tidak ada akses ke data akun pribadi.
Quick Deploy
Tombol ini clone repo + bikin Worker di akun Cloudflare kamu sendiri,
termasuk provision KV namespace & D1 database baru otomatis (Cloudflare
generate id/database_id baru buat akun kamu, gak perlu bikin manual).
Bukan zero-touch sepenuhnya — biar jujur soal apa yang masih manual:
setelah klik, kamu TETAP perlu set secret (Cloudflare gak bisa nebak value
dari layanan eksternal) — lihat .dev.vars.example di repo ini buat daftar
lengkap, atau Setup Proxy Vercel
di bawah. PROXY_URL/PROXY_SECRET WAJIB (semua 46 tool butuh).
Tujuan
Menyediakan gambaran positioning pasar Binance Futures — bukan cuma harga, tapi juga siapa yang lagi buka posisi apa (retail vs top trader), seberapa crowded leverage-nya, dan di harga berapa likuiditas menumpuk — langsung dalam percakapan dengan Claude, tanpa perlu buka dashboard exchange terpisah.
Manfaat
- Satu pintu buat banyak sinyal. Funding rate, open interest, order book, dan order flow — semua lewat satu MCP connector, bukan gonta-ganti tab.
- Bisa bedain retail vs whale.
binance_get_top_trader_ratiokasih breakdown murni top-trader (terpisah daribinance_get_long_short_ratioyang blended) — berguna buat lihat kalau posisi retail dan whale lagi divergen. - Native Binance di mana itu penting. Harga, funding rate, klines, order book — semua lewat jalur native Binance (bukan derivasi pihak ketiga), supaya presisi terjaga terutama untuk pair kecil/kurang likuid.
- Gratis buat pemakaian personal — lihat bagian Biaya.
Kelebihan
- 29 tools mencakup lima sudut analisis: bias arah pasar, area harga kunci
(order book), konfirmasi eksekusi (order flow/aggressor), pembanding
Futures-vs-Spot (leverage-driven vs demand riil), dan market-wide scan
(funding rate ekstrem lintas semua pair, atau bandingkan metrik across
beberapa pair) — plus tool composite (
binance_analyze_pair) buat overview cepat tanpa banyak tool call, dan config/histori (threshold per-pair, basis time-series) yang tersimpan di Workers KV. - Read-only terhadap data pasar Binance — tidak ada order/trading. Satu-
satunya tool yang menulis state (
binance_set_pair_threshold) cuma nyimpen preferensi threshold kamu sendiri di Workers KV, tidak menyentuh akun Binance/data pihak luar sama sekali. - Transparan soal keterbatasan tiap tool (lihat bagian di bawah), bukan dibungkus seolah semua data sempurna.
- Infrastruktur cukup dengan free tier (Cloudflare Workers + Vercel Hobby) untuk pemakaian personal — 100% Binance-native, tidak ada dependensi agregator pihak ketiga lagi.
Kekurangan
- Sebagian besar tool request/response. Funding/OI/klines/order book/ratio
semua snapshot atau histori periodik. Data streaming yang ada terbatas:
binance_get_realtime_liquidations+binance_get_contract_events(via stream gateway VPS, lihat di bawah) — tidak ada push tick-by-tick untuk harga / order book. - Liquidation: SAMPLED, bukan lengkap. Sejak 2026-08-28 ada
binance_get_realtime_liquidations— WebSocket!forceOrder@arr(dstream.binance.com) di-buffer always-on di VPS Oracle Singapore (stream-gateway/, di luar Cloudflare — worker Cloudflare sendiri masih di-WAF-block dari Binance). Binance men-throttle stream ini maks 1 event/symbol/detik, jadi ini SAMPEL likuidasi, bukan tiap satu. Tetap cukup buat konfirmasi cluster stop-hunt dibinance_detect_mm_activity(proxy ke-3, price-anchored & sisi-hunt). Tidak ada histori liquidation jauh ke belakang (buffer 24 jam). - Setup awal butuh proxy Vercel (wajib) — bukan pasang-langsung-jalan, ada langkah konfigurasi manual sekali di awal.
- Tidak ada data wallet on-chain atau data dari exchange selain Binance Futures USDS-M.
Sumber data: satu jalur, 100% Binance native.
- Binance native, lewat proxy relay Vercel. Domain Binance
(
fapi.binance.com) memblokir traffic dari Cloudflare Workers di level WAF (403, company-wide — sudah dites langsung dari worker ini, bukan asumsi). Vercel pakai IP pool berbeda, jadi tidak kena block yang sama. Worker Cloudflare relay lewat proxy kecil diproxy/(project Vercel terpisah, lihatproxy/README.md). Ini jalur untuk funding rate (current & histori), klines/OHLCV, bias multi-timeframe, realized volatility, statistik 24 jam, order book depth, aggregate trades, open interest (current & histori), long/short ratio (blended & top-trader), taker buy/sell volume ratio, dan harga spot (proxy juga relay ke Binance Spot APIapi.binance.comlewat parametermarket=spot, lihatproxy/README.md).
Konsekuensinya, worker ini butuh PROXY_URL/PROXY_SECRET (proxy Vercel,
wajib buat semua 46 tool) — lihat bagian Setup di bawah.
Caching & state, tanpa kredensial tambahan. Response upstream (funding
rate, klines, OI, dll — kecuali order book & aggregate trades yang butuh
freshness ketat) di-cache bertingkat (5 detik-1 jam tergantung endpoint)
lewat Cache API bawaan Cloudflare Workers, tidak perlu setup apapun.
Threshold custom per-pair tersimpan di Workers KV (binding CONFIG_KV).
Time-series (basis+funding+OI, dan 6 skor sinyal binance_detect_mm_activity)
tersimpan di D1 (binding DB) — diisi otomatis oleh Cron Trigger tiap 5
menit untuk watchlist tetap 50 pair (SNAPSHOT_WATCHLIST di src/shared.ts,
diurutkan market cap, mis. BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT, dst).
Cross-exchange, tanpa proxy tambahan. whalescope_compare_funding_across_exchanges
akses Bybit/OKX/Hyperliquid LANGSUNG dari worker (dites dari edge
Cloudflare beneran, gak kena WAF/geo-block kayak Binance) — gak ada
kredensial atau setup tambahan buat 3 exchange itu.
Yang disediakan
Konvensi detail: summary vs full (hemat token)
Semua tool di atas yang balikin data array/histori (klines, agg trades,
order book, open interest/funding/basis history, long-short &
top-trader ratio) punya parameter opsional detail: "summary" | "full",
default "summary". Ini satu-satunya perubahan default-behavior yang
disengaja di pembaruan token-efficiency 2026-08 — bukan penghapusan
parameter, cuma default baru:
detail: "summary"(default) — cuma metrik turunan (bias, tren, CVD, dominance, dst — yang memang sudah dihitung tool-nya) + maksimal 10 poin data terbaru. Ini yang dipakai kalau kamu tidak mengirimdetailsama sekali, TERMASUK untuk caller lama yang belum tahu param ini ada.detail: "full"— array/level mentah penuh, perilaku identik dengan sebelum pembaruan ini.
Tool composite (binance_analyze_pair, binance_analyze_smart_money,
binance_detect_mm_activity, analyze_futures_grid_risk,
whalescope_full_pipeline) juga dirapikan: teks dipotong ~8-12 baris,
structuredContent jadi payload utama dengan key lebih pendek/flat, field
kosong (null/undefined) dibuang. Tidak ada sinyal/metrik yang hilang —
semua tetap reachable via structuredContent atau detail: "full".
Detail lengkap + mapping field yang berganti nama:
docs/tool_response_reference.md.
Framework Analisis: Deteksi Market Maker & Whale
Tidak ada tool yang bisa melihat identitas atau posisi spesifik market maker (MM)/whale secara langsung — data Binance yang publik memang tidak menyediakan itu. Yang bisa dilakukan (dan itulah fungsi framework ini): membaca jejak aktivitas mereka dengan menggabungkan beberapa tool di atas, lalu menghitung skor indikasi dari pola yang muncul.
Empat kategori sinyal yang dideteksi:
Rule of thumb: kalau ≥3 sinyal align dalam timeframe yang sama, indikasi aktivitas MM cukup kuat untuk ditindaklanjuti — ini heuristik checklist (lihat tier confidence di dokumen lengkap), bukan probabilitas yang terkalibrasi secara statistik.
Dokumen lengkap: docs/mm_detection_framework.md
(v4, final) — berisi kriteria detail tiap sinyal, workflow step-by-step,
checklist live, dan mapping tool → sinyal.
Framework: Full Pipeline Grid Bot (whalescope_full_pipeline)
Tool composite tertinggi di repo ini — menjalankan SELURUH decision chain
Grid Bot Futures dalam satu tool call, untuk satu atau banyak symbol
sekaligus (maks 20 per call), menggantikan ~8 tool call manual
(binance_market_regime ×2, binance_analyze_smart_money,
binance_detect_mm_activity, binance_get_order_book_imbalance,
analyze_futures_grid_risk, dst.) plus kalkulasi bound grid yang
sebelumnya tidak ada tool-nya sama sekali.
Tahapan (2-wave fetch, reject-early):
Dokumen lengkap (stage-by-stage, worked example, Known Limitations):
docs/full_pipeline_framework.md.
Hasil Validasi Empiris
Setiap klaim teknis di framework ini divalidasi langsung ke worker deployed (bukan asumsi) sebelum masuk versi final. Beberapa temuan yang mengoreksi asumsi awal:
Detail penuh (termasuk raw data test per klaim): Section 10,
docs/mm_detection_framework.md.
Keterbatasan yang jujur perlu diketahui
- Long/short ratio (
binance_get_long_short_ratio) adalah rasio agregat BLENDED, bukan breakdown terpisah "global account (retail)" vs "top trader (whale)". Untuk breakdown murni top-trader, pakaibinance_get_top_trader_ratio(sudah native Binance, terpisah dari tool ini). - Basis funding rate bisa noisy untuk pair kecil/baru listing — index price Binance adalah rata-rata tertimbang dari beberapa exchange spot, salah satunya bisa illikuid untuk pair semacam itu.
- Order book depth (
binance_get_order_book_depth) adalah snapshot sesaat — wall besar bisa hilang dalam hitungan detik (potensi spoofing), jangan overinterpretasi satu snapshot. Untuk deteksi spoofing RIIL (2-snapshot), pakaibinance_get_orderbook_deltaataubinance_detect_mm_activity(lihat di bawah). - Threshold "top trader" tidak dipublikasikan Binance secara pasti, dan datanya snapshot periodik, bukan real-time tick-by-tick.
- Data histori OI (
binance_get_open_interest_history) dibatasi retensi endpoint resmi Binance (/futures/data/openInterestHist), cek langsung kalau butuh rentang panjang. - Tidak ada data wallet on-chain.
- Liquidation cuma near-real-time + SAMPLED, tidak ada histori panjang.
binance_get_realtime_liquidationsbaca buffer 24 jam dari stream gateway VPS (!forceOrder@arrviadstream.binance.com—fstream.binance.comdi-black-hole dari IP VPS). Binance throttle 1 event/symbol/detik → sampel, bukan lengkap. Tidak ada REST publik market-wide buat backfill historis. Worker Cloudflare sendiri masih tidak bisa WS langsung ke Binance (WAF). binance_detect_mm_activity: spoofing sekarang 2-snapshot RIIL (~1-2 detik lebih lambat dari tool lain karenanya, jeda eksplisit 1500ms antar 2 fetch — lihatbinance_get_orderbook_delta), bukan heuristik 1-snapshot lagi. Stop-hunt sekarang simetris (cek upper DAN lower wick, dulu cuma upper — bug lama) + 2 proxy independen (reuse fetch yang sudah ada, bukan fetch baru): OI turun >=2% berbarengan sama wick candle, dan/atau volume trade agresif >=30% terkonsentrasi tepat di zona harga wick itu (dari 100 aggTrades terakhir, sama data yang dipakai CVD). Confidence naik bertahap: 0 proxy aktif = base, 1 proxy = lebih tinggi, 2 proxy sekaligus = tertinggi — TETAP TANPA data liquidation-by-price riil (permanen, lihat poin di atas). Confidence stop-hunt masih lebih rendah dari sinyal lain di tool yang sama — dicatat di evidence text tiap response.binance_market_regime: spike volatilitas/volume dihitung relatif ke window fetch yang sama (10 candle terakhir vs 10 sebelumnya), bukan baseline historis jangka panjang.- Time-series D1 (
market_snapshots, dibacabinance_get_basis_history) SELALU tersedia untuk watchlist tetap 50 pair, best-effort untuk pair lain — pair non-watchlist dapat histori kalau di-query >=3x dalam ~24 jam DAN masuk top-5 pair non-watchlist paling sering di-query (KV counter,src/queryFrequency.ts), cron 5 menit baru snapshot pair itu setelah kondisi terpenuhi.signal_history(dibacabinance_backtest_signal) TETAP watchlist-only, tidak ikut diperluas. - Pair futures-only (HYPEUSDT, 1000PEPEUSDT, PUMPUSDT, dst.) —
spot_price&basisNULL dimarket_snapshotskarena tidak listed di Binance Spot. Funding rate & Open Interest tetap tercatat normal; cuma kolom basis yang kosong buat pair semacam itu. - Belum ada pruning/retention buat row D1 — row nambah terus tanpa batas seiring waktu (di 50 pair x ~6.048 row/hari gabungan kedua tabel, D1 free tier 5 juta write/hari & 5GB storage masih longgar untuk waktu yang lama, tapi ini bukan solusi permanen).
- Migrasi KV→D1 (basis history) TIDAK backfill data lama — histori basis yang sempat tersimpan di Workers KV sebelum migrasi ini hilang, window 24 jam baru keisi ulang natural beberapa jam setelah deploy.
binance_backtest_signal: forward return DIHITUNG ON-DEMAND dari klines historis (close candle 1h terdekat ke waktu target), BUKAN simulasi eksekusi order riil — slippage/fee/partial fill tidak dihitung. Sample size kecil (di bawah ~20 sinyal) berarti confidence rendah, jangan simpulkan sinyal "reliable" dari sedikit data historis (baru mulai terkumpul dari kapan fitur ini deploy, bukan retroaktif).pipeline_decision_log+whalescope_backtest_pipeline_decisions: keputusan per-symbol Phase 2 entry-alert (danpersist=true) disimpan compact 90 hari. Forward return / SL-touch dihitung on-demand dari klines — bukan precompute, bukan auto-tune bobot 35/30/20/15 atau threshold 55.entry_alert_skip_logretensi 30 hari.whalescope_compare_funding_across_exchanges: Open Interest belum divalidasi silang ke data live antar 4 exchange (SEHARUSNYA base-asset di semua exchange termasuk OKX yang pakai fieldoiCcy, tapi belum ada pengecekan langsung — cek ulang kalau angkanya kelihatan janggal). Symbol mapping Binance→exchange lain best-effort (strip suffix USDT) — pair kecil yang gak listed di Bybit/OKX/Hyperliquid bakal muncul "gagal" di baris itu, bukan bikin tool call gagal total.- Rate limit self-throttle ke proxy Binance itu best-effort, BUKAN hard
global limiter — counter in-memory per-isolate (
src/rateLimiter.ts), efektif SELAMA isolate yang sama dipakai ulang buat request beruntun, TAPI worker ini stateless per-request jadi bukan jaminan keras cross-isolate. Threshold 200 request/menit, count-based (bukan weight-based per-endpoint kayak limit asli Binance). binance_get_tool_catalogSEMI-otomatis — nama+description SELALU akurat (ditarik dari tool registry, gak pernah basi/ketinggalan). Tapi category/token-cost/dependencies TETAP manual (CATALOG_METADATAdisrc/tools/catalog.ts) — tool baru yang belum di-curated bakal muncul dengan category"uncategorized", tetap kelihatan (gak ke-omit diam-diam) tapi belum ter-kategorisasi rapi.binance_analyze_smart_moneypakai threshold FIXED (bukan hasil kalibrasi statistik per-pair) — lihat Section 4.2 & 12 didocs/mm_detection_framework.mduntuk kenapa threshold absolut pada top-trader ratio harus dipakai hati-hati.confidenceScoreoutput-nya mengukur margin di atas threshold, BUKAN probabilitas statistik terkalibrasi.
Setup Proxy Vercel (wajib, sekali saja)
Tool berlabel "Binance native" di tabel atas butuh proxy relay di Vercel,
karena worker Cloudflare diblokir langsung oleh WAF Binance. Detail deploy
proxy ada di proxy/README.md — ringkasnya:
- Deploy folder
proxy/sebagai project Vercel terpisah (Root Directory =proxy), set env varPROXY_SECRETdi Vercel (string acak, generate sendiri, misalopenssl rand -hex 32). - Set dua secret ini di worker Cloudflare:
PROXY_URL= URL project Vercel (contohhttps://whale-pearl.vercel.app),PROXY_SECRET= string yang sama persis dengan yang di-set di Vercel.
Tanpa dua secret ini, tool berlabel "Binance native" akan gagal dengan pesan error yang jelas ("PROXY_URL atau PROXY_SECRET belum diset di worker").
Penting: jangan pernah buat secret Cloudflare dengan VALUE sebagai NAME
(misal wrangler secret put lalu tidak sengaja paste value di prompt nama).
wrangler secret list hanya boleh membocorkan nama secret, tidak pernah
value — kesalahan ini membuat value asli bocor lewat command yang seharusnya
aman.
Proxy sekunder / failover (opsional)
Kalau proxy primary kena WAF block/rate-limit/5xx, worker otomatis coba proxy sekunder — TAPI cuma kalau dikonfigurasi. Tanpa ini, perilaku persis sama seperti sebelumnya (1 proxy, error langsung dilempar kalau gagal).
- Deploy instance Vercel KEDUA dari folder
proxy/yang sama (region beda kalau mau, misal Hong Kong vs Singapore) denganPROXY_SECRETsendiri (boleh beda dari primary). - Set dua secret tambahan:
Failover cuma jalan untuk error yang berkaitan sama kesehatan/kredensial tier (401 secret salah, 403 WAF block, 429 rate limit, 5xx) — bukan buat error request genuinely (400 symbol salah, 404) yang bakal gagal identik di tier manapun. 401 SENGAJA termasuk (beda dari versi sebelumnya) karena tiap tier proxy punya secret SENDIRI — primary salah bukan berarti secondary juga salah.
Direct fallback (tier terakhir, otomatis ON)
Kalau primary DAN secondary (kalau dikonfigurasi) sama-sama gagal, worker
otomatis coba langsung ke fapi.binance.com/api.binance.com TANPA proxy
sama sekali sebagai last-resort. Tidak butuh setup apapun (default ON) --
set DISABLE_DIRECT_FALLBACK=true di environment variable worker (bukan
secret, plain var biasa) kalau mau matikan. Lihat komentar "DIRECT
FALLBACK" di src/binanceProxyClient.ts untuk detail & catatan jujur soal
kenapa tier ini kemungkinan besar tetap kena WAF block di kondisi produksi
saat ini (worker Cloudflare ini SUDAH TERBUKTI diblokir Binance secara
langsung) -- tetap berguna untuk wrangler dev lokal (IP pool beda dari
edge Cloudflare produksi) dan sebagai jaring pengaman kalau kebijakan block
berubah.
Setup Workers KV (wajib, sekali saja — kalau fork/deploy repo ini sendiri)
id KV namespace di wrangler.toml repo ini terikat ke akun Cloudflare
yang bikin — kalau kamu fork/clone dan deploy ke akun sendiri, wajib bikin
namespace baru:
Copy id yang muncul ke [[kv_namespaces]] di wrangler.toml, ganti value
id yang lama (binding-nya biarkan tetap CONFIG_KV, kode worker rujuk
nama binding itu, bukan id). Tanpa ini, binance_set_pair_threshold dan
binance_get_pair_threshold akan gagal dengan error jelas ("CONFIG_KV
belum ke-bind di worker").
Setup Workers D1 (wajib, sekali saja — kalau fork/deploy repo ini sendiri)
Sama seperti KV di atas, database_id D1 di wrangler.toml repo ini
terikat ke akun Cloudflare yang bikin. Kalau fork/deploy ke akun sendiri:
Copy database_id yang muncul ke [[d1_databases]] di wrangler.toml
(binding biarkan tetap DB), lalu jalankan migration:
Tanpa ini, binance_get_basis_history dan binance_backtest_signal akan
gagal dengan error jelas ("D1 database (binding DB) belum ke-bind di
worker"), dan Cron Trigger snapshot basis+sinyal MM (tiap 5 menit) akan
gagal silent tiap tick (ke-log ke Workers Logs, tidak menggagalkan endpoint
/mcp lain).
Admin: Usage Log (OPSIONAL)
Worker publik gampang ditemuin (terdaftar di MCP Server Registry)
— jadi ada endpoint kecil buat liat siapa aja yang connect. Ini BUKAN
MCP tool (sengaja HTTP endpoint terpisah, gak pernah muncul di
tools/list) — kalau dibikin tool biasa, SIAPA AJA yang connect ke server
ini bisa liat IP visitor lain, kontradiksi sama tujuannya.
- Set secret (tanpa ini, endpoint SELALU balik 403 — fitur nonaktif by default, aman):
- Akses:
Balikin JSON: total request, jumlah IP unik, top 20 IP (+ negara,
count), 20 request terakhir mentah. Default window 24 jam, bisa
diubah lewat
hours.
Monitoring & Alerting
Backend ini punya beberapa titik gagal diam-diam (proxy Vercel/VPS mati, WS
stream gateway putus, Cron Trigger di-Cancel platform). Yang ada sekarang,
semua lewat Telegram (butuh TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID
di-set — kalau tidak, alert cuma ke Workers Logs):
Semua cek KV-gated (maks 1 alert per cooldown selagi kondisi persist), aman dijalanin tiap 5 menit.
Yang MASIH belum ada (kerjaan dashboard, bukan kode):
- Uptime monitor eksternal ke worker
/+ relayhttps://<vps>/health— pakai UptimeRobot / Cloudflare Health Checks (gratis, 5-menit). Ini yang paling cepat nangkep VPS/relay mati total; cek internal di atas cuma backstop dengan lag. - Cloudflare notification untuk spike error-rate Workers / CPU-limit —
observability (
[observability] enabled = true) cuma ngumpulin data, gak ada rule alert.
Keamanan: DNS Rebinding Protection (OPSIONAL)
Endpoint /mcp memvalidasi header Origin sebelum memproses request --
default izinkan https://claude.ai/https://claude.com (dan request TANPA
header Origin sama sekali, yang mencakup mayoritas MCP client
server-to-server, termasuk cara worker ini dipakai sebagai custom
connector). Request dengan Origin LAIN yang tidak diizinkan dibalas 403.
Ini pengganti opsi bawaan SDK (enableDnsRebindingProtection/
allowedHosts/allowedOrigins) yang sudah @deprecated di
@modelcontextprotocol/sdk -- SDK sekarang merekomendasikan middleware
eksternal, itu yang dilakukan di sini.
Kalau kamu punya web app sendiri yang perlu manggil /mcp langsung dari
browser, tambahkan origin-nya:
(comma-separated, tanpa spasi setelah koma juga OK -- di-trim otomatis.)
Data disimpan di D1 (request_log), di-prune otomatis tiap Cron tick
buat row lebih dari 30 hari (tabel ini gak dibatasi watchlist tetap kayak
market_snapshots/signal_history, jadi bisa growth kalau ada traffic
asing beneran).
Setup Deploy Otomatis (GitHub Actions → Cloudflare Workers)
Repo ini sudah punya workflow di .github/workflows/deploy.yml yang otomatis
menjalankan wrangler deploy setiap kali ada push ke branch main.
Langkah setup (sekali saja)
1. Buat Cloudflare API Token
- Buka https://dash.cloudflare.com/profile/api-tokens
- Klik "Create Token"
- Gunakan template "Edit Cloudflare Workers"
- Scope ke akun kamu, lalu buat token
- Salin token yang muncul (hanya ditampilkan sekali)
2. Tambahkan token sebagai GitHub Secret
- Buka repo ini di GitHub → Settings → Secrets and variables → Actions
- Klik New repository secret
- Name:
CLOUDFLARE_API_TOKEN - Value: token dari langkah 1
- Simpan
3. Trigger deploy
Deploy akan otomatis jalan begitu ada push baru ke main. Untuk trigger
manual tanpa push baru, buka tab Actions di GitHub repo → pilih workflow
"Deploy to Cloudflare Workers" → Run workflow.
4. Cek hasil deploy
Setelah workflow selesai (cek tab Actions), worker akan live di:
Buka URL tersebut — harus muncul JSON status "ok".
Setup Custom Domain (whalescope-mcp.jaringan.dev)
Ini tidak bisa dilakukan lewat GitHub Actions — perlu langkah manual satu kali di dashboard Cloudflare:
- Buka https://dash.cloudflare.com → pilih akun kamu
- Buka Workers & Pages → pilih worker
whalescope-mcp - Buka tab Settings → Domains & Routes
- Klik Add → Custom Domain
- Masukkan
whalescope-mcp.jaringan.dev - Cloudflare akan otomatis membuat DNS record yang diperlukan jika
domain
jaringan.devsudah berada di zona Cloudflare akun yang sama. Kalau domain itu terdaftar di akun/registrar lain, kamu perlu tambahkan CNAME record secara manual mengarah ke target yang ditampilkan Cloudflare.
Setelah custom domain aktif, worker bisa diakses di
https://whalescope-mcp.jaringan.dev (bukan lagi domain .workers.dev).
Daftarkan sebagai Custom Connector di Claude
- Buka Claude (claude.ai) → Settings → Connectors
- Pilih Add custom connector
- Masukkan URL:
https://whalescope-mcp.jaringan.dev/mcp(atauhttps://whalescope-mcp.<subdomain>.workers.dev/mcpjika belum setup custom domain — perhatikan path/mcpdi akhir, wajib) - Simpan, lalu aktifkan connector tersebut untuk percakapan yang kamu mau
Contoh Penggunaan
Setelah connector aktif, tinggal minta lewat percakapan biasa — Claude yang menentukan tool mana yang dipanggil (dan berapa kali) berdasarkan pertanyaan:
- "Funding rate BTCUSDT sekarang gimana, ada indikasi crowded?" →
binance_get_funding_rate - "Pair apa yang funding-nya paling ekstrem sekarang di seluruh market?" →
binance_scan_funding_extremes - "Cek overview lengkap ETHUSDT — funding, OI, order book, bias harga" →
binance_analyze_pair(composite, 1 call ganti 6 tool terpisah) - "Ada tanda-tanda aktivitas market maker di SOLUSDT belakangan ini?" → kombinasi beberapa tool (order book, agg trades, OI, klines) mengikuti Framework Analisis di atas — sebutkan pair-nya, Claude yang menjalankan workflow deteksinya
- "Bandingin funding rate BTC, ETH, SOL, sama BNB" →
binance_compare_symbols - "Layak gak buka Grid Bot Futures di BTCUSDT dan ETHUSDT sekarang, budget
rugi $20?" →
whalescope_full_pipeline(composite tertinggi, 1 call jalanin hard screen → Tier-1 intel → grid bounds → risk sizing → keputusan TRADE/WATCH/NO_TRADE + parameter Grid Bot siap copy-paste untuk kedua pair sekaligus)
Karena semua tool read-only, aman dicoba tanya apapun soal data pasar tanpa risiko memicu order/trading — worker ini tidak punya kemampuan itu sama sekali.
Uji coba manual sebelum daftar ke Claude (disarankan)
npm test (vitest) + npm run typecheck adalah automated check di repo ini
— tapi keduanya cuma nge-cover pure logic (scoring functions, D1/KV
wrapper, tool handler lewat fake McpServer), BUKAN Workers fetch/
scheduled handler beneran (gak ada @cloudflare/vitest-pool-workers).
Verifikasi tool baru/berubah TETAP butuh manual lewat wrangler dev + curl
JSON-RPC buat itu.
Di terminal lain, contoh untuk tool Binance native:
Kalau ini mengembalikan data funding rate + basis BTCUSDT yang valid, jalur proxy Vercel bekerja.
Audit & Hasil
Efisiensi Token
Response tool MCP masuk langsung ke context window Claude — beda dari REST API biasa di mana ukuran response relatif "gratis". Repo ini pernah punya beberapa tool yang boros token tanpa disadari; sudah diperbaiki dan diverifikasi ke worker live (2026-08-12):
Verifikasi ulang kapan saja:
Manggil worker deployed langsung, ukur ukuran skema tool, ukuran response
lintas skala limit, dan "Information Density Ratio" (data vs boilerplate)
buat beberapa tool representatif, plus simulasi 1 percakapan multi-turn
realistis. Bukan bagian npm test/CI (hit worker live via itu) — dipakai
manual pas mau cek dampak perubahan tool description/
format response terhadap konsumsi token. Estimasi token pakai heuristik
chars/4 (gak ada tokenizer resmi Claude yang di-publish sebagai package),
jadi angkanya approximate, berguna buat perbandingan relatif (sebelum vs
sesudah perubahan), bukan angka token exact.
Keamanan
- Validasi input simbol pair.
symbolSchema(dipakai semua tool yang butuh parametersymbol) dibatasi maksimal 20 karakter dan hanya menerima[A-Z0-9_]. Sebelumnya tidak ada batasan — karena simbol dipakai langsung sebagai bagian key Workers KV (threshold:${symbol},basis_history:${symbol}), input tanpa batas panjang/karakter berisiko melebihi limit 512-byte key KV atau menyisipkan karakter (titik dua, newline) yang mengacaukan konstruksi key. Batas 20 karakter divalidasi ke data riil (simbol terpanjang di Binance Futures saat ini 17 karakter), dan regex sengaja mengizinkan underscore supaya kontrak dated/quarterly (contohBTCUSDT_260925) tetap valid. - Read-only terhadap akun. Tidak ada tool yang melakukan order/trading
atau mengakses data akun pribadi — satu-satunya tool yang menulis state
(
binance_set_pair_threshold) cuma menyimpan preferensi threshold di Workers KV milik worker sendiri. - Kredensial selalu lewat Wrangler secret, tidak pernah di-hardcode atau
masuk
wrangler.toml/git — lihat peringatan eksplisit di bagian Setup Proxy Vercel soal cara aman set secret. - Repo ini di-scan manual untuk memastikan tidak ada API key, secret, atau
kredensial nyata yang ter-commit — hanya placeholder/contoh (misal URL
proxy
whale-pearl.vercel.appdi dokumentasi setup adalah nama contoh, bukan endpoint nyata).
Biaya
- Cloudflare Workers: free tier 100.000 request/hari — untuk pemakaian personal trading analysis ini jauh dari cukup.
- Vercel (proxy relay): free tier Hobby plan mencakup jutaan invocation/bulan
untuk serverless function — tidak akan kena biaya untuk pemakaian personal.
Perhatikan:
PROXY_SECRETwajib dijaga kerahasiaannya, karena siapapun yang tahu URL + secret bisa memakai quota proxy ini atas nama kamu.
Kemungkinan besar kamu tidak akan pernah kena biaya di kedua platform untuk pemakaian personal.
Disclaimer
Project ini open source dan publik — source code, arsitektur, dan
dokumentasi (termasuk framework analisis di docs/) bisa dilihat, di-clone,
dan dimodifikasi siapa saja lewat repo GitHub ini. Tidak ada data akun
pribadi yang disimpan atau diproses — semua tool bersifat read-only terhadap
API publik Binance.
- Bukan saran finansial. Semua data dan interpretasi (funding rate, OI, order book, framework deteksi MM, dll) bersifat informational — hasil pengolahan data publik, BUKAN rekomendasi trading. Tidak ada jaminan akurasi, kelengkapan, atau ketepatan waktu data — cek Keterbatasan yang jujur perlu diketahui untuk batasan spesifik tiap tool sebelum mengambil keputusan berdasarkan data ini.
- Tanggung jawab pengguna. Siapapun yang deploy, memakai, atau memodifikasi worker ini bertanggung jawab penuh atas hasil dan konsekuensi pemakaiannya sendiri — termasuk keputusan trading yang diambil berdasarkan output tool-tool ini.
- Kepatuhan ke Binance API Terms of Use. Worker ini memanggil endpoint publik Binance (Futures & Spot). Pemakaian personal/non-komersial sejalan dengan ketentuan Binance yang berlaku umum; redistribusi ulang data secara komersial atau pemakaian skala besar sebaiknya dicek dulu terhadap Binance API Terms of Use — di luar tanggung jawab project ini.
- Lisensi: MIT. Bebas dipakai, dimodifikasi, dan didistribusikan ulang (termasuk untuk keperluan komersial), selama notice copyright & lisensi MIT tetap disertakan. Software disediakan "as is", tanpa jaminan apapun — sejalan dengan disclaimer di atas.
来源:README.md,提交 6aa3ac7
工具
0版本历史
1- v1.0.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式必需10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Scope 集成

Scope (AEC) - Preview
bid.scope官方发布者
Scope(AEC)预览版服务器:查询分包采购层的状态与路线图、列出计划中的服务类别、加入候补名单,并改期已授标项目。

Scope (Legal)
bid.scope官方发布者
Scope(法律版)让 AI 助手浏览法律服务专业人员、派发案件,并管理由此产生的委托事务。

Scope (Claims) - Preview
bid.scope官方发布者
Scope 理赔侧专业采购的预览版服务器:查询 V2 状态与服务类别、加入等候名单,并改期已授标的理赔项目。

MintScope — NFT collection analysis
由 GitHub 账号 ert1981 发布
NFT系列风险与质量分析,以及新系列发现(OpenSea + 链上)。AI 翻译

FedScope MCP
由 GitHub 账号 CYAN-ECLIPSE-TECHNOLOGIES-LLC 发布
FedScope MCP 让助手搜索联邦与州政府招标机会,并提供匹配度、新进入者评分和通俗语言摘要。