MCP.Market

YieldSignal MCP server

online · 100% uptime
by Stakemate369·io.github.Stakemate369/yieldsignal·v1.2.0

Yield & risk for agents: signal, decision, durability, capacity, sensitivity, exposure, persistence

F38/100grade F
What users say
No reviews yet
Be the first
Safety scan
F38/100

full report

Adoption
New

0 stars

Blocked at the gateway.Blocked at the gateway. A critical finding or a dead endpoint.

Reviews

Write one

Nobody has reviewed YieldSignal yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

YieldSignal tools (7)

write = sends, deletes, buys or posts
  • get_exit_capacityFree

    Exit capacity for a Base lending market: per-protocol utilization and withdrawable liquidity read from the protocol's own books (Aave, Compound), plus — if you pass amountUsd — whether that size can be withdrawn right now and what share of the market it would be. High APY at high utilization means the market pays well and will not let you out; this tool separates the two. Protocols that do not expose borrowed-vs-supplied are marked unmeasured and are never recommended as executable. USDC only for USD figures; WETH returns utilization without USD (no price oracle in the paid path).

  • get_leadership_persistenceFree

    How long this service's own leadership calls actually hold, measured from its hourly on-chain attestations (EAS on Base). Returns the median duration a protocol stayed the best pick, survival rates at 6/24/72h, how much of the rotation is the same two protocols trading places, and what chasing the leader is worth per $10k before gas. Measured over 24 days: the WETH leader never changed once, the ETH staking leader changed every ~26h, the USDC leader every ~2h with half the switches being a round trip between the same pair — three assets sold at one price with wildly different reliability. Also answers, empirically, whether a wider lead lasts longer: it does not (Spearman -0.04 over 177 completed spells), so gap size is not a usable proxy for confidence. Every input is a public attestation UID: recompute it yourself from base.easscan.org and get the same number. Observed history with sample sizes attached, never a forecast — assets whose lead has not changed in the window are reported as a floor with a censoring flag, never as a median.

  • get_rate_sensitivityFree

    How close a Base lending market is to the kink where borrow rates explode. Returns, per protocol, the current utilization, the kink read from the protocol's own interest rate curve, the headroom in bps, and the borrow APY at points around the kink — plus how many times the borrow cost multiplies just past it. Measured on a live reading: Compound USDC sat 0.17 points below its kink, where borrow cost goes from ~4% to ~16%. Aave and Compound only: Morpho's adaptive IRM has no static curve to read and DefiLlama-sourced protocols expose none, so they are marked unmeasured and never assumed stable. Describes the current state of the curve, not a prediction that utilization will move.

  • get_shared_exposureFree

    Shared risk exposure across a declared portfolio. Give it your positions (protocol:usd pairs) and it returns, per factor, how much of your capital sits behind the same collateral, price oracle or vault curator — and through which venues it gets there. This is the question the market does not answer: depeg and hack alerts tell you an event happened, not whether you are two hops from it. In the Stream Finance collapse only 1 of ~320 MetaMorpho vaults held the broken asset directly, yet $93M of loss became $285M of contagion. Measured live: a Morpho USDC vault sits 93.7% behind cbBTC while Compound's USDC market is 43.1% — holding both is one risk in two wrappers. Morpho is attributed per isolated market and Compound by its real posted-collateral basket; Aave is reported unattributed, because a v3 supplier is exposed to the entire pool and splitting that across assets would imply diversification that does not exist. Structural shared exposure, not a correlation estimate.

  • get_yield_decisionFree

    Buyer-side MOVE/HOLD decision (Layer 1 premium — sells the decision, not the raw datapoint). Given your current position, size, move cost and horizon, returns whether moving your capital to the best risk-adjusted protocol pays for itself now — with expected net gain, break-even days and a confidence tier. Deterministic from the underlying signal, which is EIP-712 signed and returned in a sibling content block (re-run the decision locally to reproduce it). Priced above the plain signal tool.

  • get_yield_durabilityFree

    How much of the current APY survives if incentives stop. Splits each protocol's yield into base interest vs reward/incentive, reports the post-incentive floor, and says whether the leader changes without incentives. Only protocols whose source itemizes the reward component are decomposed — the rest are listed as undecomposable and NEVER assumed incentive-free, and no ranking claim is made when the current leader is one of them. Also returns bestVerifiableFloor: the highest yield provably independent of incentives. A stress test of readings taken now, not a forecast of when a campaign ends.

  • get_yield_signalFree

    Real-time risk-weighted yield signal. USDC/WETH: lending APY on Base (Aave/Compound/Morpho read onchain, Moonwell/Euler/Fluid via DefiLlama). ETH_STAKING: liquid staking APY on Ethereum mainnet (Lido/Rocket Pool/Coinbase Wrapped Staked ETH/Frax Ether/Binance Staked ETH, all via DefiLlama) — a different chain and category from the lending signals, not a Base lending market. Source tagged per reading (never estimated). Result is signed (EIP-712 typed data) by the payment-receiving address, returned as a sibling content block for offline verification. That same address is registered on-chain as an ERC-8004 agent identity (agent-card.json) and periodically publishes EAS attestations of past readings (Base mainnet) — a public track record independent of this server's uptime.

Public scan report

scanner v0.1.10 · 2026-11-04 · same rubric, same numbers if you re-run it

1 high
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote unreachable: Streamable HTTP error: Error POSTing to endpoint: {"error": {"code": "402", "message": "Payment required"}}0/20
  • –Tool poisoningtools not inspected (endpoint requires auth); not countedn/a
  • Auth qualityno auth information5/15
  • Maintenancelast push 86 days ago12/15
  • Maintainer identityregistry namespace matches repository owner6/10

Findings (1)

  • highRemote endpoint did not respondreliability.unreachable

    Streamable HTTP error: Error POSTing to endpoint: {"error": {"code": "402", "message": "Payment required"}}

Overall 38/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How YieldSignal compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
38/100
higher than 7% of 48,243 servers
Tools
7
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
83 ms
faster than 87% of 30,027 servers

What its tools let an agent do: 7 read

Install YieldSignal in Claude Code, Cursor or VS Code

claude mcp add --transport http yieldsignal https://yieldsignal.vercel.app/mcp
Add to Cursor

What the publisher says

From the YieldSignal repository's README, as published. We do not edit it. Read it on GitHub

YieldSignal

Risk-weighted yield signals for autonomous agents, paid per call via the x402 protocol — no API key, no signup. Every product route is paid: $0.10 signal, $0.25 analytics (durability/capacity/sensitivity/exposure), $0.50 decision, $1.00 persistence. There is no free tier and no bypass parameter.

  • ETH liquid staking (Ethereum mainnet) across Lido, Rocket Pool, Coinbase Wrapped Staked ETH, Frax Ether and Binance Staked ETH
  • USDC and WETH lending (Base) across Aave, Compound, Morpho, Moonwell, Euler and Fluid

Seven products: the raw signal (what pays best right now), the decision (given where your money already sits, is moving it worth the cost — MOVE/HOLD with expected net gain and break-even in days), the durability report (how much of that APY survives if incentives stop), the capacity report (can you actually withdraw your size from that market), the sensitivity report (how close the market is to the kink where borrow rates explode), the exposure report (how much of your portfolio sits behind the same risk, no matter how many venues it is spread across), and the persistence report (how long a call here actually holds before the leader flips — measured from this service's own on-chain attestations, which is why no competing feed can produce it).

Live: https://yieldsignal.vercel.app

GET https://yieldsignal.vercel.app/signal/eth-staking-yield
GET https://yieldsignal.vercel.app/signal/usdc-base-yield
GET https://yieldsignal.vercel.app/signal/weth-base-yield

GET https://yieldsignal.vercel.app/decision/eth-staking-yield?position=lido&amountUsd=25000&horizonDays=30

GET https://yieldsignal.vercel.app/durability/weth-base-yield
GET https://yieldsignal.vercel.app/capacity/usdc-base-yield?amountUsd=200000
GET https://yieldsignal.vercel.app/sensitivity/usdc-base-yield
GET https://yieldsignal.vercel.app/exposure/usdc-base-yield?positions=aave:200000,morpho:150000
GET https://yieldsignal.vercel.app/persistence/usdc-base-yield

Bare /signal and /decision (no asset) redirect to the ETH staking route — the asset with the strongest verified track record. Short forms like /signal/usdc redirect to the canonical path.

Which asset should you trust?

Don't take our word for it: GET /accuracy.json is free and returns the per-asset within-tolerance hit-rate and average regret in bps, computed 1:1 from the public on-chain EAS track record. As of writing, the staking signal holds up far better than the USDC lending one (Base USDC churns too fast for a call to stay true) — which is exactly why the flagship is staking. The numbers are recomputed from chain data, not asserted here, so check them yourself before paying.

Call it without payment first and you'll get a 402 Payment Required with the exact price/asset/network to pay. Any x402-compatible client can complete the payment automatically — for example with @x402/fetch:

import { wrapFetchWithPayment } from "@x402/fetch";
import { CdpX402Client } from "@coinbase/cdp-sdk/x402"; // or any other x402 client/signer

const client = new CdpX402Client(); // needs CDP_API_KEY_ID/SECRET/WALLET_SECRET + a funded wallet
const fetchWithPayment = wrapFetchWithPayment(fetch, client);

const res = await fetchWithPayment("https://yieldsignal.vercel.app/signal/usdc-base-yield");
console.log(await res.json());
// { bestProtocol: "compound", gapBps: 57, rates: [...], asOf: "..." }

MCP

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Grade history

  • 2026-11-04revokeB → Fscore 38: Remote endpoint did not respond

YieldSignal: common questions

Is YieldSignal MCP server safe?
No: it is graded F and blocked at the gateway (38/100). Read the YieldSignal safety report
How do I install YieldSignal?
It runs remotely at yieldsignal.vercel.app. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does YieldSignal need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is YieldSignal maintained?
The last commit was 87 days ago (2026-08-10). The latest release is v1.2.0.
Is YieldSignal up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does YieldSignal compare with other MCP servers?
safety score 38/100 (higher than 7% of 48,243 servers); tools 7 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.