Quidli Connect
Resolve social handles to wallets, score onchain reputation, pay in any ERC-20, SPL or native.
作者提供的说明(英文原文)
Read-only MCP gateway to Aster DEX: 24/7 gold, oil and equity perps, funding with real intervals.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"aster-agent-gateway": {
"command": "uvx",
"args": [
"aster-agent-gateway"
]
}
}
}在终端中运行这条命令
claude mcp add aster-agent-gateway -- uvx aster-agent-gateway粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"aster-agent-gateway": {
"command": "uvx",
"args": [
"aster-agent-gateway"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"aster-agent-gateway": {
"type": "stdio",
"command": "uvx",
"args": [
"aster-agent-gateway"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 alekskram 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.3)于上个月进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Quidli Connect, Diamond Bitcoin Intelligence, Soheil Router
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Resolve social handles to wallets, score onchain reputation, pay in any ERC-20, SPL or native.
Bitcoin MCP: fee budgets, retained-block inclusion proofs and risk checks. Free service discovery.
Best-price token swaps on EVM networks through a non-custodial contract: quotes and trade status.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Aster lists roughly 580 futures, and about 32 of them are things you would not expect on a crypto DEX: gold, oil, treasuries, single equities and index perps that trade 24/7 while the underlying market sleeps. This MCP server puts the whole board, plus ~68 spot pairs, funding, order books, klines and vault deposit flows, in front of an AI agent. Read-only and keyless; public endpoints only (fapi.asterdex.com/fapi/v3, sapi.asterdex.com/api/v3, tapi.asterdex.com/info, Solana RPC, optional EVM RPCs), cached and rate-limited.
Funding first, because this is where Aster is different. Intervals vary per market, 1h to 8h; annualize naively and an 8h market reads 8x too cold. The screener computes every row from its own interval and shows cap/floor next to it, so a 4,148%/yr print comes with the context that explains it.
Then the TradFi board at 3am: gold at $4,365 with live volume, oil paying longs to hold (negative funding, -0.0001%/1h when we looked), Micron up 4.8% overnight. One API, same conventions as the crypto rows.
mark_index_divergence ranks all ~756 markets by mark-vs-index spread. The morning we captured it, RTXUSDT topped both that board (505 bps rich) and the funding board at once, which is the classic pre-squeeze picture. Vault deposit flows show who parks capital where; OI snapshots are per-symbol and honest about the fact that Aster has no keyless OI history.
Full walkthroughs: examples/use-cases.md.
Claude Code:
claude mcp add aster -- uvx aster-agent-gateway
stdio (default, for local agents):
uvx aster-agent-gateway
or from a checkout:
git clone https://github.com/alekskram/aster-agent-gateway
cd aster-agent-gateway uv sync uv run aster-agent-gateway
Claude Desktop / Cursor config:
{
"mcpServers": { "aster": { "command": "uvx", "args": ["aster-agent-gateway"] } } }
Hosted form, streamable HTTP on port 8904:
uvx aster-agent-gateway --http # 127.0.0.1:8904
curl http://127.0.0.1:8904/health # -> {"ok": true, "service": "aster-agent-gateway", ...}
Codex (~/.codex/config.toml)
[mcp_servers.aster]
command = "uvx" args = ["aster-agent-gateway"]
</details>
ZCode : register the server (copy-paste)
# 1) start the gateway (keep it running)
uvx aster-agent-gateway --http --port 8904 &
python3 - <<'PY' import json, os p = os.path.expanduser("~/.zcode/cli/config.json") os.makedirs(os.path.dirname(p), exist_ok=True) cfg = json.load(open(p)) if os.path.exists(p) else {} cfg.setdefault("mcp", {}).setdefault("servers", {})["aster"] = { "type": "http", "url": "http://127.0.0.1:8904/mcp"} json.dump(cfg, open(p, "w"), indent=2) print("aster-agent-gateway registered:", p) PY
</details>
All 13 tools are read-only (annotated readOnlyHint: true, destructiveHint: false).
| # | Tool | Signature | What it does |
|---|---|---|---|
| 1 | market_overview | market_overview(limit=20, sort="volume") | Futures panel from ONE ticker/24hr ALL call joined with exchangeInfo: TRADING markets, top volumes, status counts, fresh listings (onboardDate). |
| 2 | exchange_symbols | exchange_symbols(venue="futures", symbol=None, include_junk=False) | Symbol universe with filters/precisions incl. MIN_NOTIONAL, stepSize, leverageFilter; TEST*/SETTLING junk filtered by default. |
| 3 | order_book | order_book(symbol, venue="futures", depth=10) | fapi depth / sapi api/v3 depth; limit snapped to a priced tier (weight-aware). |
| 4 | klines | klines(symbol, interval="1h", limit=100, market="futures", price_type="last") | last/mark/index klines on fapi; spot via sapi. |
| 5 | trades | trades(symbol, limit=20, venue="futures") | Fresh keyless trades; spot path probed live (honest error dict if dead). |
| 6 | spot_overview | spot_overview(limit=20) | Spot pairs from sapi ticker/24hr + exchangeInfo; TEST* junk filtered. |
| 7 | funding_overview | funding_overview(limit=20, sort="rate") | All ~730 rates from premiumIndex + fundingInfo: mixed 1/2/4/8h intervals (flagged), cap/floor, interestRate, nextFundingTime. |
| 8 | tradfi_markets | tradfi_markets(limit=20, window=None) | TradFi-perp screener by asset class (metals/equity/energy/treasuries/forex) + tradfi_crypto_corr sub-block: local TradFi-vs-BTC correlation from klines. |
| 9 | funding_screener | funding_screener(top=10, direction="both") | One-call ranking by annualized funding, premium, mark-index spread + funding_regime headroom to cap/floor. |
| 10 | oi_snapshot | oi_snapshot(symbols=None, top=10) | Per-symbol openInterest (max 10 symbols/call). No keyless OI history (404) - stated honestly. |
| 11 | deposit_flows | deposit_flows(chain_filter="all", limit=20) | Solana vault signatures (keyless) + EVM vault Transfers when ASTER_EVM_RPC_URL* set + deposit_stats hourly/chain buckets. |
| 12 | account_view | account_view(address, data="balance") | tapi aster_getBalance/openOrders/userFills keyless for any address; privacy-empty returns an honest error dict explaining why. |
| 13 | mark_index_divergence | mark_index_divergence(limit=20) | mark vs index spread screener from ONE premiumIndex call + markPriceKlines-vs-klines crosscheck on the top 3. |
Aster's fapi/sapi/tapi endpoints are plain REST. The traps are in the semantics:
| Raw API gives you | You would have to build |
|---|---|
| per-market funding intervals that differ (1h to 8h) | correct annualization per symbol; a naive ×24×365 overstates 8h markets by 8× |
| funding cap/floor fields under live vs legacy names | name negotiation with fallback (this gateway reads fundingFeeCap/FundingFeeFloor and degrades honestly) |
| ~580 symbols mixing crypto, TradFi 24/7 perps and spot | chain/asset-class filtering, spot index dislocation ranking, capacity filtering where OI is not published |
| three separate API surfaces (futures/spot/tapi) + Solana | one tool surface with consistent symbol handling and per-field source tags |
Two REST buckets, locally enforced and weight-aware:
X-MBX-USED-WEIGHT-1M read after every call). Above 80% of a bucket the client self-throttles; 429 backs off honoring Retry-After; a 418 (repeated 429 = IP ban) triggers a 60s refusal cooldown. Depth/kline limits snap to priced tiers so callers cannot accidentally burn weight.TTL caches: exchangeInfo 3600s, fundingInfo 600s, premiumIndex and tickers 15s, depth 5s, klines 60s, trades 10s, openInterest 30s.
null always means "not available", never zero.{"error", "source", "reason"}, never a traceback./futures/data/openInterestHist 404s) - the gateway says so instead of inventing data.ASTER_EVM_RPC_URL (or per-chain ASTER_EVM_RPC_URL_{BSC,ETH,ARB}); free public RPCs reject vault queries with -32005. Unset -> honest "no RPC configured".age_seconds / fetched_at freshness fields.Four sibling read-only MCP gateways, one style: keyless, cached, honest degradation.
| Gateway | Focus |
|---|---|
| dydx-agent-gateway | dYdX v4: verified trader PnL, funding/OI anomaly detectors, leaderboard |
| arcus-agent-gateway | 194 tokenized US equities on Robinhood Chain: quotes, holders, whale transfers |
| hyperliquid-agent-gateway | Hyperliquid: 233 perps + spot, funding carry, account risk, HyperEVM |
| aster-agent-gateway (you are here) | Aster DEX: ~580 futures incl. 24/7 TradFi perps, funding caps/floors |
All four are on glama.ai and PyPI; any of them installs with uvx .
MIT.