Skip to main content
Glama
staskh

trading-skills

by staskh

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.17.1

  • Disambiguation4/5

    Most tools have distinct purposes, with clear separation between Yahoo-based data tools and IB-specific tools via the ib_ prefix. Spread strategies are individually named, reducing confusion, though pairs like option_expiries and ib_option_expiries require attention to the source.

    Naming Consistency3/5

    Naming is mixed: some tools use noun-style (stock_quote, price_history), others verb-style (get_version, scan_bullish), and IB tools consistently use the ib_ prefix. While readable, there is no uniform verb_noun or noun_verb pattern across the entire set.

    Tool Count2/5

    At 35 tools, the surface is quite large. Several highly specialized tools (e.g., each spread type as a separate tool) could be consolidated, making the set feel bloated for agent navigation, even for a broad trading domain.

    Completeness4/5

    The server covers market data, fundamentals, technicals, options strategies, portfolio analysis, and IB account management well. Minor gaps exist, such as generic trade execution, but the analysis and risk management workflows are largely complete.

  • Average 3.9/5 across 35 of 35 tools scored. Lowest: 2.7/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 2 of 2 community issues answered or closed in the last 6 months
    • 19 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior1/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. The term 'Analyze' is vague and does not state whether the tool is read-only, what outputs are produced, or any side effects. There is no information about return format, data source, or limitations.

    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 description is very concise: two sentences plus an argument list. It is front-loaded with the core purpose and includes necessary parameter type hints (date format). Every word earns its place, though the brevity leaves out behavioral details.

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

    Completeness2/5

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

    Given no annotations, no output schema, and only 3 basic parameters, the description is incomplete. It does not explain what 'Analyze' returns (e.g., profit/loss, risk metrics), nor does it state any prerequisites or limitations. A user would have no idea what data or results to expect.

    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?

    The input schema has 0% description coverage, but the description compensates by providing brief explanations for all three parameters: 'Ticker symbol', 'Expiration date (YYYY-MM-DD)', and 'Strike price for both legs'. The strike description adds value by clarifying it applies to both legs, though the explanations are otherwise minimal and match the obvious schema titles.

    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 it analyzes a long straddle (buy call + put at same strike), which is a specific verb+resource. It distinguishes itself from sibling spread tools by specifying the long straddle strategy and the same-strike requirement.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternative spread tools (e.g., spread_strangle, spread_vertical). The description only implies usage for long straddle analysis, with no exclusions or alternatives mentioned.

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

  • Behavior2/5

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

    With no annotations, the description alone must disclose behavioral traits. It only states the basic function and provides parameter examples, failing to mention data source, return format, pagination, or limitations. This is a minimal behavioral disclosure.

    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 description is concise and front-loaded with the core purpose. It uses a clear Args structure to enumerate parameters, with no extraneous words. It could be considered under-specified but is efficient for the information it contains.

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

    Completeness2/5

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

    Given no output schema and no annotations, the description should compensate by explaining return values or data quirks. It does neither. The tool has three parameters and potential interval constraints (e.g., not all intervals available for all periods) that are omitted, leaving the agent with incomplete context for correct invocation.

    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?

    Despite a schema coverage of 0%, the description adds significant meaning by listing concrete allowed values for 'period' and 'interval' (e.g., '1d', '5d', '1mo'), which the schema lacks. It provides useful enumeration for all three parameters, though it does not explain the relationship between period and interval.

    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 states a clear action ('Get historical OHLCV price data') with a specific resource (price data). It distinguishes itself from real-time quote tools like stock_quote by emphasizing 'historical', 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 Guidelines2/5

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

    No guidance is provided on when to use this tool versus its many siblings (e.g., stock_quote, technical_indicators, price_correlation). There is no context for selecting among them, nor any mention of prerequisites or exclusions.

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

  • Behavior2/5

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

    Since no annotations are provided, the description carries the full burden for behavioral disclosure. It only says 'Analyze' implying a read-only operation, but lacks details on return format, potential side effects, rate limits, or any special requirements. The parameter list touches on argument semantics but does not cover behavior.

    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 description is concise and front-loaded with the purpose, followed by a structured argument list. It is appropriately sized for the tool, with no redundant fluff, though the argument list could be formatted with a table or bullet points for readability.

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

    Completeness2/5

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

    The tool has 5 parameters and no output schema, so the description should explain what analysis results are returned, how to interpret them, and when to use it relative to other spread tools. None of that is present, making the description barely minimally viable for an agent to invoke correctly.

    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 coverage is 0%, so the description's parameter list is essential. It provides brief but clear meanings for all 5 parameters, including format for expiry and enum for option_type. This adds value beyond the bare schema, though it could enrich strike price descriptions with ordering relationships.

    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 states 'Analyze vertical spread' which clearly identifies the operation and resource. It distinguishes from sibling tools by specifying the spread type (vertical vs diagonal, straddle, etc.), though it could be more explicit about the analysis output.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives. With over 30 sibling tools including other spread strategies, the description provides no decision context or exclusions, leaving the agent to infer applicability.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'List', which implies a read operation, but does not specify return format, sorting, limitations, or whether any special conditions apply. This minimal disclosure leaves significant behavioral aspects undisclosed.

    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 extremely concise and front-loaded, with two clear sentences that cover the tool's purpose and parameter. Every word earns its place, and there is no unnecessary detail or repetition.

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

    Completeness3/5

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

    The description covers the basic purpose and parameter but lacks information about the return format and does not address the existence of similar tools like 'ib_option_expiries'. Given the tool's simplicity and the presence of sibling tools, it is minimally adequate but not fully complete for an agent to make a confident choice.

    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 schema's 'symbol' parameter has no description, but the description's 'Args' section clarifies it as 'Ticker symbol'. This adds essential meaning, though it could be more specific about the expected format (e.g., uppercase, exchange suffix), making it clear but slightly incomplete.

    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 it lists option expiration dates for a symbol, with a specific verb and resource. However, it does not differentiate from the sibling tool 'ib_option_expiries', which appears functionally similar, so it loses a point for lack of sibling differentiation.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool over alternatives like 'ib_option_expiries' or 'option_chain'. There is no mention of context, prerequisites, or exclusions, leaving the agent without direction on choosing between similar tools.

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

  • Behavior2/5

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

    No annotations are present, so the description carries the full burden. It mentions 'real-time' and lists metrics but does not disclose data freshness, rate limits, error behavior for invalid symbols, or return structure. As a read-only tool, it lacks any caution about response nuances or limitations.

    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 description is front-loaded with the primary purpose and uses a compact structure. The Args block is slightly redundant with the schema but adds examples, so it earns its place. Zero filler words, though it could be expanded with behavioral details without losing conciseness.

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

    Completeness3/5

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

    The tool is simple (one parameter, no output schema), and the description covers the core functionality and return content (price, volume, change, key metrics). However, without an output schema, it doesn't specify the response format or field types, and there's no mention of edge cases or data source. This is adequate for a basic tool but not fully complete.

    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 schema provides only 'Symbol' as a title with 0% description coverage. The description adds meaning with 'Ticker symbol (e.g., AAPL, MSFT)' — clarifying it's a ticker and giving concrete examples. While minimal, this fully compensates for the single parameter's schema gap.

    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 clearly states a specific verb and resource: 'Get real-time stock quote with price, volume, change, and key metrics.' It distinguishes from siblings like price_history (historical data) and fundamentals (deep dive), positioning itself as the real-time snapshot tool.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It does not mention exclusions (e.g., for historical data use price_history) or conditions like needing a valid symbol. The description implies usage ('get quote') without context on selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It merely says 'Get option chain data' without describing return format, pagination, error handling, or whether data includes strikes, bid/ask, etc. This adds little beyond the tool name and offers no behavioral context.

    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 exceptionally concise: one sentence plus an Args list. Every word earns its place, and the format is front-loaded with the core purpose.

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

    Completeness3/5

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

    The tool has only two simple parameters and no output schema, so minimal detail could suffice. However, the description omits any mention of return fields and does not differentiate among many option-related siblings (e.g., ib_option_chain, option_greeks). This leaves the agent with incomplete context for selecting and invoking the tool confidently.

    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 0%, but the description compensates with an Args section: symbol: Ticker symbol and expiry: Expiration date (YYYY-MM-DD). This adds meaning beyond the schema titles, particularly the date format for expiry. Both parameters are covered.

    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 clearly states the tool's function: 'Get option chain data (calls and puts) for a specific expiration.' This uses a specific verb ('Get'), names the resource ('option chain data'), and scopes it to calls/puts and a specific expiration. It distinguishes from sibling tools like option_expiries (which likely fetches expiration dates) and option_greeks.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or when to prefer other siblings like ib_option_chain or spread tools. For an AI agent, this lack of differentiation makes selection ambiguous.

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

  • Behavior2/5

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

    With no annotations, the description bears the full burden of disclosing behavior. It only repeats the general purpose and parameter meanings, without explaining what is returned, how data is aggregated, or any limitations. For a data retrieval tool, this lacks important context like output format or coverage.

    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 description is concise—one sentence plus a short arg list. It is front-loaded with the core purpose. The arg list mirrors the schema, creating slight redundancy, but overall it remains efficient and scannable.

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

    Completeness3/5

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

    Given the simple two-parameter design, the description provides adequate high-level context. But with no output schema, it does not explain the return structure or how the data_type options differ in output. This is a moderate gap for a tool that surfaces financial metrics and reports.

    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 schema has 0% coverage, so the description must compensate. It does clarify that symbol is a ticker symbol and enumerates the allowed values for data_type ('all', 'info', 'financials', 'earnings'), which adds value beyond the bare schema. However, it stops short of describing what each data_type actually contains.

    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 clearly states the tool fetches fundamental financial data including metrics, financials, and earnings. This is a specific verb+resource+scope, and it distinguishes itself from sibling tools focused on price, technical indicators, or news sentiment.

    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 the tool is for fundamental data queries, and the data_type parameter suggests different use cases (info, financials, earnings). However, it does not explicitly state when to use this tool versus alternatives like technical_indicators or earnings_calendar, nor does it mention any exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it gets headlines but doesn't clarify whether sentiment scores are included despite the tool name 'news_sentiment'. There is no mention of return format, ordering, pagination, or data source, which could mislead an agent.

    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 extremely concise and well-structured: a single purpose sentence followed by a compact, readable argument list. Every word contributes value, making it easy for an agent to parse.

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

    Completeness3/5

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

    For a two-parameter tool, the description is mostly adequate, but the mismatch between the tool name ('news_sentiment') and the description ('headlines') leaves a gap about whether sentiment analysis is actually included. Without an output schema, more detail on the response structure and ordering would be valuable.

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

    Parameters5/5

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

    Schema description coverage is 0%, but the description explains each parameter precisely: 'symbol: Ticker symbol' and 'limit: Number of articles to return (default 10)'. This adds essential meaning beyond the raw type information in the schema.

    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 'Get' with a resource 'recent news headlines' and a clear target 'for a stock'. This distinctly identifies the tool's purpose and differentiates it from sibling tools like stock_quote and fundamentals, which focus on price and financial data.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. It simply states what the tool does, leaving the agent without context for selection.

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

  • Behavior2/5

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

    With no annotations, the description carries full disclosure burden. It only says 'Analyze' without revealing what the analysis produces (e.g., max profit/loss, breakevens, greeks), whether it uses market data, or any side effects. This is a significant gap for a financial analysis tool.

    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 a single defining sentence followed by a clean argument list with one-line meanings. Every element is useful and there is no wasted text.

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

    Completeness2/5

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

    The tool is a complex options strategy analysis with 6 parameters, no output schema, and no annotations, yet the description offers no explanation of the analysis results, return format, or use case context. It is too minimal for an agent to know what to expect as output or how to validate the trade.

    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 0%, so the parameter descriptions in the Args section add meaning: symbol, expiry format, and strike order (lowest to highest) for the four strikes. This compensates for the bare schema, though it could include more detail like units or constraints.

    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 'Analyze' with a clear resource 'iron condor' and even defines the structure ('sell strangle + buy protective wings'), which distinguishes it from sibling tools like spread_strangle and spread_vertical.

    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 analyzing iron condor spreads by naming the strategy and parameters, but it does not explicitly state when to prefer this tool over alternatives or provide exclusion criteria. There is no guidance on comparing to similar spread tools.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It only states the action and parameters, without revealing what the output looks like, whether it returns structured data, or any limitations (e.g., data source, latency). This is a significant gap for a tool with no annotations.

    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 a well-structured docstring with a one-sentence purpose followed by a compact Args list. Every line adds value, with no fluff or redundancy.

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

    Completeness3/5

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

    The description fully covers how to invoke the tool with all parameters, but lacks information about the return format or output structure. Since there is no output schema and no annotations, this is a notable omission for an agent that needs to interpret the result.

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

    Parameters5/5

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

    Schema description coverage is 0%, but the description compensates thoroughly by explaining each parameter's meaning and providing allowed values (e.g., period options '1mo, 3mo, 6mo, 1y' and indicator list). This goes well beyond the bare schema properties.

    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 clearly states the tool's function: 'Compute technical indicators for a stock.' This is a specific verb+resource combination that distinguishes it from sibling tools like stock_quote or price_history, which serve different data retrieval purposes.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or specific use cases, leaving the agent without context for tool selection.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavior, and it does provide useful context: computes IV from market_price, allows expiry OR dte, and supports volatility override. However, it omits details about the output format, what happens when both or neither time inputs are provided, and any model assumptions/limitations. This partial disclosure warrants a 3.

    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 description is efficiently structured with a lead sentence, a clarifying note about IV, and a single-line-per-parameter list. It avoids unnecessary fluff, though the Args list is somewhat lengthy—still, each line earns its place given the schema lacks descriptions.

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

    Completeness3/5

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

    The tool has 8 parameters, no output schema, and no annotations, so the description bears a heavy burden. It covers inputs well and notes IV computation, but it does not explain the return structure or error/edge cases (e.g., missing both time inputs, conflicting inputs). Given the complexity, a 3 is fair.

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

    Parameters5/5

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

    The input schema has no property descriptions (0% coverage), but the description's Args section thoroughly explains every parameter: spot, strike, option_type, expiry vs dte relationship, market_price for IV, volatility format, and rate default. This adds significant meaning beyond the schema, so a 5 is appropriate.

    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 clear statement: 'Calculate option Greeks (delta, gamma, theta, vega) using Black-Scholes.' This is a specific verb+resource and distinguishes it from sibling tools like option_chain or spread_* by specifying the exact Greeks and the model. The addition of IV computation further clarifies its scope.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not reference any sibling tools or conditions that would favor this tool over option_chain or others beyond the intrinsic purpose. The only conditional language ('if provided') relates to an optional input, not tool selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It states the tool 'analyzes' but does not describe what the output contains, whether it calculates profit/loss, Greeks, or other metrics, or any side effects. The inclusion of PMCC adds context but not behavioral transparency.

    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 concise, with a clear introductory sentence followed by a structured argument list. Every sentence is purposeful with no filler.

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

    Completeness2/5

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

    For a moderately complex options analysis tool with no output schema or annotations, the description is incomplete. It lacks details about what the analysis returns (e.g., profit/loss scenarios, Greeks, breakeven points), which would be essential for an agent to invoke it correctly and interpret results.

    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?

    With 0% schema coverage, the description compensates by listing all six parameters with brief explanations. It adds valuable details like option_type being 'call' or 'put' and date format YYYY-MM-DD. However, it does not clarify the relationship between long/short legs beyond their names.

    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 clearly states the tool analyzes diagonal spreads with different expiries and strikes, and explicitly mentions Poor Man's Covered Call/Put analysis. This distinguishes it from sibling spread tools like spread_vertical or spread_strangle.

    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 implies usage for diagonal spreads and PMCC analysis, giving clear context for when to select this tool. It does not explicitly state when not to use it or contrast with alternatives, but the mention of specific spread types provides adequate situational guidance.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden, but it only states 'Analyze long strangle' without disclosing what the analysis includes, return format, or side effects. It provides no behavioral context beyond the tool's name, such as whether it uses current market data or outputs risk metrics.

    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 description is concise with a one-sentence purpose and a well-formatted args list. Every line serves a purpose; the parameter details are included because the schema lacks them, so the length is justified.

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

    Completeness3/5

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

    The description covers purpose and parameter semantics but omits any description of the output or return value, which is critical given there is no output schema. It also lacks usage exclusions or comparisons to siblings, leaving the overall context incomplete for selecting this tool.

    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 schema has no descriptions (0% coverage), but the description compensates by explaining each parameter: symbol as ticker, expiry in YYYY-MM-DD, and strikes relative to current price (put below, call above). These details add meaning beyond the schema's bare types.

    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 clearly states 'Analyze long strangle (buy OTM call + OTM put)', providing a specific verb and resource. This distinguishes it from sibling tools like spread_straddle and spread_vertical, leaving no ambiguity about what the tool does.

    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 implies its usage for long strangle analysis, giving clear context. However, it does not explicitly mention when not to use or compare to alternatives, stopping just short of full guidance.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses the local dependency (TWS/IB Gateway) and the return data, which are relevant behavioral traits. However, it does not disclose potential failure modes (e.g., what happens if TWS is not running), absence of side effects, or data latency characteristics, leaving some behavioral ambiguity.

    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 concise and well-structured: an opening summary, a one-line list of returned data, a requirement note, and a clear Args block. Every sentence earns its place with no filler or redundancy.

    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 data retrieval tool with no output schema, the description covers the essential aspects: purpose, returned fields, parameter formats, and the critical local runtime dependency. It does not discuss sibling tool selection or error handling, but the overall context is sufficiently complete for a simple option chain fetch.

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

    Parameters5/5

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

    Despite the schema lacking descriptions, the description includes an explicit Args section that fully explains each parameter: symbol (ticker symbol), expiry (YYYYMMDD format), and port (with live/paper port numbers). This adds significant semantic value beyond the bare schema and perfectly compensates for the 0% schema coverage.

    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 gets option chain data from Interactive Brokers with real-time quotes, mentioning specific fields like strikes, bids, asks, volume, and implied volatility. It distinguishes itself from generic option chain tools by emphasizing IB and real-time data, though it does not explicitly name sibling 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 provides an important prerequisite ('Requires TWS or IB Gateway running locally') which implies the tool is for local IB setups, but it does not explicitly state when to use this tool over other option-related siblings like option_chain or ib_option_expiries. There is no clear exclusion guidance, so usage context is only implied.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It states the tool 'scans' and 'analyzes' but does not disclose whether it is read-only, requires authentication, has rate limits, or what side effects (if any) exist. While scanning is implicitly non-destructive, this is not stated explicitly.

    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 efficiently structured: a one-sentence summary, a brief analysis-criteria list, and an Arg list. Every sentence adds value, with no fluff or repetition.

    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 moderately complex tool with 4 parameters and no output schema, the description covers purpose, analysis criteria, and parameter semantics. It does not describe the return format or what a 'suitable' result looks like, but the absence of an output schema and the clear functional scope make this a minor gap.

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

    Parameters5/5

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

    Schema description coverage is 0%, but the description compensates thoroughly with an Args block. It explains that symbols are comma-separated, defines each delta/days parameter with defaults, and adds meaning beyond the schema's bare property names and default 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: 'Scan symbols for Poor Man's Covered Call suitability.' It clearly names the strategy (PMCC) and the criteria analyzed (delta, liquidity, spread tightness, IV, yield), which distinguishes it from sibling scan tools like scan_bullish.

    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 gives clear context on what the tool does (suitability scan for PMCC) but does not explicitly state when to use it over alternative scanning tools or mention any exclusions. The criteria imply usage, but no alternatives or when-not scenarios are provided.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. It describes the process (fetches, groups, categorizes, returns) and the local gateway requirement, but does not explain error handling, side effects, or detailed behavior beyond the high-level steps.

    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 brief and front-loaded with the core purpose. It then adds process details, a prerequisite, and parameter guidance, with no wasted words. The structure is clean and easy to parse.

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

    Completeness3/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, the description gives a reasonable overview but lacks specific details about the output format or content beyond 'structured analysis with recommendations.' This may be sufficient for basic understanding but leaves gaps for an agent needing to invoke or interpret results.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description's parameter explanations are critical. It adds valuable meaning by specifying port values (7496 live, 7497 paper) and clarifying account as optional. This goes well beyond the raw schema.

    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 clearly states the tool's function with a specific verb ('Analyze') and resource ('portfolio positions'), and further details the pipeline (fetches, groups, categorizes) and output (structured analysis with recommendations). This distinguishes it from sibling tools like ib_portfolio or risk_assessment.

    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 mentions a clear prerequisite ('Requires TWS or IB Gateway running locally') but does not explicitly state when to use this tool versus alternatives or when not to use it. Usage is implied by the purpose but not explicitly contrasted with siblings.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the burden of explaining behavior. It describes the return data in detail (bullish score, PMCC viability, etc.), which clarifies that this is an analysis/report tool. However, it does not mention whether any state changes occur, whether it places orders, authentication requirements, or potential side effects. The description is not misleading but leaves behavioral edges unclear.

    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 description is brief and well-structured. It opens with the primary purpose, follows with a bulleted-like list of returned data (though not literally bullets), and ends with parameter documentation. Every sentence adds value, and the length is appropriate for the tool's complexity. It could be slightly more polished by using bullet points, but it is concise and scannable.

    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?

    Given the tool's broad scope and lack of output schema, the description lists the key return components, which gives a good sense of what to expect. However, it does not mention input validation, error conditions, or any prerequisites (e.g., data availability). The sibling set is large, and while the description clearly positions this as the comprehensive report, it does not explicitly link to alternative tools. Overall, the description is adequate for a 1-parameter tool but could be more complete.

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

    Parameters5/5

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

    Schema coverage is 0% in the input schema, so the description must document parameters. It does so effectively: 'symbol: Ticker symbol (e.g., AAPL, MSFT)' provides both meaning and an example. For a single-parameter tool, this fully compensates for the schema's lack of description.

    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 clearly states the tool generates comprehensive stock analysis data including trend, PMCC, and fundamental analysis. It lists specific output components (bullish score, PMCC viability, fundamentals, Piotroski F-Score, spread strategies, overall recommendation), which gives a precise sense of the tool's scope and differentiates it from sibling tools like fundamentals or piotroski_score that cover single aspects.

    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 this is a one-stop report tool ('Generate comprehensive stock analysis data'), suggesting use when a broad overview is needed. However, it does not explicitly state when to prefer this over the specialized sibling tools (e.g., use fundamentals for just fundamentals) or provide any exclusion criteria. The guidance is implied but not explicit.

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

  • Behavior3/5

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

    No annotations are present, so the description should disclose behavioral traits. It does add context like position_size for 'position-specific metrics' and lists computed outputs, but it doesn't state read-only nature, data sources, potential errors, or any side effects. This is average disclosure for a read-only analytics tool.

    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 a single purposeful sentence plus a clean Args list. No redundant or filler text; every sentence earns its place and is easy to scan.

    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?

    Despite missing output schema, the description names the key metrics returned, giving a reasonable expectation of output contents. It covers all parameters and their purpose, but lacks detail on output format, units, or edge cases. For a straightforward analysis tool, this is sufficiently complete.

    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 coverage is 0%, so the description must compensate. The Args section clarifies each parameter: symbol as ticker, period with default, and position_size as optional dollars for position-specific metrics. This adds meaning beyond the bare schema, though it could specify period format options or constraints.

    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 starts with 'Assess risk metrics including volatility, beta, VaR, and drawdown', which uses a specific verb and resource, and enumerates distinctive output metrics. This clearly differentiates it from siblings like price_history, fundamentals, and option chain.

    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?

    There is no explicit when-to-use or alternative guidance. The context 'risk metrics' implies use for risk analysis, but no exclusions or comparisons to sibling tools are provided. It is a clear but implicit usage cue, not a strong guideline.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It explains the calculation method (Black-Scholes), the grouping (by account and underlying symbol), and the local dependency. However, it does not state whether the operation is read-only, whether authentication is needed, or how errors are handled, leaving gaps in transparency.

    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 description is front-loaded with the main purpose, followed by a brief method note and argument explanation. It is efficient and avoids fluff, though the 'Args' section partially overlaps with what the schema already defines, making it slightly redundant.

    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 tool with a single optional parameter and no output schema, the description provides sufficient context: what it calculates, how, across what scope, and what the report contains. It does not describe the output format in detail, but that is not required given the simple input and clear purpose.

    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 schema only defines 'port' as an integer with a default, but the description enriches it by specifying the exact values: '7496 for live, 7497 for paper.' This compensates for the 0% schema description coverage and gives the agent actionable guidance.

    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 ('Calculate') with a precise resource ('delta-adjusted notional exposure across all IBKR accounts'). It clearly distinguishes this tool from siblings like ib_portfolio or ib_option_chain by focusing on delta-adjusted exposure aggregation.

    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?

    It clearly states the prerequisite: 'Requires TWS or IB Gateway running locally.' This gives essential context for when the tool can be used. However, it does not explicitly mention alternatives or when-not-to-use scenarios, so it falls short of a 5.

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

  • Behavior3/5

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

    With no annotations, the description must carry the full burden of behavioral disclosure. It does disclose key output behaviors (assignment probability, P&L projections, roll candidates, comparison table) and the local TWS/IB Gateway requirement. However, it does not explicitly state whether the tool is read-only or may place trades, and it omits potential failure modes or authorization requirements.

    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 compact and front-loaded: a one-line purpose, followed by output highlights, a prerequisite, and a concise parameter list. There is no filler or redundant repetition of the schema; every sentence adds value.

    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?

    The description is complete for the tool's complexity: all parameters are documented, outputs are enumerated, and important context (local gateway requirement) is provided. It lacks only minor details such as error conditions or market data subscription requirements, but these are not critical for basic tool selection and invocation.

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

    Parameters5/5

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

    The input schema provides no descriptions (0% coverage), so the description's Args section is essential. It explains all five parameters: port with live/paper examples, account as optional, symbols as comma-separated filter, min_roll_dte with default, and price_mode with 'mid'/'last' semantics. This fully compensates for the schema gap.

    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 opens with 'Analyze PMCC (diagonal call spread) positions and recommend roll actions,' which clearly identifies the tool's verb and resource. It further details the outputs (assignment probability, P&L projections, roll candidates) but does not explicitly differentiate from sibling tools such as spread_diagonal or ib_find_short_roll.

    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 provides clear prerequisite context: 'Requires TWS or IB Gateway running locally.' It also explains optional filtering by symbols and account, which helps the agent understand when these options are relevant. However, it does not explicitly state when to prefer this tool over alternatives or when not to use it.

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

  • Behavior3/5

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

    There are no annotations, so the description carries the full burden. It discloses the output content (insider name, role, transaction type, shares, etc.) and the SEC Form 4 source, but does not mention potential limitations like data freshness, rate limits, or geographic scope. The 'Get' verb implies read-only, but it does not explicitly confirm safety or behavior.

    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 front-loaded with a clear purpose statement, then lists return fields and parameters in a compact, scannable format. Every sentence earns its place with no unnecessary fluff.

    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 simple two-parameter tool with no output schema, the description adequately covers return values (transactions with fields and sentiment summary) and parameter usage. It lacks some contextual details like error handling or data limitations, but for this complexity level, it is nearly complete.

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

    Parameters5/5

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

    With zero schema coverage, the description fully documents both parameters. It explains symbols format ('Single ticker or comma-separated list') and days_back meaning ('Trailing days to look back (default 90)'). This adds significant value beyond the bare schema.

    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 clearly states the tool's purpose: 'Get insider trading activity (SEC Form 4) for one or more stocks.' It uses a specific verb (Get), names the resource (SEC Form 4 insider trading activity), and distinguishes it from sibling tools like stock_quote or fundamentals.

    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 by specifying what data it returns, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. It lacks direct guidance on when to choose this over sibling tools like news_sentiment or fundamentals.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that it returns top N ranked symbols and lists the technical indicators used, but it does not cover error handling, data source caveats, or explicitly confirm it is a read-only operation.

    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 compact and front-loaded: the first sentence gives the core purpose, the second summarizes the output, and the Args block provides structured parameter details. Every sentence earns its place with no fluff.

    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?

    Given the tool's straightforward nature (3 flat parameters, no nested schemas, no output schema), the description covers the essential inputs, output, and methodology. However, the lack of annotations and absence of a detailed return-value format (e.g., whether scores are included alongside symbols) leave minor gaps.

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

    Parameters5/5

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

    The schema has 0% property description coverage, leaving the description's Args section as the only source of parameter meaning. It fully compensates by explaining that symbols are comma-separated, top_n controls the count, and period supports 1mo/3mo/6mo, giving clear semantic context for each field.

    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 states a specific action ('Scan symbols for bullish trends') with the methodology (SMA, RSI, MACD, ADX) and the output (top N by composite score). This clearly distinguishes it from sibling scanners like scan_pmcc and whale_hunting.

    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 its usage for scanning symbols to find bullish trends, but it does not explicitly state when to choose this over alternatives like technical_indicators or scan_pmcc. No alternatives are mentioned and no exclusions are given, so the guidance remains at an implied level.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It explains the external dependency (local TWS/Gateway) and lists return fields, but does not explicitly disclose read-only safety or error handling behavior. The 'Get' verb implies read-only, yet it could be more explicit.

    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 concise and front-loaded: a single clear verb-object sentence followed by essential details and parameter docs. Every sentence adds value; no fluff.

    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 simple one-parameter tool with no output schema, this description is complete: it covers purpose, prerequisites, return fields, and parameter meaning. It lacks potential error scenarios or output format details, but those are not critical for a basic account summary.

    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 schema only provides a title and default for the port parameter. The description adds meaningful semantics by explaining that 7496 is for live and 7497 for paper trading, which is beyond schema information. This adequately compensates for the 0% schema description coverage.

    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 clearly states the tool's purpose: 'Get account summary from Interactive Brokers' and enumerates specific fields (cash balance, buying power, net liquidation value, margin info). This distinguishes it from sibling tools like ib_portfolio or ib_trades_history.

    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?

    Provides a clear prerequisite ('Requires TWS or IB Gateway running locally') and the port distinction between live and paper trading. Does not explicitly mention alternatives or exclusions, but the context is sufficient for most use cases.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavior. It clearly states it generates a report and analyzes positions, and mentions the local TWS/IB Gateway requirement. However, it does not explicitly state whether it places orders or is strictly read-only, nor does it describe side effects or data confidentiality, leaving some behavioral ambiguity.

    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 well-structured and concise: a clear purpose sentence, a one-line method explanation, a prerequisite sentence, and a tidy parameter list. No redundant fluff; every line carries useful information.

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

    Completeness3/5

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

    The description covers purpose, method, prerequisites, and parameters adequately. However, it does not describe the output format or what the report contains beyond 'recommends put protection', and it omits whether the tool executes trades. Given there is no output schema, more detail on return value or side effects would be helpful.

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

    Parameters5/5

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

    The input schema has no descriptions (0% coverage), so the description fully compensates by explaining every parameter: symbol (with example AAPL), port (with live/paper port numbers), and account (with optional designation). This adds practical meaning beyond bare schema titles.

    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 begins with 'Generate tactical collar strategy report for protecting PMCC positions', which is a specific verb ('generate') and resource ('collar strategy report') with clear context. It further explains it 'Analyzes existing long call (PMCC) positions and recommends put protection', distinguishing it from other option strategies and related tools like ib_pmcc_advisor.

    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 states when to use the tool ('through earnings or high-risk events') and prerequisites ('Requires TWS or IB Gateway running locally'). It does not explicitly exclude alternatives or list when not to use it, but the context is clear enough for basic selection among siblings.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses auto-detection logic and the prerequisite of TWS/IB Gateway, but it does not explicitly state whether the tool places orders or only performs analysis. The word 'find' implies read-only, but this is not clarified, nor is the output behavior described.

    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 well-structured with a summary sentence, a bulleted list of modes, a prerequisite statement, and a concise parameter list. It is appropriately sized, front-loaded with purpose, and every sentence adds value.

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

    Completeness3/5

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

    Given the tool's complexity and lack of output schema, the description does not explain what the 'candidates' output looks like or provide examples of results. It covers purpose and parameters well but leaves out return format and potential error conditions, making it incomplete for a tool of this sophistication.

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

    Parameters5/5

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

    Despite 0% schema description coverage, the description includes an Args section that explains every parameter (symbol, port, account, strike, expiry, right) with examples, defaults, and auto-detection behavior. This fully compensates for the schema's lack of descriptive text.

    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: 'Find roll, spread, or covered call/put candidates using real-time IB data.' It clearly distinguishes itself from sibling tools by explaining the auto-detection mode based on existing positions (short option, long option, long stock), which is a unique feature.

    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 provides clear usage context by specifying the three position-based modes and the requirement for TWS or IB Gateway running locally. However, it does not explicitly mention alternatives or when not to use this tool, so it lacks explicit exclusion guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It indicates a read-only operation ('List') and discloses the external dependency (TWS/IB Gateway). However, it doesn't explain connection failure behavior, rate limits, or return format, leaving some transparency gaps.

    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 concise and well-structured: a one-line purpose, a prerequisite note, and a simple Args list. Every sentence adds value, and the format is easily scannable.

    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 simple listing tool, the description covers the core aspects: what, prerequisite, and parameters. It lacks an explicit description of the return value or error handling, but given the tool's simplicity and the presence of sibling tools for related data, this is reasonably complete.

    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 0%, so the description compensates by explaining symbol as ticker and port with specific values for live/paper. This adds meaning beyond the schema's bare property definitions, though it could also clarify the port default more explicitly.

    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 clearly states the tool lists available option expiration dates from Interactive Brokers, using a specific verb and resource. This distinguishes it from the sibling 'option_expiries' tool, implying a dedicated IB integration.

    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 provides clear context by requiring TWS or IB Gateway running locally and explains the port distinction for live/paper trading. It doesn't explicitly mention alternatives or when not to use, but the IB-specific context is sufficient for basic usage guidance.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It explains the output and criteria, but doesn't disclose whether it requires authentication, how it handles invalid symbols, or any data-source dependencies. It is adequate but not rich.

    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 concise, front-loaded with the core purpose, and uses a clear Args section. Every sentence adds value without unnecessary fluff.

    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 single-parameter tool with no output schema, the description covers the essential aspects: what the score measures, the range, and the input. It doesn't detail the return format or error behavior, but it is sufficiently complete for a simple financial calculator.

    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 schema only provides the title 'Symbol' with no description, but the tool description adds 'Ticker symbol', clarifying the expected value. This is a meaningful improvement over the schema, though it could give examples or formatting hints.

    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 ('Calculate') and resource ('Piotroski F-Score'), clearly stating the metric's range (0-9). It distinguishes itself from sibling tools like fundamentals or stock_quote by naming the unique scoring methodology.

    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 states the tool evaluates financial strength, which implies its use case. However, it doesn't explicitly mention alternatives or when not to use it, lacking exclusions that would earn a 5.

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

  • Behavior3/5

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

    With no annotations, the description must carry the full burden of behavioral disclosure. It states the core computation ('compute price correlation matrix') and implies a return value (the matrix), but does not explicitly mention side effects, data source, or error handling. For a simple calculation tool, this is adequate but not rich in behavior detail.

    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 concise, with two clear sentences and a terse Args list. It front-loads the main purpose, then adds supporting detail without redundancy. Every sentence earns its place, and the structure is easy to parse.

    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?

    Despite being a simple tool, the description covers the core functionality, output type (correlation matrix), and parameter details. It does not mention edge cases or return format nuances, but given the absence of an output schema and the tool's simplicity, the description is sufficiently complete for an agent to use it correctly.

    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 schema provides no descriptions for the two parameters, but the description compensates by specifying the format for symbols ('comma-separated ticker symbols'), the minimum count ('minimum 2'), and the allowed values for period ('1mo, 3mo, 6mo, 1y'). This goes beyond the schema's structural details and gives the agent the information needed to invoke the tool correctly.

    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 'Compute price correlation matrix between multiple symbols,' which is a specific verb+resource pair that clearly distinguishes it from sibling tools like price_history or risk_assessment. The mention of 'multiple symbols' further clarifies its scope and differentiates it from single-symbol tools.

    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 phrase 'Useful for portfolio diversification analysis' provides clear contextual guidance for when to use the tool. However, it does not explicitly state when not to use it or name alternative tools, though the context is sufficient to infer appropriate usage.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It does add useful context about the return content (BMO/AMC, EPS estimates), but it does not disclose output structure, edge cases, or any side effects. This is adequate but has gaps.

    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 extremely concise: one sentence for purpose and an 'Args' block for the parameter. It is front-loaded and every word adds value.

    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 single-parameter tool with no output schema or annotations, the description is reasonably complete. It states what data is returned and how to pass the parameter. Minor gaps exist, such as defining 'upcoming' and the exact output shape, but these are not critical.

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

    Parameters5/5

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

    The schema provides only a title and type for 'symbols', so the description compensates fully by explaining the format (single or comma-separated list) and giving concrete examples. This is exactly what the agent needs to correctly populate the parameter.

    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 clearly states the action ('Get') and the resource ('upcoming earnings dates') with additional details about timing (BMO/AMC) and EPS estimates. It is specific and distinguishes itself from sibling tools, none of which focus on earnings calendars.

    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 clearly implies when to use the tool (to retrieve upcoming earnings dates and estimates) and provides a parameter example. While it doesn't explicitly discuss alternatives, no direct sibling alternative exists, so the context is sufficient.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses the read-only nature via 'Return' but does not specify return type, format, or potential errors. For a 0-parameter tool this is adequate though minimal.

    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 sentence with no superfluous words, front-loaded with the action and resource.

    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?

    Given the tool's trivial nature, the description is sufficient. No output schema exists, but the expected return value is clear from the description.

    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?

    There are no parameters, so the schema provides complete coverage. The baseline of 4 applies; no parameter descriptions are needed.

    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 the specific verb 'Return' with the resource 'current version of the trading-skills package', clearly distinguishing it from sibling tools that focus on market data and portfolio operations.

    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 implies the tool is used when you need the package version, and there are no alternative tools for this purpose. While it does not explicitly state exclusions or alternatives, the context is clear enough for a trivial version query.

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

  • Behavior4/5

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

    Without annotations, the description discloses a key prerequisite (TWS/IB Gateway running locally) and explains the account selection behavior ('uses first if not specified'). It also states the return includes market prices, giving insight into output. No contradiction with annotations exists since none are provided.

    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 compact and front-loaded with the tool's purpose, followed by a short return summary, a prerequisite, and an Args section. Every sentence provides useful information without redundancy.

    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?

    The description covers the tool's purpose, return content, prerequisite, and parameters, but since there is no output schema, it does not detail the exact return shape or error conditions. For a read-only position-getter, this is adequate but not exhaustive.

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

    Parameters5/5

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

    The description adds meaning beyond the schema by explaining the port values ('7496 for live, 7497 for paper') and the optionality/behavior of the account parameter. This compensates for the 0% schema description coverage.

    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 the specific verb 'Get' with resource 'portfolio positions' from Interactive Brokers, and clarifies it returns all positions with stocks/options and market prices. This clearly differentiates from siblings like ib_portfolio_action_report, which concerns action reports.

    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 provides a clear context: it returns portfolio positions and requires TWS or IB Gateway running locally. It does not explicitly mention alternatives, but the description of the tool is sufficient to infer when to use it. The optional account parameter is also clarified.

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

  • Behavior4/5

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

    With no annotations, the description discloses the underlying mechanism (Yahoo Finance scan followed by Massive API drill-down), environment variable requirement, and fallback to daily data if the API key is unavailable. This gives a good sense of the tool's safety and dependency profile, though it stops short of describing the output structure.

    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 well-structured: a clear one-liner, a brief process explanation, a requirement note, and a parameter list. Every sentence adds value and is appropriately sized for the tool's complexity.

    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 complex analysis tool with no annotations or output schema, the description covers the operation flow, dependencies, and all parameters, but it doesn't explain the return value format beyond the optional summary flag. This is a notable omission but the overall context is fairly complete.

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

    Parameters5/5

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

    The schema has no descriptions, but the description includes an 'Args' section that explains every parameter: symbol, max_months, trading_date, sigma_z, and summary, including defaults and formats. This fully compensates for the 0% schema coverage.

    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 'Detect institutional whale option activity for a given underlying,' providing a specific verb and resource. The two-step approach further distinguishes it from sibling option tools like option_chain and option_greeks.

    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 clearly implies its usage context: identifying unusual institutional option activity, and it specifies prerequisites (MASSIVE_API_KEY) and fallback behavior. However, it doesn't explicitly compare with alternative tools or state when not to use it.

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

  • Behavior4/5

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

    With no annotations, the description carries full weight for behavioral disclosure. It covers key behaviors: the 7-day default limit, the FlexReport fallback, the local gateway requirement, and the merging/deduplication of multiple query IDs. However, it doesn't mention error conditions or authentication details, though 'Fetch' implies a read-only operation.

    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 well-structured: a one-sentence purpose, a brief summary of return content, a concise explanation of data sources, and a clear Args block. It is front-loaded with the action and avoids fluff, with each sentence providing necessary information.

    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?

    Despite no output schema, no annotations, and 7 parameters, the description is remarkably complete. It explains the two modes, all parameter defaults and formats, the local gateway prerequisite, and the edge case of 365-day limits per FlexReport query. Missing pieces like exact return structure are not critical given the absence of an output schema, and the description provides enough context for correct invocation.

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

    Parameters5/5

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

    Schema description coverage is 0%, but the description's Args section fully compensates by explaining every parameter: port numbers for live/paper, account behavior when omitted, symbol filtering with example, date formats with defaults, and flex_token/flex_query_id semantics including list merging for 365-day limits. This adds substantial meaning beyond the bare schema.

    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 'Fetch trade executions from Interactive Brokers,' clearly stating a specific verb and resource. It further distinguishes itself by detailing the return content (fills, commissions, realized P&L, aggregated summary) and the two data-source modes (live API vs FlexReport), making it distinct from sibling tools like ib_portfolio_action_report.

    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 explains when to use the live API (~7 days history) versus FlexReport (full history) with token and query ID. It also notes the prerequisite of TWS/IB Gateway running locally. While it doesn't explicitly exclude alternatives or compare to siblings, it gives clear context for choosing the appropriate execution path.

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

  • Behavior5/5

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

    No annotations are provided, so the description carries full burden. It discloses dry-run default, stop price formula, basis choice, forced behavior, cancellation of orphan orders, combo BAG orders, and prerequisite. This is rich behavioral context beyond just 'places stop-loss orders.'

    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 moderately long but well-structured; the formula and arg list are efficient. No filler sentences; each sentence adds operational detail.

    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?

    Given 8 params and no annotations, the description covers purpose, behavior, formula, prerequisites, and all args. It doesn't detail return values, but no output schema exists and the behavior is sufficiently described for an agent to invoke correctly.

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

    Parameters5/5

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

    Schema has 0% description coverage, so description compensates fully. It explains each parameter's purpose, format, defaults, and relationships (e.g., forced requires execute=True). This adds significant meaning beyond the schema's titles and defaults.

    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 'Analyze and manage downside stop-loss orders for PMCC, naked LEAPS, and stock positions' — a specific verb+resource+scope. It clearly differentiates from sibling tools like ib_trailing_stop by specifying position types and downside protection.

    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 states default dry-run mode and when execute=True is required, and mentions prerequisites (TWS running). It doesn't explicitly name alternative tools, but the context makes usage clear for downside stop-loss management. It lacks explicit exclusions but provides sufficient context.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the dry-run default, the effect of execute=True ('Cancel orphan TS_ orders and place new TRAIL orders'), and forced behavior ('Cancel and replace existing TS_ orders with current parameters'). However, it does not describe the return value or what happens to previously placed orders when not forced, leaving some behavioral ambiguity.

    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 well-structured: a purpose statement, critical safety note, exclusion/alternative, and a concise parameter list. Every sentence earns its place, and the parameter list is formatted as easy-to-scan items. No fluff or redundancy.

    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 an 8-parameter trading tool with no annotations or output schema, the description covers purpose, usage, prerequisites, and parameter semantics thoroughly. It lacks a description of the return value or output format (e.g., what happens after execution), which would make it fully complete. Given the tool's complexity, this is a minor but noticeable gap.

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

    Parameters5/5

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

    Despite 0% schema description coverage, the description provides detailed semantic meaning for all 8 parameters, including defaults, examples, mutual exclusivity (trail_pct vs trail_amt), and mode-specific behavior (price_mode 'last' for LEAPS only). This fully compensates for the missing schema descriptions and goes beyond listing names.

    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+resource: 'Manage IB native TRAIL orders for stocks and naked LEAPS positions.' It clearly distinguishes from the sibling tool ib_stop_loss by scoping to stocks/naked LEAPS and explicitly excluding PMCC positions, which is a strong differentiator.

    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 provides explicit guidance: 'Default mode is dry-run — no orders are placed unless execute=True' covers safe invocation, and 'PMCC positions are excluded; use ib_stop_loss for those' names an alternative tool for the excluded case. It also states a prerequisite (TWS or IB Gateway running locally), which is actionable context for when to use this tool.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

trading_skills MCP server

Copy to your README.md:

Score Badge

trading_skills MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/staskh/trading_skills'

If you have feedback or need assistance with the MCP directory API, please join our Discord server