Skip to main content
Glama

Zyberno stock valuation

Server Details

Brina Gap valuation, screener and market score for US-listed stocks. SEC data, free, no key.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a clearly distinct purpose: single-company valuation (get_stock_valuation), market-level indicator (get_us_market_valuation), custom screening (screen_stocks), published lists (list_flagged_stocks), user-driven DCF arithmetic (calculate_dcf_value), and portfolio simulation (simulate_portfolio_outcomes). Descriptions even cross-reference to prevent misselection, making boundaries crisp.

Naming Consistency4/5

Most tools follow a verb_object snake_case pattern (calculate_dcf_value, get_stock_valuation, get_us_market_valuation, list_flagged_stocks, screen_stocks, simulate_portfolio_outcomes). All are consistent in style, though verbs vary somewhat between 'get', 'list', 'screen', 'calculate', and 'simulate', which is acceptable given the domain diversity.

Tool Count5/5

Six tools appropriately cover single-company analysis, market-level analysis, screening, published lists, DCF calculation, and portfolio simulation. Each tool holds clear territory without redundancy, and six is well within the ideal 3-15 range for a valuation-focused server.

Completeness4/5

The surface covers individual valuation, market valuation, screening, published lists, DCF modeling, and portfolio outcomes—covering the core analytics workflows. Minor gaps include no dedicated sector/index analysis, no price quotes or charts, and no explanation-of-framework tool, but these are explicitly noted as out of scope rather than dead ends, and the documented coverage is coherent for the stated purpose.

Available Tools

6 tools
calculate_dcf_valueTwo-stage discounted cash flow under assumptions you supplyA
Read-onlyIdempotent
Inspect

Runs a two-stage discounted cash flow on numbers you provide and returns the fair value per share, the margin of safety against the price you gave, and how much of the value sits in the terminal stage. Cash flow grows at your growth rate for the stage-one years, then forever at your terminal rate, with the terminal value from the Gordon Growth Model discounted back over the stage-one years.

Use when the user wants to value a company under their own assumptions, test how sensitive a valuation is to the discount or growth rate, or check the arithmetic of a DCF they are building. Do not use it to look up what a company is worth on Zyberno's own assumptions, which is get_stock_valuation and uses a different, fade-based model; the two will not agree and are not meant to.

This computes your assumptions, it does not endorse them. The output is arithmetic, and a two-stage DCF is highly sensitive to the discount and terminal rates, so treat a single result as one point rather than an answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
growth_rateYesAnnual cash flow growth during the first stage, in percent. Pass 8 for 8 percent. Range -20 to 100.
growth_yearsYesLength of the high-growth first stage, in years.
discount_rateYesDiscount rate (required return or WACC) in percent. Pass 10 for 10 percent. Must be greater than the terminal growth rate.
cash_flow_per_shareYesStarting free cash flow or owner earnings PER SHARE, not the company total. This is the base the projection grows from.
current_stock_priceYesCurrent share price, used only to compute the margin of safety against the fair value.
terminal_growth_rateYesPerpetual growth rate after the first stage, in percent. Pass 2.5 for 2.5 percent. Range -5 to 15, and must be below the discount rate.
Behavior4/5

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

Annotations already provide readOnlyHint/idempotentHint/destructiveHint, so the bar is lower. The description adds meaningful behavioral context: that the tool 'computes your assumptions, it does not endorse them,' that output is arithmetic only, and that DCF results are highly sensitive to discount and terminal rates. It communicates the tool's non-authoritative, calculation-only nature well.

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

Conciseness5/5

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

The description is tightly organized into three paragraphs: what it does, when to use it (with sibling differentiation), and a caveat paragraph. Every sentence earns its place — no fluff, no repetition of schema fields. It's front-loaded with the core purpose.

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

Completeness5/5

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

For a 6-param computational tool with 100% schema coverage and no output schema, the description is complete. It explains the calculation model (two-stage, Gordon Growth terminal), the purpose of each input relationship (discount rate above terminal rate is already in schema), and what outputs to expect. The sensitivity caveat is appropriate context for a tool whose results are assumption-dependent.

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

Parameters4/5

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

Schema coverage is 100%, so all six parameters are documented in the schema. The description adds framing beyond the schema: it explains how cash flow grows (stage-one years then forever at terminal rate via Gordon Growth Model) and notes the output uses the supplied price for margin of safety. This supplements the schema rather than repeating it, though the schema already carries a heavy load.

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

Purpose5/5

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

The description clearly identifies the tool as running a two-stage DCF on user-supplied numbers, returning fair value per share, margin of safety, and terminal-value share. It names the specific verb ('Runs'), the resource (DCF), and the substantive outputs, which clearly distinguishes it from sibling valuation tools.

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

Usage Guidelines5/5

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

The description is exemplary here. It explicitly states when to use ('when the user wants to value a company under their own assumptions, test sensitivity, or check arithmetic') and explicitly names the alternative (get_stock_valuation) with a clear when-not-to-use and rationale for why the two won't agree. This is the best kind of usage guidance.

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

get_stock_valuationValuation record for one US-listed companyA
Read-onlyIdempotent
Inspect

Returns Zyberno's stored valuation record for a single US-listed company: Margin of Safety against a discounted cash flow estimate, the Brina Gap (the growth rate the business can fund from its own returns minus the growth rate its current price implies), the Brina Matrix quadrant those two produce together, the Zyberno quality score, and trailing twelve month fundamentals from SEC filings.

Use when the user names a company or ticker and wants to know how it is valued. This is also the tool for questions phrased without the framework's vocabulary: what growth rate is priced into a stock, what the market expects from a company, what a reverse DCF on it implies, whether its growth expectations look too high or too low, or whether a cheap-looking stock is actually a value trap. Do not use it to find or rank companies (use screen_stocks), to retrieve the published monthly lists (use list_flagged_stocks), or for price quotes, charts, news, analyst ratings, earnings dates, or non-US listings, none of which this server holds.

Records refresh on a rolling cycle of roughly two weeks per company, so figures can lag a company's newest filing for part of that cycle. Every response states the date its data was computed.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker symbol of a US-listed company, for example AAPL, MSFT, or BRK.B. Case insensitive. Non-US listings and most OTC ADRs are not covered and return no data.
Behavior5/5

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

Beyond the annotations (readOnly, openWorld, idempotent), the description discloses that records are stored, refresh on a rolling ~2-week cycle, may lag the newest filing, and that each response states the computation date. This gives the agent a clear picture of data freshness and limitations.

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

Conciseness5/5

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

Though longer than many descriptions, every sentence carries useful content: return fields, use cases, exclusions, and data freshness. It is well-structured, front-loaded with the core purpose, and avoids redundancy or filler.

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

Completeness5/5

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

Given the tool's moderate complexity, no output schema, and rich annotation set, the description provides a complete picture: return payload, usage guidance, exclusions, data lag caveat, and response date guarantee. The agent has enough context to invoke the tool correctly and set expectations.

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

Parameters3/5

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

The input schema already fully covers the single parameter 'symbol' with format, case-insensitivity, and coverage limitations (100% schema coverage). The description reinforces the US-listed scope but does not add significant new parameter-level meaning beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and names the exact resource ('Zyberno's stored valuation record for a single US-listed company') plus the key fields included. It clearly distinguishes this tool from siblings like screen_stocks and list_flagged_stocks by scope and output.

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

Usage Guidelines5/5

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

It explicitly states when to use the tool ('Use when the user names a company or ticker and wants to know how it is valued'), provides alternative phrasings, and explicitly lists when not to use it with named alternatives (screen_stocks, list_flagged_stocks) and exclusions like price quotes, news, and non-US listings.

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

get_us_market_valuationHow expensive the whole US equity market is against its own historyA
Read-onlyIdempotent
Inspect

Returns the Zyberno Market Valuation Score, a single 0 to 100 reading of how expensive the US equity market is relative to its own history, combining the Buffett Indicator, the Shiller PE, the 10 year minus 2 year Treasury curve and the Baa credit spread.

Use for questions about the market as a whole, overall valuation levels, or whether US stocks broadly look expensive or cheap right now. Do not use it for any individual company, sector, or index price level, none of which it measures.

The score measures present valuation against history. It is not a forecast and not a market timing signal.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, establishing it as a safe read operation. The description adds meaningful behavioral context beyond this: the score is 'a single 0 to 100 reading' that measures present valuation against history, that it is 'not a forecast and not a market timing signal.' This disclosure of what the tool does NOT do adds genuine transparency value.

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

Conciseness5/5

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

Three tight paragraphs: what it returns, when to use it, and what it is not. Every sentence earns its place—the methodology sentence names the four indicators compactly, and the exclusions and disclaimers are each single sentences. No wasted words.

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

Completeness5/5

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

For a zero-parameter, no-output-schema read-only tool, the description is complete: it defines the output (0-100 score), names its components, states scope/exclusions, and disclaims forecasting/timing. Combined with generous annotations (readOnly, idempotent, non-destructive), there's nothing materially missing for an agent to select and invoke this tool correctly.

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

Parameters4/5

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

The tool has zero parameters, so there is no schema burden to compensate. Per the rubric, 0 params gives a baseline of 4. The description explains what the returned reading represents, which is the relevant semantic content given there's no input to parameterize.

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

Purpose5/5

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

The description clearly states the tool returns the Zyberno Market Valuation Score, a specific 0-100 reading of US equity market expensiveness relative to history. It explicitly names the four constituent indicators (Buffett Indicator, Shiller PE, Treasury curve, Baa spread) and distinguishes it from individual company/sector/index tools like get_stock_valuation and list_flagged_stocks.

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

Usage Guidelines5/5

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

The description explicitly states when to use it ('questions about the market as a whole, overall valuation levels, whether US stocks broadly look expensive or cheap') and provides clear exclusions ('Do not use it for any individual company, sector, or index price level'). This maps well to the sibling set where get_stock_valuation, calculate_dcf_value, and screen_stocks handle narrower scopes.

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

list_flagged_stocksThe two published monthly Brina Matrix listsA
Read-onlyIdempotent
Inspect

Returns the two lists Zyberno publishes each month from one fixed screen. The first holds companies where the Margin of Safety and the Brina Gap both read as undervalued, labelled Double Discount. The second holds companies that look cheap on trailing earnings power while the Brina Gap reads negative, labelled value trap. Takes no parameters: the thresholds, sector exclusions and ranking are fixed and match the published page.

Use when the user asks what the framework currently flags, or asks about the Double Discount or value trap lists by name. Do not use it for custom criteria (use screen_stocks) or for one named company (use get_stock_valuation).

Both labels describe where a company sits on two valuation measures at one moment. They are screen output, not recommendations, and neither label forecasts a return.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful context beyond annotations: lists are fixed and immutable ('thresholds, sector exclusions and ranking are fixed'), output is 'screen output, not recommendations,' and notably 'neither label forecasts a return.' This last warning about the value trap label not being reliable guidance is valuable.

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

Conciseness5/5

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

Three well-structured paragraphs, each with a distinct purpose: output definition, usage guidance, and behavioral caveat. The description front-loads the core purpose in the first sentence and moves to usage in the second paragraph. Every sentence earns its place with substantive content; no filler.

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

Completeness5/5

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

For a parameterless tool with strong annotations (readOnly, idempotent, openWorld) and no output schema, the description is remarkably complete. It explains what the lists contain, how they're defined, when to use them, when not to, and even caveats about their interpretive limits. The only minor omission might be that no output schema exists, but with zero parameters and a fixed, published output, the description covers everything an agent needs.

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

Parameters4/5

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

The tool takes zero parameters and there are no parameters to describe, so the baseline of 4 applies. The description adds the meaningful context that the tool is parameterless and that all thresholds/criteria are fixed to the published page, which clarifies why no parameters exist.

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

Purpose5/5

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

The description clearly names the specific resource ('two published monthly Brina Matrix lists'), names both list labels (Double Discount, value trap), and explains the distinct screening criteria for each. It distinguishes itself from siblings by explicitly noting it 'takes no parameters' and covers only the fixed published screen, which separates it from screen_stocks and get_stock_valuation.

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

Usage Guidelines5/5

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

Excellent usage guidance: 'Use when the user asks what the framework currently flags, or asks about the Double Discount or value trap lists by name.' It also gives explicit exclusions with named alternatives: 'Do not use it for custom criteria (use screen_stocks) or for one named company (use get_stock_valuation).' This is exemplary when/when-not usage guidance.

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

screen_stocksFind US-listed companies by valuation and quality criteriaA
Read-onlyIdempotent
Inspect

Searches Zyberno's database of roughly 10,000 US-listed companies and returns those matching the numeric criteria you supply, ranked by a field you choose. All metrics are computed from SEC filings.

Use when the user wants to find, filter, rank, or count companies by their characteristics rather than asking about one company by name. Omit any filter you do not want applied; omitting all of them ranks the whole covered universe. Do not use it for a single known ticker (use get_stock_valuation), and do not use it to reconstruct the published monthly lists, which apply their own fixed thresholds, sector exclusions and curation (use list_flagged_stocks).

Returns at most 25 companies plus the total number that matched, so a query that is too broad or too narrow reports its own breadth.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many companies to return, 1 to 25. Defaults to 10. The total number that matched is reported regardless.
sectorNoRestrict to one sector, spelled as Zyberno stores it, for example Technology, Healthcare, Industrials, Energy, Consumer Cyclical, Financial Services, Real Estate, Utilities, Basic Materials, Communication Services, Consumer Defensive.
roe_minNoMinimum return on equity in percent.
sort_byNoField to rank the matches by, largest first. Defaults to market_cap.
exchangeNoRestrict to one listing venue.
roic_minNoMinimum return on invested capital in percent. Pass 15 for 15 percent.
eps_sue_maxNoMaximum standardised earnings surprise (SUE), range -4 to +4.
eps_sue_minNoMinimum standardised earnings surprise (SUE), a winsorized z-score bounded to the range -4 to +4. Positive means the latest reported earnings beat the trend-based expectation. Pass 1 for a one standard deviation beat.
pb_ratio_maxNoMaximum price to book ratio.
pe_ratio_maxNoMaximum trailing price to earnings ratio. Companies with no meaningful P/E, including loss makers, are excluded when this is set.
brina_gap_maxNoMaximum Brina Gap in percentage points. Use a negative value to isolate companies whose price implies more growth than fundamentals support.
brina_gap_minNoMinimum Brina Gap in percentage points. Positive means the growth the business can fund exceeds the growth its price implies; negative means the price implies faster growth than the fundamentals support. Pass 3 for 3 percentage points.
fcf_yield_minNoMinimum free cash flow yield in percent. Pass 5 for 5 percent.
peg_ratio_maxNoMaximum PEG ratio, price to earnings divided by growth.
market_cap_maxNoMaximum market capitalisation in US dollars.
market_cap_minNoMinimum market capitalisation in US dollars, for example 2000000000 for 2 billion.
eps_cagr_3yr_minNoMinimum 3 year diluted EPS compound annual growth rate in percent.
current_ratio_minNoMinimum current ratio. Pass 1.5 for 1.5x.
momentum_12_1_maxNoMaximum 12 minus 1 price momentum in percent. Pass a negative value to isolate fallers.
momentum_12_1_minNoMinimum 12 minus 1 price momentum in percent: total return including dividends over the last 12 months, skipping the most recent month. Pass 20 for 20 percent, or -30 for a 30 percent fall. Values are unbounded above, and the strongest names in the universe can read in the hundreds of percent. Companies listed under 13 months have no window and are excluded whenever any momentum filter is set.
zyberno_score_minNoMinimum Zyberno quality score, on a 0 to 100 scale combining profitability, balance sheet strength and earnings consistency.
debt_to_equity_maxNoMaximum debt to equity ratio, as a ratio not a percent. Pass 1.5 for 1.5x.
earnings_yield_minNoMinimum earnings yield in percent, the inverse of P/E. Pass 8 for 8 percent.
net_margin_ttm_minNoMinimum trailing twelve month net margin in percent.
ev_ebitda_ratio_maxNoMaximum enterprise value to EBITDA ratio.
market_cap_categoryNoRestrict by size band, as an alternative to explicit market cap bounds. Bands are micro under $300M, small $300M to $2B, mid $2B to $10B, large $10B to $200B, mega $200B and above. Note that large excludes mega, so for the very largest companies use mega, and to cover both give market_cap_min instead.
gross_margin_ttm_minNoMinimum trailing twelve month gross margin in percent.
margin_of_safety_maxNoMaximum Margin of Safety in percentage points. Pass 10 for 10 percent.
margin_of_safety_minNoMinimum Margin of Safety in percentage points, where positive means the price sits below the discounted cash flow estimate. Pass 10 for 10 percent, not 0.1. Negative values are allowed.
revenue_cagr_3yr_minNoMinimum 3 year revenue compound annual growth rate in percent.
momentum_12_1_pct_maxNoMaximum cross-sectional momentum percentile, 0 to 100.
momentum_12_1_pct_minNoMinimum cross-sectional momentum percentile, 0 to 100, where 100 is the strongest momentum in the covered universe. Prefer this over the raw percentage when the user asks for strong or weak momentum in relative terms. Percentiles refresh on a monthly recompute, so they can lag the raw figure.
price_to_52w_high_maxNoMaximum ratio of current price to the 52 week high. Pass 0.7 to find stocks at least 30 percent below their high.
price_to_52w_high_minNoMinimum ratio of current price to the 52 week high, where 1.0 means the stock is sitting at its high. Pass 0.95 for within 5 percent of the high.
revenue_yoy_growth_minNoMinimum year over year revenue growth in percent.
operating_margin_ttm_minNoMinimum trailing twelve month operating margin in percent.
owner_earnings_yield_minNoMinimum owner earnings yield in percent. Owner earnings is the cash figure the discounted cash flow behind Margin of Safety is built on.
fundamental_growth_rate_maxNoMaximum fundamentally fundable growth rate in percent.
fundamental_growth_rate_minNoMinimum fundamentally fundable growth rate in percent, defined as ROIC times reinvestment rate. This is the first half of the Brina Gap on its own.
interest_coverage_ratio_minNoMinimum interest coverage ratio, operating income over interest expense.
Behavior5/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive hints. The description adds substantial non-obvious behavior beyond these hints: it returns at most 25 companies plus a total match count, ranks by a selectable field, and behaves breadth-reporting on too-broad/narrow queries. This is valuable transitive context not captured in annotations.

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

Conciseness5/5

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

The description is concise and well-structured: first sentence states the operation, second paragraph gives usage guidance with exclusions, third explains return behavior. Each sentence contributes distinct value, and the most important information is front-loaded.

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

Completeness4/5

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

For a tool with 40 parameters and no output schema, the description covers the essential context: universe size, data source, return cap, total count, and sibling differentiation. It falls slightly short of a 5 by not describing the exact format of the returned companies (e.g., ticker list vs. full entity), but this is a minor gap given the schema richness.

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

Parameters3/5

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

The input schema covers 100% of parameters with thorough descriptions, so no compensation is needed from the tool description. The description itself does not add parameter-level semantics beyond the schema, which is acceptable at the baseline for complete schema coverage.

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

Purpose5/5

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

The description clearly states the tool searches a database of ~10,000 US-listed companies by numeric criteria and ranks results by a chosen field. It distinguishes itself from siblings by explicitly naming alternatives (get_stock_valuation for single ticker, list_flagged_stocks for curated monthly lists), making its purpose unmistakable.

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

Usage Guidelines5/5

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

The description says exactly when to use it ('when the user wants to find, filter, rank, or count companies by their characteristics') and when not to, with named alternative tools. It also explains filter-omission behavior and the consequence of broad queries, giving clear decision rules for the agent.

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

simulate_portfolio_outcomesMonte Carlo distribution of portfolio outcomesA
Read-onlyIdempotent
Inspect

Runs a Monte Carlo simulation over a portfolio balance and returns the distribution of possible end values: percentiles, mean, median, and if you give a goal amount, the share of simulated paths that reached it. Returns are drawn from a normal distribution using the expected return and volatility you supply.

Use when the user asks about the range or probability of outcomes rather than a single projected number, for example the odds of reaching a target, or how much volatility widens the spread. Do not use it to value a company (use calculate_dcf_value or get_stock_valuation), and do not use it for retirement withdrawal, tax, or drawdown-sequencing questions, which it does not model.

The simulation propagates the assumptions you give it. Normally distributed returns understate real market tail risk, and the output is a property of the inputs, not a prediction about any real portfolio.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesHow many years to simulate forward.
goal_amountNoOptional target end value. When set, the result reports the share of simulated paths that finished at or above it.
simulationsNoNumber of simulated paths. Defaults to 10000. More paths stabilise the tails and cost more time.
fee_rate_pctNoAnnual fee drag in percent, for example a fund expense ratio. Defaults to 0.
current_balanceYesStarting portfolio value in currency units.
inflation_rate_pctNoAnnual inflation in percent. When set above 0, results are expressed in today's purchasing power. Defaults to 0.
monthly_contributionNoAmount added every month. Defaults to 0.
annual_volatility_pctYesAnnual standard deviation of returns in percent. Pass 15 for 15 percent. Broad equity indices have historically run in the mid teens.
expected_annual_return_pctYesExpected average annual return in percent. Pass 7 for 7 percent.
Behavior5/5

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

Despite annotations declaring readOnlyHint and idempotentHint, the description adds material behavioral context beyond them: the assumption-propagation caveat, the normal-distribution understating tail risk, and the explicit statement that output is a property of inputs rather than a prediction. This is rich transparency that complements, not contradicts, 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/5

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

Three paragraphs in logical order: what it returns, when to use vs not use, and a behavioral caveat. No wasted words, and the most decision-relevant information (purpose and outputs) is front-loaded.

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

Completeness5/5

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

For a 9-parameter tool with 100% schema coverage and no output schema, the description fully specifies behavior, usage constraints, and limitations. The distributional assumptions and their implications are disclosed. Nothing material is left unexplained.

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

Parameters4/5

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

Schema coverage is 100% and the schema already documents all 9 parameters well. The description adds slight value by clarifying the return-distribution assumption (normal, using expected return and volatility), which reinforces parameter intent. However, it does not add per-parameter detail beyond the schema, so it stays near the baseline.

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

Purpose5/5

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

The description names a specific verb plus resource ('Runs a Monte Carlo simulation over a portfolio balance') and enumerates the outputs (percentiles, mean, median, goal-reach share), clearly distinguishing it from the sibling valuation tools. The 'odds of reaching a target' and 'volatility widens the spread' examples make scope explicit.

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

Usage Guidelines5/5

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

Provides an explicit 'Use when' clause (range/probability questions) and an explicit 'Do not use' list naming alternatives (calculate_dcf_value, get_stock_valuation) and excluded domains (retirement withdrawal, tax, drawdown-sequencing). This is exemplary when-to-use/when-not guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Provides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Provides financial stock analysis for U.S. public companies via SEC EDGAR APIs, offering tools to resolve companies, retrieve filings, calculate profitability metrics, compare periods, detect red flags, and get audit evidence, all without API keys.
  • A
    license
    -
    quality
    F
    maintenance
    Provides derived financial intelligence for AI agents, including insider activity analysis, earnings surprises, institutional moves, stock screening with a proprietary composite value score, and macro indicators.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources