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.
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.
Tool Definition Quality
Average 4.7/5 across 6 of 6 tools scored.
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.
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.
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.
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 toolscalculate_dcf_valueTwo-stage discounted cash flow under assumptions you supplyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| growth_rate | Yes | Annual cash flow growth during the first stage, in percent. Pass 8 for 8 percent. Range -20 to 100. | |
| growth_years | Yes | Length of the high-growth first stage, in years. | |
| discount_rate | Yes | Discount rate (required return or WACC) in percent. Pass 10 for 10 percent. Must be greater than the terminal growth rate. | |
| cash_flow_per_share | Yes | Starting free cash flow or owner earnings PER SHARE, not the company total. This is the base the projection grows from. | |
| current_stock_price | Yes | Current share price, used only to compute the margin of safety against the fair value. | |
| terminal_growth_rate | Yes | Perpetual 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 companyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Ticker 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 historyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 listsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 criteriaARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many companies to return, 1 to 25. Defaults to 10. The total number that matched is reported regardless. | |
| sector | No | Restrict 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_min | No | Minimum return on equity in percent. | |
| sort_by | No | Field to rank the matches by, largest first. Defaults to market_cap. | |
| exchange | No | Restrict to one listing venue. | |
| roic_min | No | Minimum return on invested capital in percent. Pass 15 for 15 percent. | |
| eps_sue_max | No | Maximum standardised earnings surprise (SUE), range -4 to +4. | |
| eps_sue_min | No | Minimum 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_max | No | Maximum price to book ratio. | |
| pe_ratio_max | No | Maximum trailing price to earnings ratio. Companies with no meaningful P/E, including loss makers, are excluded when this is set. | |
| brina_gap_max | No | Maximum Brina Gap in percentage points. Use a negative value to isolate companies whose price implies more growth than fundamentals support. | |
| brina_gap_min | No | Minimum 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_min | No | Minimum free cash flow yield in percent. Pass 5 for 5 percent. | |
| peg_ratio_max | No | Maximum PEG ratio, price to earnings divided by growth. | |
| market_cap_max | No | Maximum market capitalisation in US dollars. | |
| market_cap_min | No | Minimum market capitalisation in US dollars, for example 2000000000 for 2 billion. | |
| eps_cagr_3yr_min | No | Minimum 3 year diluted EPS compound annual growth rate in percent. | |
| current_ratio_min | No | Minimum current ratio. Pass 1.5 for 1.5x. | |
| momentum_12_1_max | No | Maximum 12 minus 1 price momentum in percent. Pass a negative value to isolate fallers. | |
| momentum_12_1_min | No | Minimum 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_min | No | Minimum Zyberno quality score, on a 0 to 100 scale combining profitability, balance sheet strength and earnings consistency. | |
| debt_to_equity_max | No | Maximum debt to equity ratio, as a ratio not a percent. Pass 1.5 for 1.5x. | |
| earnings_yield_min | No | Minimum earnings yield in percent, the inverse of P/E. Pass 8 for 8 percent. | |
| net_margin_ttm_min | No | Minimum trailing twelve month net margin in percent. | |
| ev_ebitda_ratio_max | No | Maximum enterprise value to EBITDA ratio. | |
| market_cap_category | No | Restrict 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_min | No | Minimum trailing twelve month gross margin in percent. | |
| margin_of_safety_max | No | Maximum Margin of Safety in percentage points. Pass 10 for 10 percent. | |
| margin_of_safety_min | No | Minimum 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_min | No | Minimum 3 year revenue compound annual growth rate in percent. | |
| momentum_12_1_pct_max | No | Maximum cross-sectional momentum percentile, 0 to 100. | |
| momentum_12_1_pct_min | No | Minimum 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_max | No | Maximum 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_min | No | Minimum 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_min | No | Minimum year over year revenue growth in percent. | |
| operating_margin_ttm_min | No | Minimum trailing twelve month operating margin in percent. | |
| owner_earnings_yield_min | No | Minimum 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_max | No | Maximum fundamentally fundable growth rate in percent. | |
| fundamental_growth_rate_min | No | Minimum 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_min | No | Minimum interest coverage ratio, operating income over interest expense. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 outcomesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | How many years to simulate forward. | |
| goal_amount | No | Optional target end value. When set, the result reports the share of simulated paths that finished at or above it. | |
| simulations | No | Number of simulated paths. Defaults to 10000. More paths stabilise the tails and cost more time. | |
| fee_rate_pct | No | Annual fee drag in percent, for example a fund expense ratio. Defaults to 0. | |
| current_balance | Yes | Starting portfolio value in currency units. | |
| inflation_rate_pct | No | Annual inflation in percent. When set above 0, results are expressed in today's purchasing power. Defaults to 0. | |
| monthly_contribution | No | Amount added every month. Defaults to 0. | |
| annual_volatility_pct | Yes | Annual standard deviation of returns in percent. Pass 15 for 15 percent. Broad equity indices have historically run in the mid teens. | |
| expected_annual_return_pct | Yes | Expected average annual return in percent. Pass 7 for 7 percent. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
Alicense-qualityBmaintenanceProvides 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- Flicense-qualityCmaintenanceProvides 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.
- Alicense-qualityFmaintenanceProvides 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
- Alicense-qualityCmaintenanceProvides free SEC filing fundamentals for US public companies, including financial statements, 10-K/10-Q summaries, and 8-K event histories. No API key or signup required.MIT