Sentralis Portfolio Risk
Crypto portfolio risk analysis: VaR, scenarios, liquidity and correlation engines as MCP tools.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"portfolio-risk": {
"url": "https://app.sentralis.io/api/mcp"
}
}
}远程端点
https://app.sentralis.io/api/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢list_risk_engines
List the available risk-analysis engines with their JSON-Schema config contracts, limits, and asOfDate (point-in-time) support. Call this before run_risk_analysis to learn the exact config fields each engine requires.
输入模式
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_supported_symbols(query)
Search the supported asset universe (max 100 results). Preflight inline-portfolio symbols here — unknown symbols are dropped from valuation or yield INSUFFICIENT_DATA.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡run_risk_analysis(engine, portfolio_ref, inline_positions, config, as_of_date)
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.
输入模式
{
"type": "object",
"properties": {
"engine": {
"type": "string",
"enum": [
"monte-carlo",
"historical-replay",
"sector-concentration-stress",
"liquidity-stress",
"correlation-regime-stress",
"counterparty-infrastructure-risk",
"factor-shock",
"macro-sensitivity"
]
},
"portfolio_ref": {
"type": "string",
"maxLength": 100
},
"inline_positions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"amount": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"required": [
"symbol",
"amount"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 30
},
"config": {
"type": "object",
"additionalProperties": {}
},
"as_of_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"engine",
"config"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_analysis_result(analysis_id)
Fetch an analysis by id. status=queued → poll again shortly; succeeded → result contains the risk envelope ({ok:true, result} or a persisted domain error like INSUFFICIENT_DATA) plus resolved data dates and the deterministic inputs hash; failed → error explains why.
输入模式
{
"type": "object",
"properties": {
"analysis_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"analysis_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据