YieldLord · 包租公
RENT-ranked covered-call, CSP & wheel income ideas, your positions & Greeks. Never places orders.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"landlord": {
"url": "https://baozugong.app/api/mcp"
}
}
}Puntos de conexión remotos
https://baozugong.app/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (4)
🟢find_recommendations(ticker, intent, risk, direction, defined_risk, ...)
Find RENT-ranked option income candidates (candidates only, not advice) for a ticker. Set defined_risk=true for CREDIT SPREADS (bull put / bear call) instead of single-leg naked selling; omit it and we default to whatever this user actually trades. Output is analysis, not a recommendation to trade.
Esquema de entrada
{
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"intent": {
"type": "string",
"enum": [
"premium",
"csp",
"covered_call",
"collar"
]
},
"risk": {
"type": "string",
"enum": [
"conservative",
"balanced",
"aggressive"
]
},
"direction": {
"type": "string",
"enum": [
"bullish",
"bearish",
"neutral"
]
},
"defined_risk": {
"type": "boolean",
"description": "true = attach a protective long leg → CREDIT SPREAD (bull put / bear call). false = single-leg naked selling. Omit to use what this user actually trades (inferred from their open positions and last pick, never a silent guess — the result says which was used and why)."
},
"wing": {
"type": "string",
"enum": [
"tight",
"narrow",
"balanced",
"wide"
],
"description": "Spread width, only meaningful with defined_risk=true: tight = least buying power, wide = more credit."
},
"timeframe": {
"type": "string",
"description": "target DTE in days, e.g. 21/30/45 (default 30)"
}
},
"required": [
"ticker"
]
}🟢get_market_climate
Current rent climate (market regime + VIX/IV env + macro proximity → seller-friendliness read). Output is analysis, not a recommendation to trade.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢explain_option(ticker, type, strike, expiry, intent, ...)
Explain ONE specific option contract the user named — ticker + put/call + strike + expiry. Unlike explain_score and compare_candidates, which can only explain contracts the engine already picked, this prices and scores the exact contract you ask about, including strikes the screener would never surface (deep in the money, far out of the money). Returns the live quote, Greeks, premium and collateral per contract, annualized yield, the chance it expires worthless (the SELLER's side), and the RENT score. If we cannot price it (no open interest, no bid, strike does not exist) it says so and why, rather than substituting a different contract. Output is analysis, not a recommendation to trade.
Esquema de entrada
{
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"put",
"call"
]
},
"strike": {
"type": "number"
},
"expiry": {
"type": "string",
"description": "YYYY-MM-DD"
},
"intent": {
"type": "string",
"enum": [
"premium",
"csp",
"covered_call",
"collar"
],
"description": "defaults to csp for a put, covered_call for a call"
},
"risk": {
"type": "string",
"enum": [
"conservative",
"balanced",
"aggressive"
]
},
"lang": {
"type": "string",
"enum": [
"zh",
"zh_tw",
"en"
]
}
},
"required": [
"ticker",
"type",
"strike",
"expiry"
]
}🟢connect_my_account(start_authorization, start_trial, confirm)
Account status: whether this session is connected to a 包租公 · YieldLord account, which tier it is on, and how many credits are left. Call this when the user asks "am I connected" or "how many credits do I have left", and when they ask about THEIR OWN positions, portfolio, morning brief or realized history — anonymous access cannot see those, and this explains what connecting unlocks and gives the link. Called with no arguments it returns text and a URL only. Call it again with start_authorization=true once the user has an account, to begin the OAuth flow. A connected free account can also start its free Gold trial here (start_trial=true — always a two-step confirm with the user) or get the link to buy Gold. Call it again right after the user finishes signing in: for a connected account the reply lists every tool the connection unlocked (the tool list you fetched before sign-in only has the public ones — re-list tools after connecting).
Esquema de entrada
{
"type": "object",
"properties": {
"start_authorization": {
"type": "boolean",
"description": "Begin the OAuth flow now. The call answers HTTP 401 with a WWW-Authenticate header pointing at this server's protected-resource metadata; follow it (dynamic client registration, PKCE S256, public client, no secret) and give the user the sign-in link to approve. Use it only after the user has an account — a plain link cannot open the authorize page, because that URL needs your own client_id, redirect_uri and code_challenge."
},
"start_trial": {
"type": "boolean",
"description": "Connected free accounts only: start the free Gold trial. Without `confirm` nothing is started — it returns a question for the user and a confirm_token. Ask the user; only after they clearly say yes, call again with start_trial=true and confirm=<confirm_token>. Never confirm on the user's behalf."
},
"confirm": {
"type": "string",
"description": "The confirm_token from the previous start_trial call, sent only after the user said yes."
}
}
}Prompts recomendados
find_recommendationsfind_recommendationsget_market_climateget_market_climatefind_recommendationsget_market_climateComunidad
Evidencia