mcp-registry/dev.quantrisk/mcp-server · v1.0.0
Also listed as mcp-registry/io.github.78degrees/quantrisk
As of 2026-10-22 23:17 UTC, the Quantrisk MCP server is up with a Glimind reliability score of 93/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 20 minutes.
Portfolio risk analytics — VaR, Monte Carlo, optimization, options Greeks, stress testing.
Claude Code
claude mcp add --transport http quantrisk-mcp-server https://quantrisk-mcp.quantrisk.workers.dev/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"quantrisk-mcp-server": {
"type": "http",
"url": "https://quantrisk-mcp.quantrisk.workers.dev/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
10 of 10 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
Handshake + tools/list takes ~1,535 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fdev.quantrisk%2Fmcp-server/fixes
{
"name": "analyze_risk",
"description": "Calculate core risk metrics for a portfolio — Value at Risk (VaR), Conditional VaR (CVaR), volatility, beta, and max drawdown.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"positions"
],
"properties": {
"method": {
"enum": [
"historical",
"parametric",
"cornish_fisher"
],
"type": "string",
"default": "historical",
"description": "VaR calculation method. \"historical\" uses empirical return distribution, \"parametric\" assumes normality, \"cornish_fisher\" adjusts for skew and kurtosis. Default: \"historical\"."
},
"benchmark": {
"type": "string",
"default": "SPY",
"maxLength": 10,
"minLength": 1,
"description": "Benchmark ticker for beta calculation, e.g. SPY or QQQ. Default: SPY."
},
"positions": {
"type": "array",
"items": {
"type": "object",
"required": [
"ticker",
"quantity"
],
"properties": {
"ticker": {
"type": "string",
"pattern": "^[A-Z0-9.^-]{1,10}$",
"maxLength": 10,
"minLength": 1,
"description": "Ticker symbol, e.g. AAPL or MSFT. Must be uppercase, 1-10 characters."
},
"quantity": {
"type": "number",
"description": "Number of shares held. Use a negative value to represent a short position."
},
"cost_basis": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"description": "Per-share cost basis in USD. Optional — used only for P&L calculations."
}
},
"additionalProperties": false
},
"maxItems": 500,
"minItems": 1,
"description": "Array of portfolio positions. Each entry needs a ticker and quantity. Free tier: max 20 positions. Paid tier: up to 500."
},
"horizon_days": {
"type": "integer",
"default": 1,
"maximum": 252,
"minimum": 1,
"description": "Risk horizon in trading days. 1 = overnight, 21 ≈ 1 month, 252 ≈ 1 year. Default: 1."
},
"lookback_days": {
"type": "integer",
"default": 252,
"maximum": 1260,
"minimum": 30,
"description": "Number of historical trading days to use. 252 ≈ 1 year, 756 ≈ 3 years. Range: 30-1260. Default: 252."
},
"confidence_level": {
"type": "number",
"default": 0.95,
"maximum": 0.99,
"minimum": 0.01,
"description": "VaR confidence level as a decimal, e.g. 0.95 = 95%. Range: 0.01-0.99. Default: 0.95."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "calculate_greeks",
"description": "Calculate option Greeks (delta, gamma, theta, vega, rho) for individual options or an options portfolio. Uses Black-Scholes for European, binomial for American style. Paid tier only.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"options"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"underlying",
"strike",
"expiry",
"option_type"
],
"properties": {
"style": {
"enum": [
"european",
"american"
],
"type": "string",
"default": "european",
"description": "Option exercise style. \"european\" can only be exercised at expiry (Black-Scholes). \"american\" can be exercised any time (binomial model). Default: \"european\"."
},
"expiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Option expiry date in ISO 8601 format, e.g. 2026-12-19. Must be a future date."
},
"strike": {
"type": "number",
"description": "Option strike price in USD. Must be a positive number.",
"exclusiveMinimum": 0
},
"quantity": {
"type": "integer",
"default": 1,
"description": "Number of contracts. Positive = long, negative = short. Default: 1."
},
"underlying": {
"type": "string",
"pattern": "^[A-Z0-9.^-]{1,10}$",
"maxLength": 10,
"minLength": 1,
"description": "Ticker symbol of the underlying asset, e.g. AAPL."
},
"option_type": {
"enum": [
"call",
"put"
],
"type": "string",
"description": "Option type: \"call\" gives the right to buy, \"put\" gives the right to sell."
},
"market_price": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"description": "Current market price of the option in USD. Required when implied_volatility is not provided."
},
"implied_volatility": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"description": "Implied volatility as a decimal, e.g. 0.25 = 25%. If omitted or null, it is computed from market_price."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Array of option positions to calculate Greeks for. 1-100 options. Results include per-option Greeks and aggregated portfolio Greeks."
},
"risk_free_rate": {
"type": "number",
"default": 0.05,
"maximum": 1,
"minimum": 0,
"description": "Annualized risk-free rate as a decimal, e.g. 0.05 = 5%. Used in Black-Scholes and binomial pricing models. Default: 0.05."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "compare_portfolios",
"description": "Compare two or more portfolio allocations head-to-head across all key risk and return metrics. Paid tier only.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"portfolios"
],
"properties": {
"portfolios": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"positions"
],
"properties": {
"name": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Human-readable label for this portfolio, e.g. 'Current' or 'Rebalanced'. 1-50 chars."
},
"positions": {
"type": "array",
"items": {
"type": "object",
"required": [
"ticker",
"quantity"
],
"properties": {
"ticker": {
"type": "string",
"pattern": "^[A-Z0-9.^-]{1,10}$",
"maxLength": 10,
"minLength": 1,
"description": "Ticker symbol, e.g. AAPL or MSFT. Must be uppercase, 1-10 characters."
},
"quantity": {
"type": "number",
"description": "Number of shares held. Use a negative value to represent a short position."
},
"cost_basis": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"description": "Per-share cost basis in USD. Optional — used only for P&L calculations."
}
},
"additionalProperties": false
},
"maxItems": 500,
"minItems": 1,
"description": "Positions in this portfolio. 1-500 entries."
}
},
"additionalProperties": false
},
"maxItems": 5,
"minItems": 2,
"description": "Two to five named portfolios to compare head-to-head. Each needs a unique name and a list of positions. Min: 2, max: 5."
},
"period_days": {
"type": "integer",
"default": 252,
"maximum": 1260,
"minimum": 30,
"description": "Lookback period in trading days used for return and risk calculations. 252 = ~1 year. Range: 30-1260. Default: 252."
},
"confidence_level": {
"type": "number",
"default": 0.95,
"maximum": 0.99,
"minimum": 0.01,
"description": "VaR confidence level as a decimal, e.g. 0.95 = 95%. Range: 0.01-0.99. Default: 0.95."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/dev.quantrisk/mcp-server"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/dev.quantrisk/mcp-server"}) over MCP.
stress_test ~731 tokensoptimize_portfolio ~672 tokenscalculate_greeks ~636 tokensmonte_carlo_simulation ~582 tokensanalyze_risk ~581 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fdev.quantrisk%2Fmcp-server?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fdev.quantrisk%2Fmcp-server?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.quantrisk%2Fmcp-server.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.quantrisk%2Fmcp-server.svg :target: https://glimind.com/server/mcp-registry%2Fdev.quantrisk%2Fmcp-server?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:17a5113efae5844c…, first seen 2026-10-17, included at leaf 16584 of 48,699. Version history · verify what your client received.
Compare: most reliable finance servers · most reliable data servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-22 23:17 UTC, the Quantrisk MCP server is up with a Glimind reliability score of 93/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 20 minutes.
Quantrisk MCP server advertises 10 tools, including analyze_risk, calculate_greeks, compare_portfolios, correlation_matrix, monte_carlo_simulation.
Point your MCP client at this streamable-http endpoint: https://quantrisk-mcp.quantrisk.workers.dev/mcp
Glimind scanned all 10 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.