AfterFees
REMOTE · AFTERFEES.XYZ
Crypto funding-rate arbitrage across 50 exchanges, net of fees and order-book slippage. Read-only.
Available components
Last scanned (23 hours ago)
Scores higher than 54% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Crypto and Web3
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2913 tokens (~104/item across 28 items; 28 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage83
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 49% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "transfer_routes" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- Schema quality: pass → fail ▼ functional
- New tool “spread_convergence” functional
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 30 Oct 26 67
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://afterfees.xyz/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=afterfees.xyz | CN=YE1,O=Let's Encrypt,C=US | 28 Oct 2026 | 26 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 592461a7b5dcb0e83f04a5746f41401e81c |
| SANs: *.afterfees.xyz, afterfees.xyz | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of afterfees.xyz. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| xyz. | present | 3599, 18130 | 8, 8 | Verified |
| afterfees.xyz. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://afterfees.xyz/mcp | Verified | 200 | |
| http (plaintext) | http://afterfees.xyz/mcp | HTTPS enforced | 301 | https://afterfees.xyz/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
basis_trades Basis trades against delivery futures ~131
Spot or perp against a dated future held to delivery, on one exchange or across two (perp on one, future on another), and two same-day futures on different exchanges: net to expiry after fees and slippage at your size, net APR, basis APR, max size, tier and reasons.
| Name | Type | Req | Description |
|---|---|---|---|
| actionable_only | boolean | – | – |
| base | string | – | Coin (optional) |
| limit | integer | – | – |
| notional | number | – | Position size per side in USD (default 10000) |
| scope | string | – | same exchange or cross-exchange rows only (optional) |
No output schema declared.
No examples provided.
best_opportunities Best funding-rate arbitrage opportunities ~176
Ranked funding-rate arbitrage pairs (long one market, short another) with the net result after taker fees and order-book slippage at your size, max size, breakeven, settled 7-day replay, tier (actionable / watch) and reasons.
| Name | Type | Req | Description |
|---|---|---|---|
| actionable_only | boolean | – | Only pairs that pass every check right now (live books, positive net, capacity) |
| base | string | – | Only this coin (optional) |
| holding_hours | number | – | Holding period in hours (default 168 = 7 days) |
| limit | integer | – | – |
| mode | string | – | perp = perp vs perp, spot = buy spot + short perp, rev = borrow-and-sell spot + long perp |
| notional | number | – | Position size per side in USD (default 10000) |
No output schema declared.
No examples provided.
boros_futures_basis Boros implied rate vs futures basis ~67
Lock funding on Boros against a delivery future of the same maturity: implied APR vs basis APR, net after fees and slippage at your size.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| notional | number | – | Position size per side in USD (default 10000) |
No output schema declared.
No examples provided.
boros_lock_calculator Boros fixed-rate lock calculator ~136
Locked net (income) or cost APR on Pendle Boros at an implied APR you give, after the taker and settlement fees and the entry cost, its advantage over a floating APR you expect and the break-even floating rate. Percent inputs.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | yes | – |
| entry_usd | number | – | – |
| floating_pct | number | – | – |
| notional | number | – | Position size per side in USD (default 10000) |
| rate_pct | number | yes | – |
| settle_pct | number | – | – |
| side | string | – | – |
| taker_pct | number | – | – |
No output schema declared.
No examples provided.
boros_market One Pendle Boros market ~78
Detail of one Boros market (id from fixed_vs_floating): fixed rate at your size net of fees, floating benchmarks, advantage, win rate, capacity, reasons.
| Name | Type | Req | Description |
|---|---|---|---|
| market_id | integer | yes | – |
| notional | number | – | Position size per side in USD (default 10000) |
| side | string | – | – |
No output schema declared.
No examples provided.
borrow_rates Margin borrow rates ~69
Margin borrow rates per coin and exchange (VIP0, current and 24 h / 7 d averages, limits, inventory) with the most negative perp funding: the two halves of a reverse spot-perp carry.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | Coin (optional) |
| limit | integer | – | – |
No output schema declared.
No examples provided.
coin_overview One coin across exchanges ~90
Funding rate of one coin on every exchange (rate, interval, APR, predicted, OI, volume, settled 7-day sum) plus its best pairs, net after fees and slippage at your size.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | yes | Coin or ticker, e.g. BTC, ETH, SOL |
| notional | number | – | Position size per side in USD (default 10000) |
No output schema declared.
No examples provided.
coins Coins covered ~50
Coins with a perp on two or more exchanges: exchange count, open interest, highest and lowest funding APR and the best after-fee pair.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | – | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
dex_scan CEX ↔ DEX arbitrage scan ~119
Tokens our exchanges list with a verified contract on Ethereum, BNB Chain, Base, Arbitrum or Solana whose DEX price is more than 1% away: net at $1k / $5k / $10k after aggregator price impact, swap gas, the token transfer gas and the exchange's withdrawal fee, status and reasons. Pro. Needs a Pro API token (Authorization: Bearer arb_…); not available on the anonymous tier.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | Token (optional) |
| limit | integer | – | – |
No output schema declared.
No examples provided.
exchange_overview One exchange ~52
One exchange: fees and their source, funding intervals, open interest, volume, highest and lowest funding and its best after-fee pairs.
| Name | Type | Req | Description |
|---|---|---|---|
| venue | string | yes | exchange id, e.g. binance |
No output schema declared.
No examples provided.
exchanges Exchanges covered ~39
Every exchange AfterFees reads: kind, fully calculated or watch-only, status, markets, taker / maker fee, open interest, 24 h volume.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
execution_cost Execution cost to enter a position ~67
Taker fee + order-book slippage to buy or sell a given USD size of one coin on every exchange (perps and spot), cheapest first.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | yes | Coin or ticker, e.g. BTC, ETH, SOL |
| size_usd | number | – | – |
No output schema declared.
No examples provided.
fixed_vs_floating Fixed vs floating funding (Pendle Boros) ~107
Pendle Boros markets: the fixed funding rate you can lock (net of Boros fees and fill at your size) against the term-matched floating benchmark, advantage, win rate, capacity. side=short locks an income, side=long locks a cost.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | Coin (optional) |
| limit | integer | – | – |
| notional | number | – | Position size per side in USD (default 10000) |
| side | string | – | – |
No output schema declared.
No examples provided.
funding_rates Funding rates ~83
Current perpetual funding rates (gross, before costs). With base: that coin on every exchange, highest first. Without: the top N markets by absolute APR (OI filter applies).
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | Coin (optional) |
| limit | integer | – | – |
| min_oi_usd | number | – | Skip markets with less open interest (top-N mode only) |
No output schema declared.
No examples provided.
holding_scenarios One pair over different holding periods ~109
Net after fees and slippage of one live pair held 8 h, 1 d, 3 d, 7 d and 30 d, optionally with your own assumed funding rate per leg (percent per funding period, keyed by instrument_id).
| Name | Type | Req | Description |
|---|---|---|---|
| assumed_rates_pct | object | – | {instrument_id: rate per period in %} (optional) |
| notional | number | – | Position size per side in USD (default 10000) |
| pair_key | string | yes | – |
No output schema declared.
No examples provided.
manual_calculator Funding arbitrage calculator (typed-in legs) ~122
Net, net APR, breakeven and funding-halved case for two legs you describe (no live data): each leg {side: long|short, rate_pct per period, interval_hours, taker_bps, first_in_hours?}.
| Name | Type | Req | Description |
|---|---|---|---|
| holding_hours | number | – | Holding period in hours (default 168 = 7 days) |
| legs | array | yes | – |
| leverage | number | – | – |
| notional | number | – | Position size per side in USD (default 10000) |
| slippage_bps | number | – | – |
No output schema declared.
No examples provided.
my_positions My hedged positions (read-only keys) ~75
Your positions across the read-only exchange keys connected to your AfterFees account, grouped into hedges: delta drift, distance to liquidation, funding received, issues. Needs a Pro account token; AfterFees only accepts read-only keys. Needs a Pro API token (Authorization: Bearer arb_…); not available on the anonymous tier.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
order_checklist Order checklist for one pair ~99
The two orders to place by hand for one pair: action, exchange, symbol, quantity in the exchange's own unit (contracts where one contract is not one coin), notional, assumed leverage and a link to each contract's trading page (no referral parameters). AfterFees never trades.
| Name | Type | Req | Description |
|---|---|---|---|
| notional | number | – | Position size per side in USD (default 10000) |
| pair_key | string | yes | pair_key from another tool |
No output schema declared.
No examples provided.
pair_breakdown Every number of one pair ~144
Full calculation of one pair: funding per leg and settlement count, taker fees, order-book VWAP and slippage per trade, carry, net, net if rates halve, breakeven, capacity, settled 7/30-day replay. pair_key comes from best_opportunities or coin_overview. Needs a Pro API token (Authorization: Bearer arb_…); not available on the anonymous tier.
| Name | Type | Req | Description |
|---|---|---|---|
| holding_hours | number | – | Holding period in hours (default 168 = 7 days) |
| notional | number | – | Position size per side in USD (default 10000) |
| pair_key | string | yes | pair_key from another tool |
No output schema declared.
No examples provided.
pair_history Settled-rate replay of one pair (7 to 365 days) ~114
Funding actually settled on both legs over 7 / 30 / 90 / 180 / 365 days, applied to today's orientation at your size: net after the four trading costs, max drawdown, negative days, daily sign flips, how far back each exchange's history reaches. Ranges beyond 7 days need Pro.
| Name | Type | Req | Description |
|---|---|---|---|
| notional | number | – | Position size per side in USD (default 10000) |
| pair_key | string | yes | pair_key from another tool |
| range | string | – | – |
No output schema declared.
No examples provided.
service_status Service status ~39
Whether AfterFees data is live right now, which exchange feeds are down, and availability over 1 / 7 / 30 / 90 days.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
spread_chart Price spread of two legs ~113
Candles of (A − B) / B between any two instruments (book mids where stored, else marks). Free: 1 h candles and longer over up to 7 days; Pro: 1 m and up, up to 365 days.
| Name | Type | Req | Description |
|---|---|---|---|
| candle | string | – | – |
| days | integer | – | – |
| executable | boolean | – | – |
| leg_a | string | yes | instrument id, e.g. binance:um:BTCUSDT |
| leg_b | string | yes | instrument id |
No output schema declared.
No examples provided.
spread_convergence Price-spread convergence trades ~145
The same coin priced differently on two exchanges' perpetuals: long the cheaper, short the dearer, close when the gap returns to its 7-day median. Net at your size after four taker fees, slippage on live order books and stablecoin conversion; how often the gap came back over 7 days and how long it took; funding per 8 h shown separately; tier and reasons.
| Name | Type | Req | Description |
|---|---|---|---|
| actionable_only | boolean | – | Only pairs that pass every check right now |
| base | string | – | Only this coin (optional) |
| limit | integer | – | – |
| notional | number | – | Position size per side in USD (default 10000) |
No output schema declared.
No examples provided.
term_structure Futures term structure of one coin ~48
Annualised basis of every delivery future of one coin on every exchange we cover, next to perp funding.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | yes | Coin or ticker, e.g. BTC, ETH, SOL |
No output schema declared.
No examples provided.
track_record Public track record ~39
How AfterFees' daily top picks actually did: predicted net vs net realised from settled funding over the hold, hit rate, mean error, latest picks.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
transfer_calculator Cross-exchange transfer calculator ~108
Buy on exchange A, withdraw, sell on exchange B at prices you give: real-transfer and prefunded net, break-even premium. Fees in percent, withdrawal fee in coins.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | – |
| buy | number | yes | – |
| fee_a_pct | number | – | – |
| fee_b_pct | number | – | – |
| sell | number | yes | – |
| trips | number | – | – |
| usdt_back | number | – | – |
| withdraw_coin | number | – | – |
No output schema declared.
No examples provided.
transfer_routes Cross-exchange transfer (spot) arbitrage routes ~167
Buy a coin on one exchange, withdraw it on a network both exchanges share (same chain and contract, never matched by ticker), sell on another: real-transfer net after taker fees, order-book slippage and the withdrawal fee at your size, pre-funded net, capacity at net >= 0 / 0.3% / 1%, arrival estimate, hedge cost on a perp, status and reasons. view=traps lists spreads that exist only because deposits or withdrawals are closed.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | Coin (optional) |
| include_hedge | boolean | – | – |
| limit | integer | – | – |
| notional | number | – | Size in USD (Pro; free uses 10000) |
| status | string | – | – |
| view | string | – | – |
No output schema declared.
No examples provided.
venue_execution_cost Execution cost on one exchange ~66
Taker fee plus order-book slippage to enter $10k / $100k / $1M long and short on one exchange's biggest markets, in basis points.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| venue | string | yes | exchange id, e.g. binance |
No output schema declared.
No examples provided.
How do I install the AfterFees MCP server?
AfterFees is a hosted endpoint at https://afterfees.xyz/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · afterfees.xyz
claude mcp add --transport http linyejia-afterfees 'https://afterfees.xyz/mcp'
What is the AfterFees MCP server?
AfterFees is an MCP server listed in the public MCP registry as io.github.linyejia/afterfees. Crypto funding-rate arbitrage across 50 exchanges, net of fees and order-book slippage. Read-only. This page covers its hosted endpoint (https://afterfees.xyz/mcp).
Is the AfterFees MCP server safe to use?
AfterFees scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the AfterFees MCP server expose?
AfterFees exposes 28 tools: best_opportunities, coin_overview, pair_breakdown, funding_rates, borrow_rates, and 23 more. Their descriptions and schemas cost roughly 2,652 tokens of context every time the server is loaded.
Does the AfterFees MCP server require authentication?
No. We connected to AfterFees without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the AfterFees MCP server still maintained?
AfterFees is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.