Finance MCP
Server Quality Checklist
Latest release: v0.3.1
- Disambiguation5/5
Each tool targets a distinct resource or action; even overlapping areas like company profile vs financials or options chain vs analytics are explicitly differentiated in descriptions. The tools are clearly separated by domain and purpose.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern, with data retrieval using 'get_' and actions using specific verbs like 'draft', 'cancel', 'set', 'scan', and 'validate'. The naming scheme is uniform and predictable.
Tool Count2/5With 36 tools, the server exceeds the 'too many' threshold (25+). While the finance domain is broad, the sheer number of tools makes it heavy and potentially overwhelming for an agent, despite each tool having a clear purpose.
Completeness4/5The tool set covers a comprehensive finance/trading workflow—account management, orders, market analysis, fundamentals, SEC filings, options, macro data, portfolio risk, and journaling. Minor gaps exist, such as no direct order execution (by design) and no watchlist management, but these are not critical.
Average 4.2/5 across 36 of 36 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 89 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.
This repository includes a glama.json configuration file.
This server has been verified by its author.
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context beyond these hints—it does not explain what 'working orders' means, whether it reflects live broker state, or any rate limits/pagination. It is a minimal restatement of the title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short ('Working orders on the configured broker account'), making it concise. However, it is under-specifying and reads as a sentence fragment rather than a complete, informative statement. It is not as well-structured as descriptions that use a full sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a very simple tool with no parameters and no output schema, but the description is still incomplete. It does not state return format, whether results are sorted, what statuses qualify, or any caveats. The sibling tool 'get_open_positions' suggests a potential confusion point, and the description does not address it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema provides full coverage. The description does not need to explain parameters. A baseline of 4 is appropriate given the zero-parameter structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Get Open Orders' combined with the description 'Working orders on the configured broker account' clearly indicates the tool retrieves open/working orders. The resource is specific and distinct from siblings like 'get_open_positions' or 'draft_order', though the description itself lacks an explicit verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description is merely a noun phrase and does not mention prerequisites, context, or exclusions. It relies entirely on the tool name for usage 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?
Annotations already declare readOnly, idempotent, non-destructive, and openWorld. The description adds that the tool returns series with month-over-month and year-over-year changes, a specific behavioral characteristic beyond the annotations. It also notes the 'numbers behind the inflation and labour narrative,' providing context on the data's thematic focus. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, readable sentence that front-loads the core function and adds a clarifying phrase. The trailing clause '— the numbers behind the inflation and labour narrative' is slightly ornamental but not wasteful. It is well-structured and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the BLS data source and the output transformation (MoM/YoY changes), but omits the 'markets' source entirely, which is a substantial capability (policy rates, yield curve, financial conditions). Given the tool's moderate complexity and the absence of an output schema, this omission leaves the description incomplete for guiding the agent to the full range of the tool's functions. Annotations and schema compensate, but the description doesn't fully narrate the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of all three parameters with detailed descriptions and defaults. The description itself adds no parameter-specific information, so per the baseline for high schema coverage, a score of 3 is appropriate. The schema handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a resource (historical macroeconomic series) and a specific verb ('Get' in title) with a focus on BLS data and month-over-month/year-over-year changes. It distinguishes from siblings like get_market_analysis or get_economic_calendar by targeting historical data with period changes. However, it narrowly attributes data to BLS while the schema also supports a 'markets' source, making the description partially incomplete but not ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving historical macro series with MoM/YoY changes, but provides no explicit when-to-use guidance or comparison with alternatives like get_economic_calendar or get_market_analysis. It does not mention the 'markets' source option, which affects when it should be selected. This is implied usage rather than explicit direction.
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?
Annotations already provide destructiveHint=true and readOnlyHint=false. The description adds the constraint that only pending or active orders can be canceled and that cancellation happens immediately, but does not disclose other side effects or irreversible consequences beyond what annotations indicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence, front-loading the action and scope. Every word earns its place, with no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation tool with useful annotations (destructiveHint, readOnlyHint), the description covers the core action and a key constraint. It lacks explicit alternative guidance, but the schema and annotations fill most informational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the order_id parameter, including its client_order_id format and how to obtain it via get_open_orders. The tool description adds no parameter details, so the baseline of 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels a pending or active order on the broker account, with a specific verb and resource. It distinguishes from sibling tools like draft_order (creates) and get_open_orders (lists), leaving no ambiguity about its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies usage when an order needs to be canceled, but there is no explicit guidance on when not to use it or comparison with alternatives like preview_order. It is a minimal-viable implied usage, earning a 3.
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?
The annotations already state readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's a safe read. The description adds the specific metrics computed, but does not disclose data sources, calculation methods, or limitations. With annotations covering safety, this meets baseline but adds only marginal 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler words. The description is front-loaded with the action and immediately lists the three comparison aspects, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple comparison tool, the description names the three output areas, which gives a clear expectation of what the result will contain. However, without an output schema, it does not detail the exact return structure or how period_bars affects results, so it is not fully complete. Given the simplicity, a 4 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter definitions (symbol1, symbol2, period_bars). The description adds no parameter-specific semantics beyond what the schema already provides; it focuses on output dimensions. Thus baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Compares' and names three concrete comparison dimensions (relative strength, price correlation, return performance) against two tickers. This clearly distinguishes it from sibling tools that fetch data or analyze single symbols.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when an agent needs to compare two tickers' performance and correlation, but it does not explicitly state when to prefer this over alternatives like get_market_analysis or scan_watchlist. No exclusionary guidance is 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?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the description only adds context that the tool operates on the configured broker account and returns per-currency marks. It does not disclose edge cases or response format details beyond 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the main action and avoids unnecessary words. It is efficiently structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, no-parameter, read-only tool with no output schema, the description provides sufficient context about the resource (open positions), scope (configured account), and a useful detail (per-currency marks). It could clarify what 'marks' mean, but overall it is adequate for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description has no parameter burden. Per the baseline rule for 0 params, a score of 4 is appropriate. The description adds no parameter-related ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves open positions on the configured broker account, with per-currency marks. This specific verb+resource combination distinguishes it from siblings like get_open_orders or get_account_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or direct comparisons to sibling tools. The agent must infer usage solely from the tool's name and basic description.
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?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds the specific sector list and momentum-based methodology, but does not disclose any other behavioral aspects such as output format or potential limitations. This is acceptable but not rich, consistent with a 3 given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and includes only essential details (sector list, momentum approach, purpose). No wasted words, and it is easily skimmed by an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given 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 does not explicitly describe what the agent will receive (e.g., a heatmap, momentum scores, or a rotation ranking). The core purpose is clear, but the lack of return-value information leaves a gap for an agent deciding whether this tool satisfies its need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema trivially covers 100%. The description does not need to explain parameters, and the baseline score of 4 is appropriate because the description avoids unnecessary parameter noise and does not mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Scans the 11 major S&P sector ETFs' to 'identify sector rotation'. This distinguishes it from siblings like get_market_analysis (broad market) or scan_watchlist (user-defined symbols), and the verb+resource+outcome is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when sector rotation analysis is needed, but it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or alternative tools. The use case is clear but not directly 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?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, providing a solid safety profile. The description adds that it tests both the primary feed and its fallback, which is useful behavioral context. However, it does not disclose whether the test performs network calls, its output format, or any potential latency/rate-limit implications. It does not contradict the 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 11 words, front-loaded with the verb 'Tests' and the specific resource. It wastes no words and is easy to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with rich annotations, the description adequately conveys the purpose. It could potentially mention what the output looks like (e.g., success/failure status) but given the tool's simplicity and name, the current description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters, the description does not need to explain parameter details. The input schema is empty and trivially 100% covered, so the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Tests') and identifies a clear resource ('the configured price feed and its Yahoo Finance fallback'). This distinguishes it from sibling data retrieval tools and other validation tools like validate_bls_key, which focus on key validation rather than feed connectivity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied: use this tool to verify that the price feed and fallback are working. However, it does not explicitly state when to use it over alternatives, nor does it mention any exclusions or contexts where it should not be used. Given sibling tools like get_data_sources or validate_bls_key, some contrast would improve clarity.
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?
Annotations already indicate non-read-only, non-destructive, and non-idempotent behavior, but the description adds valuable context: the tool does not execute orders, only creates a draft requiring human approval. This discloses a key side-effect limitation. It omits details about whether the draft is persisted or what happens after approval, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences that front-load the purpose and immediately present the safety rule. Every sentence earns its place with no wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no output schema, the description provides sufficient context: what the tool does, the mandatory manual approval workflow, and the dashboard environment. It lacks explicit return-value or post-approval details, but these are not essential for selecting or invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for all 5 parameters, so the baseline is 3. The description does not add any parameter-specific guidance beyond what the schema already provides. There are no enums or nested objects requiring further explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose with a specific verb ('drafts') and resource ('an order for human review and approval'). It distinguishes the tool from direct order placement via the safety constraint. However, it does not explicitly differentiate from the sibling preview_order, leaving some ambiguity about when to use draft vs preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description delivers an explicit when-to-use guideline: all orders must be drafted and manually approved, so the assistant should use this tool instead of placing orders directly. This is clear and actionable. It does not explicitly name alternatives or when not to use the tool, but the safety rule 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scoping detail 'configured broker credentials can see', which is useful behavioral context not present in annotations. However, it does not describe the return format or any potential limitations, 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is directly to the point, using no redundant words. It front-loads the action and scopes the resource efficiently, earning maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema) and comprehensive annotations, the description is nearly complete. It states what the tool does and its scope. A minor omission is the lack of detail about what 'account info' includes (e.g., balances, IDs), but this is not critical for a list-all tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty and the description appropriately omits parameter details. Per the guidelines, a zero-parameter tool gets a baseline of 4, as there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'lists' and clearly identifies the resource ('every account the configured broker credentials can see'). This distinguishes it from sibling tools that focus on specific data types like positions or orders, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing a list of available accounts, but does not explicitly state when to use it over alternatives or provide exclusion criteria. With numerous sibling tools, more explicit guidance would improve clarity, but the simple scope makes the context reasonably clear.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, covering the safety and side-effect profile. The description adds the Yahoo Finance source and recency ('most recent'), but does not disclose additional behavioral traits such as return format or pagination, which is acceptable given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise—two sentences with no unnecessary words. The first sentence states the action and resource, and the second provides valuable usage context. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters, no output schema, and strong annotations. The description explains the purpose and use case adequately, and the absence of detailed return valua information is forgivable given the nature of the tool and that annotations cover safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (symbol and count), so the baseline is 3. The description adds minimal parameter meaning beyond the schema, only referring to 'a given stock' which maps to symbol; it does not elaborate on count or formatting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Fetches the most recent news headlines for a given stock using Yahoo Finance,' which is a specific verb+resource combination. It is implicitly distinct from sibling tools since no other sibling tool covers news headlines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by stating it is 'Crucial for analyzing fundamental catalysts or identifying the source of technical momentum breakouts.' This tells the agent when to use the tool, though it does not explicitly mention alternatives or exclusions.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the specific data fields returned, which is useful but does not address potential limitations like data source or latency. This is acceptable 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and lists the key metrics. Every word contributes value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with strong annotations, the description adequately conveys what the tool returns. It does not explain output structure, but no output schema exists and the metric names are self-explanatory, so the context is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single parameter 'symbol' with a clear example list. The description adds no additional parameter-level detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetches') and clearly identifies the resource (short interest metrics) with the exact metrics enumerated (Short % of Float, Days to Cover, Shares Short). This distinguishes it from sibling market data tools like get_market_analysis or get_options_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for squeeze or squeeze-fade thesis' provides clear context for when to use this tool, implying it is for short-interest-related analysis. It does not explicitly name alternative tools, but the context is sufficient for a reasonable agent to select 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds meaningful behavioral context by specifying the exact conditions (Volume > OI or IV > 50%) that define 'unusual', which goes beyond what annotations or schema provide. It does not mention return format, but the annotations lower the bar for safety disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately states the action and the key criteria. Every word adds value, with no redundancy or filler, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one required parameter and no output schema, the description is largely sufficient. It covers what the tool does, what qualifies as unusual, and the underlying purpose. It could be enhanced by mentioning the lookback period or return format, but for a simple read-only scan of a single symbol, this is adequately complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the only parameter 'symbol' is clearly described with examples). The tool description does not add significant meaning to the parameter beyond what the schema already provides, but it does place the symbol in the context of the scan. This aligns with the baseline of 3 when schema covers parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Scans' and clearly identifies the resource as 'unusual options activity', with concrete criteria (Volume > Open Interest or high IV > 50%) that distinguish it from sibling tools like get_options_chain or get_options_analytics. The phrase 'to detect smart money positioning' adds a clear purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you want to detect unusual options activity/smart money positioning) but gives no explicit guidance on when not to use it or which sibling alternative to choose. There are no exclusions or named alternatives, so it relies on the inferred use case.
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?
The annotations provide minimal behavioral hints (all false), so the description carries the burden of disclosure. It adds valuable context by mentioning 'atomic file writing' (ensuring data consistency) and 'de-duplication protection' (preventing duplicate entries), which are non-obvious behavioral traits beyond what schema fields convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence states the primary purpose, and the second adds two key behavioral details. No filler or redundancy, and it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write-only journal tool with six fully documented parameters and no output schema, the description adequately covers what it does and key implementation traits (atomicity, de-duplication). It does not mention return values, but that is not essential given the absence of an output schema. The description is sufficiently complete for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not elaborate on individual parameters, but the input schema has 100% coverage, with each parameter already having a meaningful description. Therefore, the description adds no significant parameter-level value, and the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Logs' to state the tool's action, names the resource types ('trade, market thesis, or trading theorem'), and specifies the destination ('local Trading Journal database'). This clearly distinguishes it from sibling read-only tools like get_journal_summary and get_open_positions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for logging journal entries, but it does not explicitly state when to use it versus alternatives, nor does it mention any exclusions or prerequisites. No alternative tools are named in the description, so usage guidance is only implied rather than 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?
The annotations are minimal (readOnlyHint=false, etc.), and the description adds only the qualifier 'local' and example conditions. It does not disclose behavior on trigger, persistence, or side effects, but the annotations do signal a non-read mutation, lowering the bar for additional disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and object, and includes examples in parentheses. There is no wasted text or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low complexity (4 params, no output schema, no nested objects), and the schema covers all parameters. The description and schema together specify the essential behavior; the absence of return-value documentation is acceptable for a simple mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage of all parameters, so the baseline is 3. The description adds practical examples ('RSI < 30', 'PRICE > 250') that illustrate how condition and target_value combine, providing extra semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets') and the object ('a local price or technical indicator alert'), with concrete examples ('RSI < 30' or 'PRICE > 250'). This distinguishes it from the many read-oriented sibling tools such as get_ohlcv and get_market_analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you want to set an alert) but does not explicitly state when-to-use vs alternatives or provide exclusion criteria. The sibling list contains no other alert-setting tool, so context is clear but not formally articulated.
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?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and idempotency. The description adds meaningful behavioral context: sections are fetched concurrently, each section is labelled with how much weight its numbers carry, and it distinguishes between figures from filings versus third-party feeds. This goes beyond the annotations and helps the agent trust the data quality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized, with a strong front-loaded opening sentence. It includes useful context about concurrency and data provenance that earns its place. It is not as terse as a two-sentence ideal but remains well-structured and without redundancy, so a 4 is suitable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining what the response contains (sections, weighting of numbers, concurrent fetching) and the overall intent of a comprehensive profile. It does not enumerate all return fields, but the sections parameter in the schema lists the datatypes covered, and the description's concepts are sufficient for an agent to understand expected output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with detailed descriptions for 'symbol', 'detail', and 'sections'. The description adds no parameter-specific semantics beyond the schema, but the schema already provides ample guidance. Since the baseline for high coverage is 3, this score reflects that the description is not required to compensate and does so adequately via the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Everything worth knowing about a company, in one call. Start here.' It specifies the resource (company profile) and differentiates from siblings by framing it as the initial hub tool for 'tell me about X' queries, listing the types of information covered (business, SEC filings, insider activity, market, stock trading).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells users to 'Start here' and positions the tool as the default entry point for broad company inquiries, eliminating the need to know which other tool to use. It implies using more specialized sibling tools later for depth, but does not explicitly name alternatives or state when not to use this tool, so a 4 is appropriate.
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?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful interpretive context about how the data is categorized (discretionary vs. 10b5-1, compensation mechanics), which helps the agent understand the output's significance. It does not mention potential limitations like filing delays or coverage gaps, but with strong annotations this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is about 100 words across two paragraphs, but every sentence earns its place. The bolded 10b5-1 distinction and the explanation of compensation mechanics are substantive and not filler. It is front-loaded with the core purpose, though it could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description effectively communicates the key output dimensions: who traded, when, at what price, and whether the trade is 10b5-1 or a compensation event. This is sufficient for an agent to know what to expect. It does not document pagination or error behavior, but the 'limit' parameter and openWorldHint partially cover that. Given the interpretive complexity, the description is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are fully described in the input schema (100% coverage), so the baseline of 3 applies. The description adds no parameter-level details beyond what is in the schema, such as format hints for 'since' or examples for 'person'. It provides no extra semantic value for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Parsed SEC Form 4 insider transactions', and immediately enumerates the key data points (who, when, price, and 10b5-1 plan status). This clearly distinguishes the tool from sibling tools like get_edgar_filings or get_institutional_holdings by emphasizing the insider-trading focus and the plan-classification nuance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when interpreting insider sales, particularly to separate pre-scheduled 10b5-1 sales from discretionary ones, as highlighted by 'That distinction is the whole point.' However, it does not explicitly name alternative tools or state when not to use it, so it stops 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the bar for added value is lower. The description adds a crucial behavioral nuance—positions are merged across separate fund rows (e.g., Berkshire's Apple across 12 rows)—which prevents undercounting. It also discloses accepted identifiers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy: the first states purpose and output order, the second explains a non-obvious data-integrity detail. Every word is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with good schema coverage and safe annotations, the description covers the essential behavior, input, and output ordering. It doesn't specify the exact fields in each position, but the merging nuance and input flexibility make it adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all three parameters with descriptions (100% coverage). The description reinforces the ticker/CIK alternative and the merging behavior but doesn't add parameter-level detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Latest 13F-HR portfolio for an institutional manager — every reported position, largest first,' using a specific verb and resource, and clarifies input formats (ticker or CIK). This clearly distinguishes it from sibling tools like read_filing or get_edgar_filings by focusing on institutional manager holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context: this is for retrieving a manager's complete 13F portfolio, with a note about merging multiple rows. It doesn't explicitly name alternatives or exclusions, but the specificity implies when it's appropriate.
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?
Annotations already declare read-only and idempotent behavior, and the description adds specific details about the analysis performed (timeframes and score). It does not contradict annotations and provides sufficient context for a safe read 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, straightforward sentence that is front-loaded with the action and includes all necessary detail without waste. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema and strong annotations, the description covers what the tool does and its key inputs. The lack of an output schema is not a major gap since the tool's purpose is clearly to return a 'Confluence Score', though it doesn't detail the response format or score interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'symbol' is fully documented in the schema with a clear example. The description only repeats 'for a symbol' without adding new semantics beyond the schema. With 100% schema coverage, this meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Performs multi-timeframe analysis' and specifies the exact timeframes (Daily, 1-Hour, 15-Min) and the output ('Confluence Score'). It distinguishes itself from sibling tools like get_ohlcv or get_market_analysis by focusing on this specific analysis type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool: when a multi-timeframe confluence score is needed for a symbol. It does not explicitly mention exclusionary conditions or alternative tools, but the purpose is narrow enough that context is clear.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds minimal behavioral context beyond this (e.g., 'raw' data, but no return format, pagination, or rate limits). Given the strong annotation coverage, a score of 3 is appropriate—the description does not contradict annotations but also does not significantly enrich 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and resource, and immediately follows with usage guidance and a sibling alternative. Every sentence earns its place—no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple fetch tool with no output schema, the description sufficiently communicates what the tool returns ('candlestick bars') and when to call it. It lacks explicit return-structure details, but the name and description make the likely output clear. Complete enough given the low complexity and rich annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of parameter descriptions, including defaults for count and interval, and the symbol example. The description adds no additional parameter-level meaning beyond what the schema already documents. Baseline 3 is correct when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as fetching raw OHLCV candlestick bars for a symbol, using a specific verb ('Fetches') and resource ('raw OHLCV candlestick bars'). It also distinguishes itself from get_market_analysis, which provides indicators, making the purpose unambiguous even among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool ('when you need the price series itself — to eyeball recent action or do your own maths') and provides a clear alternative ('For indicators and a reading of them use get_market_analysis'). This is a model of usage guidance, covering both when and when-not.
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?
Annotations already declare readOnly, idempotent, and non-destructive, so the bar is lower. The description adds valuable context about the specific analytics computed (e.g., IV rank against past year, ATM straddle move), which helps the agent understand what to expect. No contradictions with 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the key concept ('beyond a raw chain') and then enumerates the metrics. Every word earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only analytics tool with two parameters and no output schema, the description lists the key returned metrics, providing sufficient context. It could mention the default expiration behavior, but that is already in the schema, so the completeness is good.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both symbol and expiration already described in the schema. The description does not add additional parameter-level details, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it provides advanced options analytics (IV rank/percentile, ATM straddle move, put/call skew, greeks) beyond a raw chain. This differentiates it from sibling tools like get_options_chain and get_unusual_options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'beyond a raw chain' implies the tool is for users needing analytics rather than raw option data, giving clear context. However, it does not explicitly name alternative tools or state when not to use it, 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds valuable interpretive context about high and low volume nodes—calling them 'shelves' and 'breakout levels'—which helps the agent understand the behavioral meaning of the output beyond raw numbers. No contradiction with 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise—three sentences that front-load the core definition and then enrich it with a meaningful interpretive paragraph. Every sentence earns its place: the first defines, the second frames the purpose, and the third explains the significance of the outputs. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description carries the burden of explaining what the agent will receive. It enumerates the key components (point of control, value area, high/low nodes) and interprets them, which is sufficient for an agent to understand the result. It does not specify the exact return structure, but the conceptual completeness is strong given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have schema descriptions covering 100%, so the structural burden is already met. The description does not directly elaborate on parameters, but its conceptual explanation of volume profile indirectly clarifies why parameters like buckets and value_area_pct matter. This meets the baseline for high schema coverage without adding extra semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides volume-by-price data for a symbol, listing specific outputs (point of control, value area, high/low volume nodes). It distinguishes itself from price and oscillator tools by emphasizing the auction-theory perspective, making its unique purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: when you need to understand where the market previously agreed on value and where it refused to trade. It contrasts itself with price and oscillators, implying these alternatives cannot give this reading. However, it does not explicitly name sibling tools or provide when-not-to-use guidance, so it stops short of full explicit alternatives.
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?
Annotations already declare this as read-only, idempotent, and non-destructive. The description adds context about the computation ('consensus score & regime') and the output form ('ranked verdict table'), which goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that front-loads the action and ends with the output artifact. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given full schema coverage, clear annotations, and the absence of an output schema, the description adequately explains the input and the qualitative output. It stops short of detailing the exact fields in the verdict table or explaining the 'regime' concept, but it is sufficient for an agent to understand the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides complete descriptions for both parameters (symbols and interval), achieving 100% schema coverage. The description does not add any meaningful parameter-level details beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it scans a list of tickers, calculates a consensus score and regime, and returns a ranked verdict table. The verb 'scans' is specific and the resource is defined, making it distinct from siblings like get_market_analysis or compare_symbols.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for processing multiple tickers (a watchlist), which is clear context. However, it does not explicitly name alternatives or state when not to use it, though the 'list of stock tickers' wording differentiates it from single-symbol tools.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context about the content (configuration, quota, how to raise limits) and aligns with read-only behavior. However, it does not disclose additional behavioral traits such as return format or potential latency, so with good annotation coverage, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the tool's purpose and followed by a direct usage cue. Every sentence adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema) and strong annotations, the description is complete. It covers what the tool returns (configuration, quota, how to raise limits) and when to use it, which is sufficient for a single-purpose read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (vacuously). Baseline for 0 params is 4, and the description doesn't need to explain parameter semantics. It communicates the tool's subject matter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Configuration and remaining quota for every external data source' plus 'how to raise the limits.' It uses specific verbs and resources without ambiguity, and it distinguishes this tool from siblings like get_account_info or check_connection by focusing on data source quota and configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: 'Use this when a data tool fails or seems rate-limited.' It does not explicitly mention alternatives or exclusions, but the usage scenario is specific and actionable.
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?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds the 'local DB' detail, indicating a local query rather than a network call, which is useful context. However, it does not disclose return format or behavior for empty journals, so 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the verb 'Queries', lists the data fields, and contains no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description lists all relevant return data categories (win rate, total trades, average confidence, recent trade logs). Even without an output schema, the tool's behavior is fully described for its intended use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, so parameter coverage is trivially 100%. With zero parameters, the description does not need to explain any parameter semantics, and the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Queries' and names the resource 'local Trading Journal DB', followed by explicit data fields (win rate, total trades, average confidence, recent trade logs). This clearly distinguishes it from sibling tools like log_journal_entry, which writes to the journal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need journal summary statistics) but does not explicitly state exclusions or alternatives. The sibling list includes log_journal_entry as the write counterpart, so the read vs. write distinction is implicit but not spelled out.
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?
Beyond the annotations (readOnlyHint, idempotentHint), the description reveals significant behavioral nuances: the tool explicitly flags whether a date is confirmed or estimated, explains that both can look identical, and describes the SEC 8-K verification process. This adds critical context for interpreting results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with three focused paragraphs: outputs, the critical caveat, and the verification method. Every sentence adds value, and the most important information (confirmed vs estimated) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although there is no output schema, the description sufficiently covers the main outputs (earnings date, EPS estimates/actuals, confirmation status) and explains the underlying process. It does not specify the exact return format, but the core functionality is well contextualized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the baseline is 3. The description briefly mentions SEC confirmation but does not explain the effect of setting confirm_with_sec to false, leaving a small semantic gap that the schema's parameter description already partially covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: providing next earnings date, historical EPS estimates vs actuals, and crucially distinguishing confirmed vs estimated dates. This is specific and differentiates it from sibling tools like get_company_financials or get_news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by highlighting the problem with Yahoo's estimated dates and the importance of SEC confirmation. It doesn't explicitly name alternatives or exclusions, but the context strongly signals the use case for reliable earnings dates.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful context beyond annotations by disclosing the output highlights (IV rank, expected move) and the strike selection methodology (bracket spot). This is useful behavioral detail without contradicting 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, each with specific value. The first communicates the core output, the second explains strike selection and directs to siblings. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description effectively communicates what the tool returns and why it matters. It covers the key outputs, the strike selection rationale, and sibling tools for extended needs. Minor gaps exist around exact response format or edge cases, but for a read-only data retrieval tool this is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter entries for symbol, strikes, and expiration. The description does not add new parameter-level details beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving an option chain around the money, with IV rank and expected move. It explicitly distinguishes itself from siblings by naming get_options_analytics and get_unusual_options as alternatives for different needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'For greeks and put/call skew as well, call get_options_analytics; to hunt unusual flow call get_unusual_options.' Also clarifies that strikes bracket spot rather than being pulled from one end, which shapes appropriate use.
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?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable context by specifying exactly what is analyzed (P&L, concentration, volatility/beta) and what it highlights (over-concentration, correlated clusters), going beyond the generic safety hints without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and every phrase contributes specific information (scope, metrics, and risk flags). There is no filler or redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description conveys the purpose, the analysis targets, and the key outputs (highlights). It could be slightly improved by explicitly stating the return format (e.g., 'returns a risk report'), but given the simple nature and strong annotations, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty with 100% coverage. Per the rubric, a zero-parameter tool receives a baseline of 4. The description naturally does not need to explain parameters, and it does not introduce any ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Analyses' with a clear resource 'the live account' and enumerates concrete aspects (position-level P&L, concentration, volatility/beta vs SPY). This distinguishes it from siblings like get_account_info (general account details) and get_open_positions (raw positions) by focusing on risk analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when the user needs a risk assessment of the live portfolio, including volatility, concentration, and correlation analysis. It does not explicitly name alternatives or exclusions, but the context is unambiguous given the specific risk-oriented wording.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read. The description adds behavioral context beyond annotations by explaining that the tool performs a diff against a supplied timestamp and covers specific categories (filings, macro, price moves). It doesn't describe the return format, but given the strong annotation coverage, the additional context earns a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight paragraphs: the first defines the tool's purpose, the second explains why it exists relative to alternatives. Every sentence earns its place, with no filler or redundancy. It is concise yet information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters, no output schema, and many data-retrieval siblings. The description covers purpose, usage, and update categories, which is enough for an agent to select and invoke it correctly. It could mention return structure or pagination, but the core context is adequately covered given the tool's moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'timestamp you supply' only echoes the 'since' parameter's schema description without adding new meaning. It does not clarify parameter interactions or edge cases beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'What has actually changed since a point in time' and enumerates specific update types (SEC filings, macro releases, outsized price moves), giving a clear verb+resource+scope. It also distinguishes itself from siblings by stating 'Every other tool here answers what is true now', making its unique role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states this tool answers 'what is new' and warns that doing so without it means 'refetching everything and diffing by hand, which is expensive and easy to get wrong.' This directly tells the agent when to use this tool versus alternatives, fulfilling the dimension's requirement for explicit when-to-use guidance.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral detail about the character budget (with a concrete token-size example) and the 'latest filing' semantics, which clarifies that no filing date parameter is needed. It aligns with annotations and provides context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose. The second sentence uses a concrete Micron 10-K example to justify the budget limit, earning its place. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides a reasonable picture of behavior: it returns a portion of text under a character budget. Combined with annotations (read-only, idempotent) and a thorough schema, it is complete enough for a content-extraction tool. It could mention what happens if a section isn't found, but that's a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the relationship between section and query modes ('Read a named section... or search its text') and by introducing the 'character budget' concept tied to the budget parameter. It also clarifies 'latest filing' implications, which helps interpret the symbol/form parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific function: 'Read a named section out of a company's latest filing, or search its text.' This identifies the verb (read/search), the resource (company filing), and distinguishes it from siblings like get_edgar_filings (which likely lists filings). The scope is precise and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it explains that filings are too large to hand over whole, and this tool locates and returns sections under a character budget. It implies use cases (extracting a specific section or searching) without explicitly naming alternatives or saying when not to use it. This is 'clear context, no exclusions'.
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?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the agent knows it's a safe read-only calculation. The description adds the specific calculation logic (shares such that stop loss costs no more than risk_percent) and the extra ATR-based stop distance output, going beyond the annotation information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and the second sentence adds one useful extra output detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, 100% schema coverage, and no output schema, the description fully explains what the tool computes and what it returns (shares and ATR stop distance). The read-only annotations cover side effects, so no further behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all five parameters described in the schema. The description does not add significant parameter-level meaning beyond what the schema already provides; it's consistent with the schema's definitions of risk_percent and stop_loss_price.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('sizes a position') and explains the risk-based method, clearly distinguishing it from order-entry tools like draft_order. It also mentions the ATR stop distance, further clarifying its calculation role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a risk-based position size is needed ('rather than gut feel'), but it does not explicitly name alternatives or state when not to use. Among siblings like draft_order and get_portfolio_risk, the description gives enough context to infer its purpose, but lacks explicit exclusions.
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?
Goes well beyond the readOnly/idempotent annotations by explaining the three live sources, the free/keyless nature, the inclusion of actual vs. previous prints, and the labeling of comparisons. This is valuable behavioral context that prevents misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear main function, followed by source details and a caution about interpretation. Each sentence carries meaningful information without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with complete schema and annotations, the description fully explains the data content, source coverage, and how to interpret the readings. It is complete for an agent to decide whether to use it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all four parameters, so the baseline is 3. The description does not add parameter-specific details beyond the schema, but it does not need to; the schema fully documents them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: listing upcoming US macroeconomic events with scheduled dates/times and actual or previous readings. It distinguishes itself from sibling tools like earnings or news by focusing on macro data releases from specific sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context about the data scope (US macro, specific sources) and explicitly warns about the lack of consensus/forecasts and the misinterpretation of 'prior' figures. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls just 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, and the description reinforces this with 'Non-binding and safe' and 'WITHOUT placing it'. It adds new behavioral context by specifying the return values (estimated cost, transaction fee, buying-power comparison), which the schema and annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, with the core purpose front-loaded. Every sentence contributes value: what it does, what it returns, and when to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, the schema is thorough, and the description covers purpose, safety, return info, and usage guidance. With annotations handling the safety profile, no critical gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema describes all 5 parameters with 100% coverage. The description does not elaborate on parameter usage, but the schema already provides default values and constraints, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately identifies the tool as a validation/preview action ('price and validate an order WITHOUT placing it'), using a specific verb and resource. It clearly distinguishes from sibling draft_order by emphasizing no order is placed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to 'Use this before draft_order to check affordability and fees', naming the alternative and providing a concrete use case. This exceeds a simple when-to-use statement.
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?
Although annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, the description adds a critical behavioral nuance: a mistyped key does not raise an error but silently drops to the unregistered 25/day limit. This warning goes beyond simple safety metadata and informs the agent of a failure mode that would otherwise be invisible until days later.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose in the first sentence, and the second paragraph adds essential context without repetition. Every sentence earns its place, and there is no padding or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is complete. It covers what the tool does, why it exists, when to run it, and a critical pitfall. No further information is needed 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.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the key parameter is fully described in the input schema, including the omission behavior. The description reinforces the context (testing after setting BLS_API_KEY) but does not add new semantic details about the parameter itself beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Test a BLS registration key against the live API and report which tier it unlocks.' This uses a specific verb, resource, and outcome. It is distinct from sibling tools like check_connection or get_account_info, which serve broader or different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Run this once after setting BLS_API_KEY.' It also explains why this is necessary—a mistyped key silently downgrades to the unregistered limit—giving the agent a clear decision rule. It doesn't explicitly name alternatives, but the context is sufficient for a single-purpose validation tool.
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?
Annotations already mark it read-only and idempotent; the description adds valuable behavioral context: data source (SEC EDGAR XBRL), provenance of each figure (form and filing date), and the absence of third-party transformation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences in the first paragraph list concrete data points; the second paragraph is a crisp usage directive. Every sentence serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read-only tool, the description covers what data is returned (with field list), data source, and reliability context. No output schema exists, but the returned items are enumerated, making the tool self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage for the single parameter 'symbol' with a clear example. The description adds no additional parameter-level detail, so it remains at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves headline financials from SEC EDGAR XBRL filings, naming specific metrics (revenue, net income, EPS, etc.). It distinguishes itself from the sibling get_company_profile by emphasizing it uses the actual filing rather than a third-party summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to prefer this tool over get_company_profile when accuracy matters and provides the reason ('filing itself, not a third-party summary'). This is a clear when-to-use directive with an identified alternative.
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?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds substantial behavioral context: real-time feed timing, timestamp precision, full-text search scope (2001-present), and firehose behavior. This goes well beyond the annotations and enriches the agent's understanding of what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise despite covering three modes. It front-loads the core purpose, then uses a clean bullet-style list for the modes. Every sentence serves a purpose, and no repetition of schema or annotation content occurs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three modes, four parameters, and no output schema, the description provides complete operational guidance. It explains mode selection, data scope, and timestamp behavior. The annotations cover safety, and the schema covers parameter constraints, so no critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover all four parameters (100% coverage). The description adds value by explaining how parameter combinations select different modes, which is not explicit in the schema. That relationship between symbol/query and behavior is the key semantic addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("get") and resource ("SEC EDGAR filings") and clearly distinguishes three modes based on parameters. It goes beyond a simple definition by explaining the real-time nature and the scope of each mode, making it easy to differentiate from sibling tools like read_filing or get_earnings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains three usage modes based on which parameters are set, giving clear guidance on when to use symbol, query, or neither. It does not name alternative tools for exclusions, but the mode breakdown effectively communicates selection criteria.
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?
Beyond the annotations (readOnly, openWorld, idempotent, non-destructive), the description adds valuable behavioral details: the default is to return evidence without a composite verdict, and the verdict is a fixed-weight heuristic that underperformed buy-and-hold in backtesting. It also explains the psychological anchoring rationale, which is more than annotations provide and helps the agent set appropriate expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized for the tool's complexity. It front-loads the core function in the first sentence, then moves to usage guidance, and ends with a behavioral caveat. Each sentence contributes new information; the final paragraph, while slightly verbose, earns its place by explaining the design decision around verdicts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description is complete enough for an agent: it states what indicators are returned, how readings are normalized, when to use it, the alternative to call, and the default behavior of the verdict. The 100% schema coverage fills in parameter specifics, and the description covers the non-obvious behavioral nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the rationale behind the include_verdict default and the consequence of not requesting a score. It does not re-document parameter types or formats, but the context about outputs and the heuristic adds useful non-schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb + resource: "Price action and 50+ technical indicators for a symbol," and clearly states the output format. It differentiates from siblings by positioning this tool as "the usual starting point for a single symbol" and explicitly directing to get_company_profile for fundamentals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: it is the default for single-symbol technical analysis. It also names an alternative for broader data (get_company_profile) and warns against chaining calls. The note about no BUY/SELL score unless requested clarifies when to set include_verdict, giving actionable context.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Blahaj-gif/Finance-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server