ValuEdge Stock Research MCP

Read-only stock research; OAuth unlocks your own portfolio, watchlist, and Smart Alerts.

我该使用它吗

质量与安全性

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

发现(2)

  • LOWTool 'get_stock_fundamentals' description lacks action verb在 get_stock_fundamentals 中
  • LOWTool 'analyze_my_portfolio' description lacks action verb在 analyze_my_portfolio 中

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

上下文开销

~5,927token 数(工具定义)
~6.8 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.63%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "valuedge": {
      "url": "https://valuedge.app/mcp"
    }
  }
}

远程端点

https://valuedge.app/mcpstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_securities(query)

Use this when the user gives an ambiguous company name or ticker and you need to resolve it before valuation or comparison. Search is limited to the ValuEdge-supported security universe.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_stock_valuation(ticker)

Use this when the user asks for one stock's ValuEdge fair value, current price, margin of safety, valuation method, assumptions, confidence, or valuation risk. official_fair_value_source identifies the upstream model/component, while valuation_method_label describes headline composition, so a DCF source can accompany a blended headline. specialist_model.fair_value_blend is the optional source-provided equity-model breakdown and may be null when unavailable; blending_applied is independently reconciled from valid top-level canonical DCF/multiples values and weights. Do not use it for a user's private portfolio.

输入模式

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "minLength": 1,
      "maxLength": 24,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-/:^]*$"
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_stock_fundamentals(ticker, history_limit)

Use this when the user asks for a stock's ValuEdge financial history, profitability, growth, balance-sheet evidence, business quality, or data coverage. An optional history_limit requests up to 30 periods of selected metrics, current EPS consensus for at most three future fiscal years where present, quarterly P/E samples from existing monthly observations, and bounded source-native annual income, balance-sheet, and cash-flow statement rows where the existing snapshot contains them. EPS is not normalized and past estimate revisions are unavailable. Selected metric trends remain distinct from the full annual statement JSON. Do not infer a trade instruction.

输入模式

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "minLength": 1,
      "maxLength": 24,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-/:^]*$"
    },
    "history_limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "description": "Optional maximum number of recent annual/quarterly selected-metric rows and annual statement rows (1–30). Omit to preserve the existing compact response. Full annual statement rows retain source fields and currencies; missing source rows/provenance are reported, never filled. Current EPS consensus is capped separately at three future fiscal years; it is not normalized and past revisions are unavailable."
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_stocks(tickers)

Use this when the user asks to compare two to six stocks on current price, canonical fair value, margin of safety, confidence, valuation risk, and fair-value coverage. This tool compares valuation only; use get_stock_fundamentals separately for growth, profitability, or balance-sheet claims. Do not declare a universal winner or give buy, sell, or hold instructions.

输入模式

{
  "type": "object",
  "properties": {
    "tickers": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 24,
        "pattern": "^[A-Za-z0-9][A-Za-z0-9.\\-/:^]*$"
      },
      "minItems": 2,
      "maxItems": 6
    }
  },
  "required": [
    "tickers"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢screen_stocks(preset_id, limit, filters, growth_comparison, sector)

Use this when the user wants a bounded ValuEdge stock screen for research candidates such as undervalued, quality, dividend, large-cap, or positive-free-cash-flow stocks. Choose a preset or compose supported filters for undervalued growth and other requests. Use the smallest faithful filter set and state chosen growth/valuation thresholds. Percentages are decimal fractions (0.15 = 15%). Presets only become stricter. The custom baseline requires market cap >=300 million in listing currency and valid canonical fair value. Public screening is NYSE/NASDAQ stocks with a 60-candidate window and at most 12 returned rows, not an exhaustive market scan; disclose incomplete results, source dates, missing coverage and negative-equity caveats. Arbitrary database queries and trade instructions are not supported.

输入模式

{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "string",
      "enum": [
        "custom",
        "undervalued",
        "high-margin-of-safety",
        "positive-fcf-undervalued",
        "quality-undervalued",
        "dividend-undervalued",
        "large-cap-value",
        "quality-compounders",
        "capitulation"
      ],
      "description": "Defaults to undervalued for preset-only calls, or custom when filters are supplied. Explicit presets retain their baseline conditions."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "default": 10
    },
    "filters": {
      "type": "object",
      "properties": {
        "marketCapMin": {
          "type": "number",
          "minimum": 0,
          "maximum": 100000000000000,
          "description": "At least (>=) Market cap. Absolute market-cap units in the listing currency, not millions or billions. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "marketCapMax": {
          "type": "number",
          "minimum": 0,
          "maximum": 100000000000000,
          "description": "At most (<=) Market cap. Absolute market-cap units in the listing currency, not millions or billions. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "peRatioMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly greater than (>) PE RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "forwardPeMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly greater than (>) FORWARD PE RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "pegRatioMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly greater than (>) PEG ratio. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "psRatioMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly greater than (>) PS RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "pbRatioMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly greater than (>) PB RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "evEbitdaMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly greater than (>) EV EBITDA. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "currentRatioMin": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "description": "Strictly greater than (>) current ratio. Plain ratio/multiple, not a percentage. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "peRatioMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly less than (<) PE RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "forwardPeMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly less than (<) FORWARD PE RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "pegRatioMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly less than (<) PEG ratio. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "psRatioMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly less than (<) PS RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "pbRatioMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly less than (<) PB RATIO. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "evEbitdaMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "exclusiveMinimum": 0,
          "description": "Strictly less than (<) EV EBITDA. Plain ratio/multiple, not a percentage. Missing values do not qualify. Only positive multiples qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "debtEquityMax": {
          "type": "number",
          "minimum": -1000,
          "maximum": 10000,
          "description": "At most (<=) debt equity. Plain ratio/multiple, not a percentage. Missing values do not qualify. Negative equity can produce a negative ratio; this condition alone does not establish low debt. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "dividendYieldMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) Dividend yield. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "freeCashFlowYieldMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) Free cash flow yield. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "roeMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) ROE. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "roaMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) ROA. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "roicMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) ROIC. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "grossMarginMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) GROSS MARGIN. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "operatingMarginMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) OPERATING MARGIN. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "netMarginMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Strictly greater than (>) NET MARGIN. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "revenueGrowthYoyMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Minimum; growth_comparison selects >= or > revenue growth yoy. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "revenueCagr3yMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Minimum; growth_comparison selects >= or > revenue cagr 3y. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "epsGrowthYoyMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Minimum; growth_comparison selects >= or > eps growth yoy. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "fcfGrowthYoyMin": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "Minimum; growth_comparison selects >= or > fcf growth yoy. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "dividendYieldMax": {
          "type": "number",
          "minimum": -10,
          "maximum": 10,
          "description": "At most (<=) Dividend yield. Decimal fraction: 0.15 means 15%; 2 means 200%. Never send whole-percent units. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "minQualityScore": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "description": "At least (>=) Quality score. Score on a 0–100 scale. Missing values do not qualify. Catalog availability: partial_coverage; inspect response coverage and source dates."
        },
        "minMarginOfSafety": {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 0.95,
          "description": "At least this canonical margin of safety: (fair value - price) / fair value. 0.20 means 20%; this is not upside divided by price. Requires valid canonical fair value."
        },
        "positiveFcfOnly": {
          "type": "boolean",
          "const": true,
          "description": "Require the existing positive-FCF gate: free-cash-flow yield > 0.000001 (decimal fraction); omit to leave the selected preset unchanged."
        },
        "profitableOnly": {
          "type": "boolean",
          "const": true,
          "description": "Require positive TTM net margin; omit to leave the selected preset unchanged."
        },
        "dividendOnly": {
          "type": "boolean",
          "const": true,
          "description": "Require the existing dividend gate: dividend yield > 0.000001 (decimal fraction); omit to leave the selected preset unchanged."
        },
        "sortBy": {
          "type": "string",
          "enum": [
            "opportunityScore",
            "marginOfSafety",
            "marketCap",
            "peRatio",
            "dividendYield",
            "roe",
            "revenueGrowthYoy"
          ],
          "description": "Server-side sort within the bounded candidate window. Does not establish an exhaustive universe ranking."
        },
        "sortDir": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "description": "Sort direction; defaults to descending when sortBy is supplied."
        }
      },
      "additionalProperties": false,
      "description": "Optional conjunction (AND) of 1–24 public controls. Only tightens the selected preset; cannot remove its stock-only, exchange, market-cap, or fair-value baseline. Percentages are decimal fractions. Unsupported fields/operators are rejected."
    },
    "growth_comparison": {
      "type": "string",
      "enum": [
        "gte",
        "gt"
      ],
      "description": "For all growth minimums in a custom-filter call: gte means at least (default); gt means strictly greater. Other operators follow each field description: ratio/yield minimums are strict >, positive-multiple maximums are strict <, debt/equity and dividend-yield maximums are <=, and market-cap/score/MOS bounds are inclusive."
    },
    "sector": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "Technology",
            "Healthcare",
            "Financial Services",
            "Consumer Cyclical",
            "Communication Services",
            "Industrials",
            "Consumer Defensive",
            "Energy",
            "Real Estate",
            "Basic Materials",
            "Utilities"
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_my_portfolio(portfolio_name)

Use this when the authenticated user asks to review their own ValuEdge portfolio, holdings, market value, fair-value coverage, allocation, concentration, or risk context. Never accepts a user id and never returns another user's data.

输入模式

{
  "type": "object",
  "properties": {
    "portfolio_name": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢analyze_my_portfolio(portfolio_name)

Use this when the authenticated user asks for their own portfolio concentration, sector or currency allocation, fair-value coverage, or risk context. Explain evidence and limitations without giving buy, sell, or hold instructions.

输入模式

{
  "type": "object",
  "properties": {
    "portfolio_name": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_my_watchlist(watchlist_id)

Use this when the authenticated user asks to review their own ValuEdge watchlist, including current price, canonical fair value, margin of safety, quality signals, and data freshness. Never accepts a user id.

输入模式

{
  "type": "object",
  "properties": {
    "watchlist_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_my_smart_alerts(state, limit)

Use this when the authenticated user asks to review their own ValuEdge Smart Alerts and the valuation context behind them. Never exposes another user's alerts or changes alert state.

输入模式

{
  "type": "object",
  "properties": {
    "state": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        {
          "type": "null"
        }
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "tool": {
          "type": "string"
        },
        "retrieved_at": {
          "type": "string"
        },
        "user_scoped": {
          "type": "boolean"
        },
        "freshness": {
          "type": [
            "string",
            "null"
          ]
        },
        "coverage": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "required": [
        "source",
        "tool",
        "retrieved_at",
        "user_scoped"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "metadata"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具