Sentralis Portfolio Risk

Crypto portfolio risk analysis: VaR, scenarios, liquidity and correlation engines as MCP tools.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
65%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~662token 数(工具定义)
~925 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.52%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 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#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本4 个工具
需要认证未记录版本—
需要认证未记录版本—