yieldsentinel
Policy check on a described yield position. Complement to yieldhunter. Research only.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"yieldsentinel": {
"url": "https://yieldsentinel-agent-production.up.railway.app/mcp"
}
}
}Remote endpoints
https://yieldsentinel-agent-production.up.railway.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (2)
🟢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: {}
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_position(poolId, opportunityId, id, protocolSlug, chain, ...)
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 }
Input Schema
{
"type": "object",
"properties": {
"poolId": {
"description": "yieldhunter opportunities[].id (DefiLlama pool UUID). Example: \"43641cf5-a92e-416b-bce9-27113d3c0db6\""
},
"opportunityId": {
"description": "Alias for poolId / id."
},
"id": {
"description": "Same as yieldhunter opportunities[].id."
},
"protocolSlug": {
"description": "Protocol slug, e.g. \"aave-v3\"."
},
"chain": {
"description": "ethereum | base | arbitrum"
},
"asset": {
"description": "Stablecoin symbol, e.g. \"USDC\"."
},
"notionalUsd": {
"description": "Research notional in USD (size hint only). Example: 10000"
},
"horizonDays": {
"description": "Holding horizon in days for net-yield context (default 30)."
},
"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)."
},
"minScore": {
"description": "Minimum compositeRiskAdjusted (0–100)."
},
"minNetApy": {
"description": "Minimum net APY estimate."
},
"maxRewardShare": {
"description": "Maximum incentive share of gross APY (0–1)."
},
"riskAppetite": {
"description": "conservative | balanced | aggressive (research posture only)."
},
"excludeCategories": {
"description": "Exclude categories, e.g. [\"rwa\"]."
},
"minTvlUsd": {
"description": "Minimum pool TVL in USD."
},
"minProtocolScore": {
"description": "Minimum yieldhunter protocol risk score (0–100, higher = safer)."
},
"maxExitRisk": {
"description": "Cap on yieldhunter exitRisk heuristic: low | medium | high. Unknown or above the cap → review."
},
"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."
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence