Skip to main content
Glama

YieldLord · 包租公

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
47.7% over 62 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct role: account/auth handling, explaining a user-named contract, finding engine-ranked candidates, and reading market climate. explain_option and find_recommendations are adjacent (both about option analysis) but the descriptions clearly separate the user-named vs engine-picked cases, so confusion is minimal.

Naming Consistency5/5

All four tools use a consistent snake_case verb_noun pattern (connect_my_account, explain_option, find_recommendations, get_market_climate). Verbs are well-matched to their actions with no style mixing.

Tool Count4/5

Four tools is lean but well-scoped for an option-income analysis server, and each earns its place. It sits at the thin end given the domain also implies portfolio/position tracking, but nothing here is redundant.

Completeness3/5

The public surface covers discovering candidates, explaining a specific contract, and reading market climate, but there is no direct tool to view the user's own positions, portfolio, or realized history — those are only referenced as things the account connection 'unlocks.' This leaves a notable gap an agent cannot fill without extra unlocked tools.

Available Tools

4 tools
connect_my_accountA
Idempotent
Inspect

Account status: whether this session is connected to a 包租公 · YieldLord account, which tier it is on, how many credits are left, and for Gold whether it is a trial or paid and when it ends. 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 — or, if you can't receive a browser redirect, with start_link=true (a link the user approves, then pickup= gives you the token; nothing to copy back). 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
pickupNoThe pickup from start_link. Returns pending until the user approves, then the access token (once).
confirmNoThe confirm_token from the previous start_trial call, sent only after the user said yes.
agent_nameNoWith start_link: your name as the user knows you (shown on the approval page).
start_linkNoEasiest way to connect if you can't receive a browser redirect (you run on a server): returns a link and a code to give the user, plus a pickup for you. The user signs in and approves on that page — nothing to copy back. Then call again with pickup=<pickup> to receive the access token.
start_trialNoConnected 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.
start_authorizationNoBegin 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. If you can't receive a browser redirect (you run on a server, not on the user's computer), register this server's /api/mcp/callback page as your redirect_uri — the user copies the full URL from it back to you.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly=false, idempotent=true, destructive=false, openWorld=false; the description goes well beyond that by disclosing the no-arg return shape (text and URL only), the one-shot token semantics of pickup, the mandatory user-confirmation requirement for start_trial ('Never confirm on the user's behalf'), and the OAuth mechanics (HTTP 401 + WWW-Authenticate, dynamic client registration, PKCE S256, public client, redirect_uri handling). It also tells the agent to re-list tools after connecting, which is a behavioral consequence no annotation conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The status purpose is front-loaded in the first sentence and almost every sentence carries non-redundant routing or flow information. It is nonetheless a dense single paragraph where the connection-mode instructions are stacked ('Call this when... Call it again with... Call it again right after'), which costs readability versus a mode-by-mode structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter, no-output-schema tool that spans status reporting and three distinct authorization paths, the description covers triggers, per-mode preconditions, return shapes ('returns text and a URL only', 'returns pending until the user approves, then the access token'), safety rails, and post-connect follow-up. Nothing an agent needs in order to select a mode and call it correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description earns above baseline by tying parameters into an execution order the schema does not spell out (start_link then pickup, start_trial then confirm, re-call after sign-in). It does not, however, add format or validation detail beyond what the per-parameter schema text already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource and fields it reports (connection state, tier, remaining credits, Gold trial-vs-paid and end date) and separately names each action mode (start_authorization, start_link, start_trial, pickup, confirm). An agent can tell immediately that this is the account-connection/status tool and that it does not overlap with the market- or option-oriented siblings. The compound status-plus-flow nature is disambiguated by mode rather than left vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit trigger phrases are given ('am I connected', 'how many credits do I have left') plus a second condition: when the user asks about THEIR OWN positions, portfolio, morning brief or realized history, since anonymous access cannot see those. It also states preconditions for each mode ('only after the user has an account', 'connected free accounts only' for the trial) and which mode to pick when the agent cannot receive a browser redirect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_optionA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo
riskNo
typeYes
expiryYesYYYY-MM-DD
intentNodefaults to csp for a put, covered_call for a call
strikeYes
tickerYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate readOnly and openWorld, but the description adds substantial behavioral context: it prices and scores the exact contract, returns live quote, Greeks, premium, collateral, yield, expiration probability from the seller's side, and RENT score. It also explicitly says that if pricing fails it will say so and why, rather than substituting another contract, and that the output is analysis, not a recommendation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured: purpose first, then differentiation, then return contents, then failure behavior, then a caveat. Every sentence adds distinct value and there is no filler or repetition of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and only 29% schema description coverage, the description is unusually complete. It covers what the tool returns, how it behaves on failure, and how to interpret the output (analysis, not a trade recommendation). The only minor omission is context for lang/risk, but their enum values are mostly self-explanatory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 29%, so the description carries real weight. It correctly maps the four required parameters to a concrete contract and adds meaning for strike ('including strikes the screener would never surface'). However, it does not describe the optional lang and risk parameters, leaving their semantics to the schema's enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Explain ONE specific option contract the user named' and enumerates the contract components (ticker, put/call, strike, expiry). It also explicitly contrasts with explain_score and compare_candidates, so an agent can immediately tell this tool apart from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use this tool: when the user names an exact contract, including strikes the screener would not surface. It names the alternatives and explains their limitation ('can only explain contracts the engine already picked'), which gives the agent a concrete routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_recommendationsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
riskNo
wingNoSpread width, only meaningful with defined_risk=true: tight = least buying power, wide = more credit.
intentNo
tickerYes
directionNo
timeframeNotarget DTE in days, e.g. 21/30/45 (default 30)
defined_riskNotrue = 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).

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description adds meaningful behavioral context: it is not advice, it returns candidates/analysis, and the defined_risk default is not silent — 'the result says which was used and why.' This is strong disclosure of behavior beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler: the core purpose and disclaimer come first, followed by the critical defined_risk usage caveat. Every clause contributes information needed to use the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no output schema, the description covers the most important decisions and behavioral caveats. It could be more complete by explaining risk/intent selections and what the returned analysis contains, but the core invocation with just ticker is clear and safe.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 43%, and the description substantially compensates for the most nuanced parameter, defined_risk, including the default behavior. However, it does not explain risk, intent, or direction beyond their enum names, and the 'RENT' ranking concept is left undefined, so the compensation is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Find RENT-ranked option income candidates' for a ticker. It actively disambiguates the tool name by stating 'candidates only, not advice' and 'Output is analysis, not a recommendation to trade,' making its purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance for the key decision: 'Set defined_risk=true for CREDIT SPREADS ... instead of single-leg naked selling; omit it and we default to whatever this user actually trades.' It clearly explains the main branch of use, though it does not explicitly name alternative tools or state when not to use the tool at all.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_climateA
Read-only
Inspect

Current rent climate (market regime + VIX/IV env + macro proximity → seller-friendliness read). Output is analysis, not a recommendation to trade.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds the meaningful clarification that the output is analysis, not a trade recommendation, and characterizes it as a 'current' snapshot. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that conveys the core purpose and a key behavioral caveat with no wasted words. Efficient and easily parseable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with safety annotations covering read-only and open-world behavior, the description is sufficient. It communicates what the tool outputs and the important non-recommendation aspect. No critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is fully covered. The description does not need to explain parameters. Baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: providing a current market climate analysis based on market regime, VIX/IV environment, and macro proximity, with output as a seller-friendliness read. It is specific and distinct from siblings like find_recommendations, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for market climate analysis but does not explicitly state when to use this tool versus alternatives. It does clarify that the output is not a trade recommendation, indirectly guiding away from tools like find_recommendations, but lacks direct when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedconnect_my_account3 fields changed
      • addedInput schema / properties / agent_name
        Added value: +{
        +  "description": "With start_link: your name as the user knows you (shown on the approval page).",
        +  "type": "string"
        +}
      • addedInput schema / properties / pickup
        Added value: +{
        +  "description": "The pickup from start_link. Returns pending until the user approves, then the access token (once).",
        +  "type": "string"
        +}
      • addedInput schema / properties / start_link
        Added value: +{
        +  "description": "Easiest way to connect if you can't receive a browser redirect (you run on a server): returns a link and a code to give the user, plus a pickup for you. The user signs in and approves on that page — nothing to copy back. Then call again with pickup=<pickup> to receive the access token.",
        +  "type": "boolean"
        +}
  2. 1 tool update
    • Changedconnect_my_account1 field changed
      • changedInput schema / properties / start_authorization / description
        Previous value: -"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."New value: +"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. If you can't receive a browser redirect (you run on a server, not on the user's computer), register this server's /api/mcp/callback page as your redirect_uri — the user copies the full URL from it back to you."
  3. 1 tool update
    • Changedconnect_my_account2 fields changed
      • addedInput schema / properties / confirm
        Added value: +{
        +  "description": "The confirm_token from the previous start_trial call, sent only after the user said yes.",
        +  "type": "string"
        +}
      • addedInput schema / properties / start_trial
        Added value: +{
        +  "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.",
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Changedconnect_my_account1 field changed
      • addedInput schema / properties / start_authorization
        Added value: +{
        +  "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.",
        +  "type": "boolean"
        +}
  5. 4 tool updates
    • First observedconnect_my_account
    • First observedexplain_option
    • First observedfind_recommendations
    • First observedget_market_climate

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    US/HK markets — 110 tools: real-time quotes, options, orders, fundamentals, alerts, DCA & portfolio
    193
    14
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time options analytics, pricing with Greeks, Monte Carlo simulations, volatility analysis, strategy backtesting, and risk metrics using actual market data from Yahoo Finance and Polygon.io.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a consolidated 0DTE options cockpit for SPX/SPXW, including chain, Greeks, dealer exposure, volatility term structure, and economic events, using free delayed market data.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Interactive Brokers for intelligent portfolio management, options analysis, risk monitoring, and automated trading strategy suggestions. Enables real-time account tracking, Greeks calculations, option chain analysis, and playbook-based risk adjustments through natural language.
    5
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources