Skip to main content
Glama

Sentralis Portfolio Risk

run_risk_analysis

Submit a risk analysis (engines: monte-carlo, historical-replay, sector-concentration-stress, liquidity-stress, correlation-regime-stress, counterparty-infrastructure-risk, factor-shock, macro-sensitivity). Provide EXACTLY ONE portfolio source: portfolio_ref (a stored portfolio id — see the user's portfolios) OR inline_positions (ad-hoc, max 30 positions of {symbol, amount-as-decimal-string}). config must satisfy the engine's JSON Schema from list_risk_engines. as_of_date (YYYY-MM-DD, engines with asOfDateSupported only) runs the analysis point-in-time: current portfolio composition × historical market data. ALWAYS returns an analysis_id immediately — poll get_analysis_result until status is succeeded or failed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
configYes
engineYes
as_of_dateNo
portfolio_refNo
inline_positionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningful work: it discloses the mandatory async pattern (ALWAYS returns an analysis_id immediately, poll get_analysis_result until succeeded/failed), the 30-position inline cap, and the point-in-time semantics of as_of_date (current composition × historical data). It omits auth requirements, rate limits, and the failure/error surface, so it is strong but not complete.

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?

Dense but front-loaded, with the action and portfolio-sourcing constraint stated first and operational details following. The long parenthetical engine list and the packed final clause cost some readability, though every sentence carries load-bearing information.

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

Completeness4/5

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

For a complex, nested-schema tool with no output schema and no annotations, the description covers the async lifecycle, the return contract (analysis_id), config dependency, and portfolio alternatives. It would be complete at 5 with a note on permissions/limits or what a failed status implies.

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

Parameters5/5

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

Schema coverage is 0%, yet the description supplies semantics for all five parameters beyond the raw schema: portfolio_ref as a stored portfolio id, inline_positions as ad-hoc with max 30 of {symbol, amount-as-decimal-string}, config as engine-specific JSON Schema validated via list_risk_engines, and as_of_date with format plus the asOfDateSupported restriction. This compensates fully for the coverage gap.

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

Purpose5/5

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

Opens with a specific verb+resource ('Submit a risk analysis') and enumerates the eight supported engines, immediately separating it from siblings like get_analysis_result and list_risk_engines. An agent knows exactly what this tool does and what domain it covers without opening the schema.

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?

Explicitly states the one-of portfolio sourcing rule (portfolio_ref OR inline_positions, not both) and routes config validation to list_risk_engines and result retrieval to get_analysis_result. It lacks explicit when-not-to-use guidance (e.g. when to prefer list_risk_engines or how to distinguish stored vs ad-hoc portfolios), so it stops just short of the top.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources