Server definition
- Hash
- sha256:31eb443c810f646f748e638712b1ed1cc9d88f3d24cb833f3c75603c698b4e09
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "yieldsentinel.eth — non-custodial position-policy research for AI agents. Pull check_position against a research policy. Same verdict contract is intended for a later watch mode. Research only — no execution, no custody, no “exit now”. Never executes transactions.",
"tools": [
{
"description": "Evaluate a described stablecoin yield position against a research policy (pull).\n\nAlways pass your policy rules (or a preset). Without a policy, no meaningful check is possible — the verdict will be review/unknown, never ok.\n\nPass 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.\n\nFetches live yieldhunter research (score, APY, TVL, category, rewardShare, exitRisk) and curated flags, then returns a PolicyVerdict plus A2H (summary, suggestedNextSteps, legend).\n\nIncomplete 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.\n\nExample:\n{ \"poolId\": \"43641cf5-a92e-416b-bce9-27113d3c0db6\", \"policyPreset\": \"treasury-conservative\", \"notionalUsd\": 10000 }",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"asset": {
"description": "Stablecoin symbol, e.g. \"USDC\"."
},
"chain": {
"description": "ethereum | base | arbitrum"
},
"excludeCategories": {
"description": "Exclude categories, e.g. [\"rwa\"]."
},
"horizonDays": {
"description": "Holding horizon in days for net-yield context (default 30)."
},
"id": {
"description": "Same as yieldhunter opportunities[].id."
},
"maxExitRisk": {
"description": "Cap on yieldhunter exitRisk heuristic: low | medium | high. Unknown or above the cap → review."
},
"maxRewardShare": {
"description": "Maximum incentive share of gross APY (0–1)."
},
"minNetApy": {
"description": "Minimum net APY estimate."
},
"minProtocolScore": {
"description": "Minimum yieldhunter protocol risk score (0–100, higher = safer)."
},
"minScore": {
"description": "Minimum compositeRiskAdjusted (0–100)."
},
"minTvlUsd": {
"description": "Minimum pool TVL in USD."
},
"notionalUsd": {
"description": "Research notional in USD (size hint only). Example: 10000"
},
"opportunityId": {
"description": "Alias for poolId / id."
},
"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)."
},
"poolId": {
"description": "yieldhunter opportunities[].id (DefiLlama pool UUID). Example: \"43641cf5-a92e-416b-bce9-27113d3c0db6\""
},
"protocolSlug": {
"description": "Protocol slug, e.g. \"aave-v3\"."
},
"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."
},
"riskAppetite": {
"description": "conservative | balanced | aggressive (research posture only)."
}
},
"type": "object"
},
"name": "check_position",
"outputSchema": null
},
{
"description": "Liveness and capability check for yieldsentinel (yieldsentinel.eth).\n\nReturns service status, schemaVersion, policyVersion, feature flags, and the list of available tools.\n\nMay refresh research vintage via a yieldhunter health ping; a verdict still requires check_position. YH healthy ≠ YS ok.\n\nUse 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.\n\nExample input: {}",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {},
"type": "object"
},
"name": "health",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:31eb443c810f646f748e638712b1ed1cc9d88f3d24cb833f3c75603c698b4e09 | sha256sum