Servidor MCP

yieldsentinel

io.github.agentsherpa/yieldsentinel
Cripto y Web3 Finanzas e inversión Público y accesible MCP 2025-11-25

Qué hace este MCP

Evaluates described stablecoin yield positions against configurable research policies and risk thresholds.

check_position
Check position (research policy)
Evaluate a described stablecoin yield position against a research policy (pull). Always pass your policy rules (or a preset). Without a policy, no meaningful check is possible — the verdict will be review/unknown, never ok. Pass a yieldhunter opportunity id (poolId / opportunityId / id) or protocolSlug. Required for a real check: policyPreset (treasury-conservative | balanced-research | rwa-selective) and/or minScore / maxRewardShare / excludeCategories / maxExitRisk / requireCurated. Presets: treasury-conservative | balanced-research | rwa-selective. rwa-selective does not exclude RWA but is not a free pass (YS policy allowlist + higher bar). requireCurated uses the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Scoring ≠ policy approval. Fetches live yieldhunter research (score, APY, TVL, category, rewardShare, exitRisk) and curated flags, then returns a PolicyVerdict plus A2H (summary, suggestedNextSteps, legend). Incomplete or missing data is review/unknown — never a silent ok. A verdict is not an exit signal or execution order. Research only — never holds keys. Example: { "poolId": "43641cf5-a92e-416b-bce9-27113d3c0db6", "policyPreset": "treasury-conservative", "notionalUsd": 10000 }
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'description': 'Same as yieldhunter opportunities[].id.'}, 'asset': {'description': 'Stablecoin symbol, e.g. "USDC".'}, 'chain': {'description': 'ethereum | base | arbitrum'}, 'poolId': {'description': 'yieldhunter opportunities[].id (DefiLlama pool UUID). Example: "43641cf5-a92e-416b-bce9-27113d3c0db6"'}, 'minScore': {'description': 'Minimum compositeRiskAdjusted (0–100).'}, 'minNetApy': {'description': 'Minimum net APY estimate.'}, 'minTvlUsd': {'description': 'Minimum pool TVL in USD.'}, 'horizonDays': {'description': 'Holding horizon in days for net-yield context (default 30).'}, 'maxExitRisk': {'description': 'Cap on yieldhunter exitRisk heuristic: low | medium | high. Unknown or above the cap → review.'}, 'notionalUsd': {'description': 'Research notional in USD (size hint only). Example: 10000'}, 'policyPreset': {'description': 'Policy preset: "treasury-conservative" | "balanced-research" | "rwa-selective". treasury-conservative excludes RWA; rwa-selective allows RWA but is not a free pass (YS policy allowlist + higher bar).'}, 'protocolSlug': {'description': 'Protocol slug, e.g. "aave-v3".'}, 'riskAppetite': {'description': 'conservative | balanced | aggressive (research posture only).'}, 'opportunityId': {'description': 'Alias for poolId / id.'}, 'maxRewardShare': {'description': 'Maximum incentive share of gross APY (0–1).'}, 'requireCurated': {'description': 'If true, the protocol/pool must be on the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Missing allowlist entry → review. Scoring ≠ policy approval.'}, 'minProtocolScore': {'description': 'Minimum yieldhunter protocol risk score (0–100, higher = safer).'}, 'excludeCategories': {'description': 'Exclude categories, e.g. ["rwa"].'}}, 'additionalProperties': True}
health
Health
Liveness and capability check for yieldsentinel (yieldsentinel.eth). Returns service status, schemaVersion, policyVersion, feature flags, and the list of available tools. May refresh research vintage via a yieldhunter health ping; a verdict still requires check_position. YH healthy ≠ YS ok. Use this first to verify connectivity, then call check_position with policyPreset treasury-conservative | balanced-research | rwa-selective (or explicit thresholds). Research estimates only — non-custodial; never holds keys or executes transactions. Example input: {}
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
Añadido
check_position
17 de September de 2026 a las 12:40
Añadido
health
17 de September de 2026 a las 12:40