YieldLord · 包租公

RENT-ranked covered-call, CSP & wheel income ideas, your positions & Greeks. Never places orders.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
74%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,157Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (0.90% of 128k context)

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": {
    "landlord": {
      "url": "https://baozugong.app/api/mcp"
    }
  }
}

Remote endpoints

https://baozugong.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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).

Input Schema

{
  "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."
    }
  }
}

Recommended Prompts

search_research
Search for information about [topic] using YieldLord · 包租公
Expected tools: find_recommendations
find_specific
Find [specific item] using YieldLord · 包租公
Expected tools: find_recommendations
retrieve_data
Get details about [item] from YieldLord · 包租公
Expected tools: get_market_climate
fetch_info
Fetch [information type] using YieldLord · 包租公
Expected tools: get_market_climate
research_workflow
Search for [topic], then get detailed information about the top results using YieldLord · 包租公
Expected tools: find_recommendationsget_market_climate

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools