Skip to main content
Glama

HPSILab Quant Finance

Server Details

HPSILab Quant finance MCP for US stocks, ETFs, options, Monte Carlo, backtesting, and risk analysis.

Ownership verified
Status
Healthy
Uptime
98.4% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
haiyunsky/hpsilab-quant-finance-mcp
GitHub Stars
1
Server Listing
HPSILab - Quant Finance MCP Server for Stock Analysis and Options Analytics

TDQS

A4.2/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target clearly distinct quant-finance modules (AI prediction, IV radar, equity curve, Monte Carlo, option pressure, pretrade risk). The aggregate analyze_stock and generate_stock_research_report overlap in data sources but produce different outputs (JSON vs markdown with charts), so an agent can distinguish them with the descriptions, though some care is needed.

Naming Consistency5/5

All tool names use snake_case and follow a verb_noun or verb_noun_phrase pattern (analyze_stock, generate_stock_images, get_iv_radar, register_account). The verbs vary appropriately by action, but the convention is predictable throughout.

Tool Count5/5

Ten tools is well-scoped for a quant-finance analysis server. The individual analytic modules, aggregate report tools, image generation, and account registration each serve a clear purpose without excessive surface area.

Completeness4/5

The surface covers core quant analysis workflows: stock analysis, prediction, volatility, option pressure, Monte Carlo, backtesting, risk scanning, research reports, and account registration. Minor gaps exist, such as no explicit watchlist management or general market/fundamental data tool, but agents can work around them through the aggregate analysis and research report tools.

Available Tools

10 tools
analyze_stockStock AnalysisA
Read-onlyIdempotent
Inspect

Aggregate all quant tools into one JSON stock analysis.

The tool reuses the existing MCP tools as its data sources, then derives a
direction signal, direction score, bullish factors, bearish factors and
plain-English summary. If one underlying tool is gated, unavailable or
raises an error, the remaining tools still contribute to the final result
(status "partial"); if every underlying tool fails, the whole call fails
(status "error", isError=True) instead of a misleadingly "successful"
empty analysis.

Args:
    symbol: Stock symbol, e.g. "NVDA".
    refresh: Request fresh IV Radar data instead of using the backend's
        fresh IV cache. Defaults to False.
    lang: Language for `summary`, `bullish_factors` and `bearish_factors`
        - "en" (default), "zh" or "ja"; regional forms like "zh-CN" are
        accepted. Everything else in the response, `signal` included, is
        language-independent, so an existing caller that omits this gets
        byte-identical output to before.
ParametersJSON Schema
NameRequiredDescriptionDefault
langNoen
symbolYes
refreshNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint), the description richly explains failure behavior: partial results if some sub-tools fail, error if all fail. It also details that the 'lang' parameter only affects summary/factors and not the signal, ensuring callers understand output consistency. This adds significant behavioral clarity beyond the given 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 well-structured: a brief summary, a detailed behavioral explanation, and a clean parameter list. It is concise yet complete, with no redundant or vague statements. The flow from aggregate purpose to fallback behavior to argument details is logical and efficient.

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?

The description gives a complete picture of what the tool returns (direction signal, score, bullish/bearish factors, summary, and status), enough for an agent to know what to expect. It also covers edge cases (partial/error). No essential information is missing for the intended use case.

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

Parameters5/5

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

Although the schema's description coverage is 0%, the description thoroughly explains each parameter in the Args section: symbol with example, refresh with its purpose and default, and lang with its effect and accepted values. It also clarifies the scope of lang's influence, making parameter usage unambiguous.

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

Purpose5/5

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

The description clearly states the tool's function as aggregating all quant tools into a single JSON stock analysis, using a specific verb ('aggregate') and resource ('quant tools'). It distinguishes itself from siblings by being a composite/aggregator, which is evident from the listing of output components (direction signal, score, factors, summary).

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

Usage Guidelines4/5

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

The description implies when to use this tool (for a comprehensive analysis) by stating it 'aggregates all quant tools' and 'reuses existing MCP tools as data sources.' It does not explicitly name alternatives (e.g., 'use get_iv_radar for just IV data'), but the aggregated nature and the phrase 'Aggregate all quant tools' make the usage context clear. Slightly more explicit guidance on when not to use it would warrant a 5.

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

generate_stock_imagesStock Chart GeneratorAInspect

Generate stock-report PNG images and return their URLs.

This is intentionally separate from analyze_stock so the JSON analysis stays
fast and light. The backend reuses the same Growth Engine image generators
used by email/social publishing.

Args:
    symbol: Stock symbol, e.g. "RXRX".
    force: Regenerate images instead of using cached PNGs. Defaults to True
        so manually requested images reflect the latest available data.
    types: Optional subset of chart types. Allowed values are
        "ai_prediction", "iv_radar", "option_pressure", "monte_carlo",
        and "equity_curves". Omit to generate every chart type.
ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo
typesNo
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

The description goes beyond the annotations by explaining the caching behavior ('force: Regenerate images instead of using cached PNGs'), the default value of force, and the separation from analyze_stock to keep JSON analysis fast. It does not discuss rate limits or auth, but it covers the key behavioral traits (caching, regeneration) and aligns with annotations (readOnlyHint=false, etc.). No contradiction.

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

Conciseness5/5

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

The description is well-structured: a one-sentence purpose, a short context note, and a clean Args list. Each sentence provides necessary information without redundancy. It front-loads the main purpose and is appropriately sized for the tool's complexity.

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

Completeness5/5

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

The tool has only three parameters, one required, and an output schema is present, so the description need not explain return values. It covers all parameters, the caching behavior, and the rationale for separation from analyze_stock. Given the availability of the output schema and the tool's moderate complexity, the description is complete and provides sufficient context for an agent to select and invoke it correctly.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by documenting each parameter: symbol with an example ('RXRX'), force with an explanation of caching and default, and types with the list of allowed values and default behavior (generate all). This significantly adds meaning beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Generate stock-report PNG images and return their URLs.' The verb 'generate' plus resource 'stock-report PNG images' is specific, and the distinction from analyze_stock ('intentionally separate... so the JSON analysis stays fast and light') helps differentiate from the sibling tool.

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

Usage Guidelines4/5

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

The description explicitly contrasts with analyze_stock, indicating that this tool is for image generation while analyze_stock returns JSON analysis. It also explains the context of reuse by 'email/social publishing,' which clarifies intended usage. However, it does not mention when to use the get_* siblings versus this tool, though the image vs. data distinction is implicit.

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

generate_stock_research_reportStock Research ReportAInspect

Full markdown research report with five stock-report charts. Pro tool ($0.35/call via x402 for anonymous callers; free within plan limits for signed-in accounts, subject to a monthly report quota).

Runs analyze_stock and stock-report image generation concurrently, then
renders a presentation-ready markdown report (direction, direction score, bullish /
bearish factors, source-tool status, and the five chart embeds). The markdown
is returned for display and the same data is mirrored in structured JSON.

Signed-in hpsilab users call this within their plan's free rate limits.
Anonymous / tokenless agents pay per call via x402 (USDC on Base) when
payments are enabled — send the x402 payment in the request _meta.

Args:
    symbol: Stock symbol, e.g. "RXRX".
    refresh: Bypass the backend's fresh IV cache for the IV-driven modules.
        Defaults to False.
    force_images: Force a fresh image render instead of reusing the backend's
        image cache. Defaults to False.
ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
refreshNo
force_imagesNo

TDQS

A4.8/5.0
Behavior5/5

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

Discloses concurrency, payment via x402, free quota, cache behavior for IV and images, and output format (markdown + JSON). Provides context 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/5

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

Structured with a short intro followed by Args; each sentence adds distinct value (cost, behavior, output, caching). No filler or repetition.

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?

Covers return value (markdown + JSON), payment/auth, parameter behavior, and pipeline composition. Sufficient for an agent to invoke correctly even without an output schema.

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

Parameters5/5

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

All three params are explained with an example for symbol, and refresh/force_images describe their effect (bypass IV cache, force fresh image render) and defaults. This fully compensates for zero 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?

Description clearly states it generates a full markdown research report with five charts, and distinguishes from siblings by noting it runs analyze_stock and image generation concurrently.

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

Usage Guidelines4/5

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

Sets context as a 'Pro tool' with pricing/quota, and explains it combines analyze_stock and image generation, implying it's the comprehensive option. However, it doesn't explicitly say when to prefer this over calling siblings separately.

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

get_ai_predictionAI PredictionA
Read-onlyIdempotent
Inspect

AI next-day prediction: probability the stock closes UP, a paper-trading buy/watch/sell lean (research only, not a trade instruction), and how strongly the models agree (consensus).

Available to every authenticated plan (Free / Pro / Enterprise); subject
to the caller's plan requests/day and requests/minute limits.

Args:
    ticker: Stock symbol, e.g. "TSLA".
ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuine unstated context: the output is research only and not a trade instruction, plus plan gating and rate-limit behaviour.

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

Conciseness4/5

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

The lead sentence front-loads the purpose and return contents, and the availability caveat follows compactly. The 'Args:' block is slightly redundant given the one-parameter schema, but nothing is bloated.

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?

Though there is no output schema, the description enumerates what comes back (probability, lean, consensus), which compensates. The disclaimer and rate-limit note round out what an agent needs before invoking; the only gap is no guidance on alternatives.

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?

Only one parameter, and the schema description coverage is 0%, so the description must carry the burden. It does name the parameter and supply a format example ('TSLA'), which is enough meaning for a single ticker argument.

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?

States a specific resource and scope: an AI next-day prediction consisting of the probability the stock closes UP, a paper-trading lean, and model consensus. This is clearly distinguishable from siblings like get_monte_carlo or get_iv_radar without opening any schema.

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

Usage Guidelines3/5

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

It states availability ('every authenticated plan') and that it is subject to per-day and per-minute rate limits, which is useful operating context. However it never says when to prefer this over siblings such as analyze_stock or get_iv_radar, and gives no exclusions.

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

get_equity_curveStrategy BacktestA
Read-onlyIdempotent
Inspect

Backtest performance of the quant strategy across your watchlist: Sharpe ratio, max drawdown, win rate and total return per symbol.

Available to every authenticated plan (Free / Pro / Enterprise); subject
to the caller's plan requests/day and requests/minute limits.

Args:
    ticker: Optional symbol to show just one row, e.g. "SPY". Leave blank for all.
ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNo

TDQS

A4.4/5.0
Behavior4/5

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

The description adds context beyond annotations (plan availability, rate limits, parameter behavior). Annotations already indicate safe read-only operation, so the bar is lower but description still adds 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?

The description is succinct (<5 sentences), front-loaded with purpose, and structured with a header, bullet metrics, and parameter Args section. No wasted words.

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

Completeness4/5

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

Given low complexity (1 optional param, no output schema), the description covers input and usage well. However, it does not describe the output format or how to interpret return values, which agents might need.

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

Parameters4/5

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

With 0% schema coverage, the description meaningfully explains the ticker parameter: optional, leave blank for all, example 'SPY'. This adds clarity beyond the schema's default value.

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 performs backtesting of quant strategies across a watchlist, listing specific metrics (Sharpe ratio, max drawdown, win rate, total return). This distinguishes it from sibling tools like analyze_stock or get_monte_carlo.

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

Usage Guidelines4/5

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

It mentions availability to all authenticated plans and rate limits, but does not explicitly advise when to use this tool versus alternatives like get_monte_carlo or get_ai_prediction. The context is clear 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.

get_iv_radarImplied Volatility RadarA
Read-onlyIdempotent
Inspect

Implied-volatility (IV) structure for a stock: how expensive options are, whether volatility is being squeezed, and whether traders are paying up for upside (calls) or downside (puts). Available to all signed-in users.

Args:
    ticker: Stock symbol, e.g. "NVDA".
    refresh: Bypass the backend's fresh IV cache and request the latest
        option-chain pull. Defaults to False.
ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
refreshNo

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations (read-only, idempotent, non-destructive), the description adds useful behavioral context: the refresh parameter reveals a caching mechanism that can be bypassed for the latest option-chain pull, and it explains what the IV structure indicates. This adds meaningful context not inferable from annotations alone.

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

Conciseness5/5

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

The description is concise and well-structured: a single purpose sentence followed by an Args section. Every sentence adds value, front-loading the core function and then clarifying parameters without any redundant or filler content.

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

Completeness4/5

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

For a simple get-only tool with strong annotations and only two parameters, the description covers the key context: what the IV radar measures and how to request fresh data. Though there is no output schema, the description conveys the type of insight returned; a minor gap is that it doesn't specify the exact return shape, but it remains sufficiently informative.

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

Parameters4/5

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

The schema provides only names/types, but the description enriches both parameters: ticker is illustrated with an example, and refresh is explained as a cache-bypass flag. Since schema description coverage is 0%, the description compensates well by clarifying the functional role of each parameter.

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

Purpose5/5

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

The description clearly states the tool's function: providing implied-volatility structure for a stock, detailing what it measures (option expense, volatility squeeze, call/put skew). It uses a specific verb+resource pattern ('IV structure for a stock') and distinguishes itself from siblings like get_option_pressure by focusing on IV, not volume/pressure.

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

Usage Guidelines3/5

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

The description shows the tool is available to all signed-in users and implies usage for IV analysis, but it does not explicitly state when to use this tool versus alternatives or mention any exclusions. No sibling comparison is provided, so the guidance is inferred rather than explicit.

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

get_monte_carloMonte Carlo SimulationA
Read-onlyIdempotent
Inspect

Monte Carlo price simulation for the next ~10 trading days: thousands of random price paths estimate a likely price range and the odds of finishing higher.

Args:
    ticker: Stock symbol, e.g. "AAPL".
ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds behavioral context by explaining the Monte Carlo methodology, the probabilistic nature of thousands of random paths, and the ~10 trading day horizon, which is not covered by 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 front-loaded: the first sentence states the core purpose, and the second section succinctly documents the parameter. Every sentence earns its place with no redundancy.

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

Completeness4/5

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

For a simple one-parameter read-only simulation, the description covers purpose, time horizon, and the concept of the output (price range and odds). It lacks explicit output format details, but this is not critical given the tool's simplicity and absence of an output schema.

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

Parameters5/5

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

The input schema has 0% description coverage for the ticker parameter. The description compensates fully with an 'Args' section explaining ticker as a stock symbol with an example ('AAPL'), adding meaning beyond the bare schema.

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

Purpose5/5

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

The description clearly states it performs Monte Carlo price simulation for the next ~10 trading days, estimating a price range and odds of finishing higher. This specific verb+resource+scope distinguishes it from siblings like get_ai_prediction and get_iv_radar.

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

Usage Guidelines4/5

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

The description provides clear context on the tool's use case (price range and odds estimation for a ~10 day horizon), but does not explicitly mention when to use it over alternatives or any exclusions. This fits the 'clear context, no exclusions' level.

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

get_option_pressureOptions Pressure MapA
Read-onlyIdempotent
Inspect

Option-chain pressure map for the nearest weekly/monthly expiry — Max Pain, dealer Gamma Wall, likely weekly high, and an extreme squeeze target.

Args:
    ticker: Stock symbol, e.g. "SPY".
ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes

TDQS

A3.9/5.0
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 the scoping constraint to 'nearest weekly/monthly expiry,' which is useful but not deep. It does not disclose how the expiry is selected, whether results are approximate, or any other behavioral traits beyond what annotations provide. Thus, it adds moderate value but not rich context.

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

Conciseness5/5

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

The description is extremely concise: one line for the purpose and a short Args block. It front-loads the core functionality without any fluff or repetition of schema content. Every sentence contributes meaning, making it easy to parse quickly.

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

Completeness4/5

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

Given the tool has only one parameter and no output schema, the description carries the burden of explaining the return value. It lists the four key metrics, which gives a solid idea of what to expect. However, it does not specify the output format (e.g., price levels vs. percentages), how 'nearest' expiry is determined, or whether the map is numeric or descriptive. Still, it is fairly complete for a simple read-only tool, so it earns a 4 rather than a 3.

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

Parameters5/5

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

The schema has only one parameter 'ticker' with no description (0% coverage). The description fully compensates by stating 'ticker: Stock symbol, e.g. "SPY".' which precisely conveys the expected input format and example. This is exactly what an agent needs to invoke the tool correctly, and the simplicity of the single parameter makes the coverage complete.

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 specifies the tool's output: an option-chain pressure map for the nearest weekly/monthly expiry, listing concrete metrics (Max Pain, dealer Gamma Wall, likely weekly high, extreme squeeze target). This distinguishes it from sibling tools like get_iv_radar or get_pretrade_risk_scan, which focus on different market dimensions. Although it lacks an explicit verb, the combination of the tool name and description makes the action (generate/return a pressure map) unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as get_iv_radar or get_pretrade_risk_scan. It does not mention any use cases, exclusions, or conditions. The only contextual hint is 'for the nearest weekly/monthly expiry,' which is a scoping detail rather than a usage recommendation.

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

get_pretrade_risk_scanPre-Trade Risk ScanA
Read-onlyIdempotent
Inspect

Full pre-trade risk scan JSON for a stock. Pro tool ($0.15/call via x402 for anonymous callers; Credits for signed-in accounts).

Signed-in hpsilab users (including Free, on its trial Credits) spend
Credits from their balance at this tool's catalog price — each tool is
priced differently; see GET /api/credits/catalog.
Anonymous / tokenless agents pay per call via x402 (USDC on Base) when
payments are enabled — send the x402 payment in the request _meta.

Args:
    symbol: Stock symbol, e.g. "NVDA".
ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations cover the read-only/idempotent safety profile, and the description adds genuinely useful behavioral context beyond them: authentication modes, per-call x402 pricing, and that signed-in users spend Credits at a catalog price. The payment requirement in request _meta is valuable operational detail. It stops short of rate limits or response shape detail.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence, and the billing/auth paragraph earns its space by covering a real gate to invocation. The Args block is a touch ceremonial for one parameter but not wasteful.

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?

With an output schema present, return values needn't be described. Auth, payment, and the sole parameter are all covered, so an agent has enough to invoke correctly. Missing only selection guidance relative to the many sibling analysis tools.

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

Parameters4/5

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

Schema coverage is 0% and the single parameter is undocumented in the schema, so the description must carry it. It does: 'symbol: Stock symbol, e.g. "NVDA"' adds type meaning plus a concrete example. Adequate, though it could note format constraints for non-US tickers.

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

Purpose4/5

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

States a specific verb+resource+scope: a 'full pre-trade risk scan JSON for a stock'. This clearly distinguishes it from generic siblings like analyze_stock, though it does not explicitly name an alternative. Clear but no sibling routing.

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

Usage Guidelines2/5

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

The description details billing mechanics (Credits vs x402) but gives no guidance on when an agent should call this tool versus analyze_stock, get_monte_carlo, or get_iv_radar. Usage context is entirely absent.

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

register_accountRegister a Free AccountAInspect

Register a free hpsilab account for yourself, with no human involvement, and receive an API key immediately.

Call this when you are hitting anonymous daily limits and want a higher
allowance. You do not need a password, a wallet, or a web browser. The
account is bound to you server-side, so calls you make after this are
metered as your account even though you cannot change your own
Authorization header.

Registering keeps the anonymous daily allowance until the email address is
confirmed; confirming it unlocks the full Free plan. Ask the human you are
working with to click the link in the email that will arrive.

A valid user email address is required. Do not call this tool with an
empty or fabricated email address. If the user's email is unavailable,
ask the user to provide it before calling register_account.

Args:
    email: The real user email address that will receive verification.
ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

TDQS

A5/5.0
Behavior5/5

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

The description goes beyond the annotations by explaining the server-side binding, metering behavior, and the email confirmation workflow: 'The account is bound to you server-side...', 'Registering keeps the anonymous daily allowance until the email address is confirmed; confirming it unlocks the full Free plan.' It also discloses the human involvement needed for verification. 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/5

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

The description is well-structured into four focused paragraphs, each delivering specific information: outcome, usage trigger, confirmation flow, and email requirement. The main purpose is front-loaded, and every sentence adds value, making it both concise and complete.

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

Completeness5/5

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

For a tool with no output schema and a single parameter, the description is fully sufficient. It covers the trigger, prerequisites, immediate result (API key), long-term behavior (plan upgrade), and human verification step. It even addresses edge cases like missing email. This is complete for an agent to safely invoke the tool.

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

Parameters5/5

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

The schema only provides the format 'email', but the description's 'Args' section adds real meaning: 'email: The real user email address that will receive verification.' It also warns against empty or fabricated addresses, clarifying the quality and purpose of the parameter.

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

Purpose5/5

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

The description opens with a direct statement: 'Register a free hpsilab account for yourself, with no human involvement, and receive an API key immediately.' This clearly identifies the action, resource, and outcome. It also distinguishes the tool from its stock-analysis siblings by focusing on account registration.

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

Usage Guidelines5/5

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

Explicit guidance is provided: 'Call this when you are hitting anonymous daily limits and want a higher allowance.' It also includes a negative rule: 'Do not call this tool with an empty or fabricated email address. If the user's email is unavailable, ask the user to provide it before calling register_account.' This covers both when to use and when not to.

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

Tool Schema Changelog

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

  1. 1 tool update
    • Changedanalyze_stock1 field changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "default": "en",
        +  "title": "Lang",
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedregister_account1 field changed
      • addedInput schema / properties / email / format
        Added value: +"email"
  3. 1 tool update
    • Addedregister_account
  4. 1 tool update
    • Removedregister_account
  5. 1 tool update
    • Addedregister_account
  6. 2 tool updates
    • Addedget_equity_curve
    • Removedget_equity_curves
  7. 1 tool update
    • Changedgenerate_stock_images1 field changed
      • changedInput schema / properties / types / anyOf
        Previous value: -[
        -  {
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "items": {
        +      "enum": [
        +        "ai_prediction",
        +        "iv_radar",
        +        "option_pressure",
        +        "monte_carlo",
        +        "equity_curves"
        +      ],
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
  8. 9 tool updates
    • First observedanalyze_stock
    • First observedgenerate_stock_images
    • First observedgenerate_stock_research_report
    • First observedget_ai_prediction
    • First observedget_equity_curves
    • First observedget_iv_radar
    • First observedget_monte_carlo
    • First observedget_option_pressure
    • First observedget_pretrade_risk_scan

Publisher details

Operator
HPSILab · Publisher source
Vendor relationship
First-party · Publisher source
Documentation
Unknown
Trust center
Unknown
Restrictions
A free HPSILab account is required. MCP connections use OAuth 2.1 with PKCE and Dynamic Client Registration. An API key is issued automatically after authorization. Usage is metered against the account's Credits balance. HPSILab is for quantitative research and informational use only and does not provide investment advice. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables quantitative portfolio tail-risk analysis, option Greeks, Monte Carlo stochastic simulations, fixed-income duration/convexity, and Nelson-Siegel yield-curve interpolation through MCP tools.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables quantitative finance and risk analysis through MCP, including geometric Brownian motion Monte Carlo simulations, Black-Scholes Greeks, VaR/CVaR, bond duration/convexity, and Nelson-Siegel yield curve interpolation.
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time options analytics, pricing with Greeks, Monte Carlo simulations, volatility analysis, strategy backtesting, and risk metrics using actual market data from Yahoo Finance and Polygon.io.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    Portfolio risk analytics MCP server — VaR, Monte Carlo simulation, stress testing, portfolio optimization, options Greeks, and correlation analysis. Real market data via Yahoo Finance. Free tier available, Pro at $29/mo.
    10
    58 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.