Talval
Value-investing research: fair values, valuation verdicts, quality scores and 13F portfolios
我该使用它吗
质量与安全性
发现(1)
- LOW在 compare_stocks 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"research": {
"url": "https://talval.com/mcp"
}
}
}远程端点
https://talval.com/mcpstreamable-httphttps://talval.com/mcp/prostreamable-http它能做什么
工具清单
工具(7)
🟢search_stocks(query, limit)
Find a company in Talval's coverage by name or ticker. Typo tolerant. Use this first when you only have a company name.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Company name or ticker, e.g. 'Rheinmetall' or 'RHM.DE'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 8,
"description": "How many matches to return. Raise it when a name is ambiguous across listings — Shell and Unilever trade in more than one place."
}
},
"required": [
"query"
]
}输出模式
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"matches": {
"type": "array",
"description": "Empty when nothing in Talval's coverage matches.",
"items": {
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"sector": {
"type": [
"string",
"null"
]
}
},
"required": [
"ticker"
]
}
}
},
"required": [
"query",
"matches"
]
}🟢get_stock_research(ticker)
Talval's valuation verdict, fair-value estimate, upside, quality/safety/value scores and latest filed results for one ticker. End-of-day snapshot with a date.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Exact ticker as Talval lists it, e.g. 'AAPL', 'RHM.DE', 'PRU.L'."
}
},
"required": [
"ticker"
]
}输出模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"covered": {
"type": "boolean",
"description": "False when Talval does not cover this ticker; every other field is then null."
},
"name": {
"type": [
"string",
"null"
]
},
"sector": {
"type": [
"string",
"null"
]
},
"industry": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"market_cap": {
"type": [
"number",
"null"
]
},
"currency": {
"type": [
"string",
"null"
],
"description": "Trading currency of price and fair value."
},
"as_of": {
"type": [
"string",
"null"
],
"description": "Date of the verdict snapshot, YYYY-MM-DD."
},
"price": {
"type": [
"number",
"null"
]
},
"price_as_of": {
"type": [
"string",
"null"
]
},
"fair_value": {
"type": [
"number",
"null"
],
"description": "Null when withheld — see fair_value_usable and withheld_reason."
},
"fair_value_usable": {
"type": "boolean",
"description": "False when the company reports in a different currency than it trades in, which makes every price-to-fundamentals figure cross-currency nonsense. A false here is a deliberate suppression, not missing data."
},
"withheld_reason": {
"type": [
"string",
"null"
],
"description": "Why fair_value is null, when it is."
},
"upside_pct": {
"type": [
"number",
"null"
],
"description": "Percent, not a fraction."
},
"verdict": {
"type": [
"string",
"null"
],
"description": "Undervalued, Fairly valued or Overvalued."
},
"conviction": {
"type": [
"integer",
"null"
],
"description": "1-10."
},
"risk_level": {
"type": [
"string",
"null"
]
},
"pe_trailing": {
"type": [
"number",
"null"
]
},
"dividend_yield_pct": {
"type": [
"number",
"null"
],
"description": "Forward yield as a PERCENT, e.g. 2.9 for 2.9%."
},
"scores": {
"type": "object",
"description": "0-100, null where the inputs behind a score are missing.",
"properties": {
"value": {
"type": [
"number",
"null"
]
},
"quality": {
"type": [
"number",
"null"
]
},
"safety": {
"type": [
"number",
"null"
]
},
"dividend": {
"type": [
"number",
"null"
]
},
"composite": {
"type": [
"number",
"null"
]
},
"piotroski_f_score": {
"type": [
"integer",
"null"
],
"description": "0-9."
}
}
},
"latest_annual": {
"type": [
"object",
"null"
],
"description": "As reported in the company's own filings — not estimates.",
"properties": {
"fiscal_year": {
"type": [
"integer",
"null"
]
},
"revenue": {
"type": [
"number",
"null"
]
},
"net_income": {
"type": [
"number",
"null"
]
},
"eps_diluted": {
"type": [
"number",
"null"
]
},
"free_cash_flow": {
"type": [
"number",
"null"
]
}
}
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"ticker",
"covered"
]
}🟢screen_stocks(screen, sector, limit)
Run one of Talval's stock screens over the covered universe and return the ranked results with fair value, upside and scores.
输入模式
{
"type": "object",
"properties": {
"screen": {
"type": "string",
"enum": [
"undervalued",
"high_quality",
"safe_dividend",
"undervalued_dividend"
],
"description": "Which screen to run."
},
"sector": {
"type": "string",
"description": "Optional sector filter, e.g. 'Technology'."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 15,
"description": "How many ranked rows to return. The screen is already ranked, so a smaller number gives the strongest names rather than a sample."
}
},
"required": [
"screen"
]
}输出模式
{
"type": "object",
"properties": {
"screen": {
"type": "string"
},
"label": {
"type": [
"string",
"null"
]
},
"sector": {
"type": [
"string",
"null"
],
"description": "The sector filter applied, if any."
},
"rows": {
"type": "array",
"description": "Ranked. Empty when nothing clears the screen.",
"items": {
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"currency": {
"type": [
"string",
"null"
],
"description": "Trading currency of the price and fair value."
},
"price": {
"type": [
"number",
"null"
]
},
"fair_value": {
"type": [
"number",
"null"
]
},
"upside_pct": {
"type": [
"number",
"null"
],
"description": "Percent, not a fraction: 12.5 means +12.5%."
},
"verdict": {
"type": [
"string",
"null"
],
"description": "Undervalued, Fairly valued or Overvalued."
},
"quality_score": {
"type": [
"number",
"null"
]
}
},
"required": [
"ticker"
]
}
}
},
"required": [
"screen",
"rows"
]
}🟢compare_stocks(tickers)
Put two or more tickers side by side on verdict, fair value, upside and scores.
输入模式
{
"type": "object",
"properties": {
"tickers": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 8,
"description": "Tickers to compare."
}
},
"required": [
"tickers"
]
}输出模式
{
"type": "object",
"properties": {
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"currency": {
"type": [
"string",
"null"
],
"description": "Trading currency of the price and fair value."
},
"price": {
"type": [
"number",
"null"
]
},
"fair_value": {
"type": [
"number",
"null"
]
},
"upside_pct": {
"type": [
"number",
"null"
],
"description": "Percent, not a fraction: 12.5 means +12.5%."
},
"verdict": {
"type": [
"string",
"null"
],
"description": "Undervalued, Fairly valued or Overvalued."
},
"quality_score": {
"type": [
"number",
"null"
]
},
"conviction": {
"type": [
"integer",
"null"
]
},
"fair_value_usable": {
"type": "boolean"
},
"value_score": {
"type": [
"number",
"null"
]
},
"safety_score": {
"type": [
"number",
"null"
]
},
"dividend_yield_pct": {
"type": [
"number",
"null"
],
"description": "Percent, e.g. 2.9."
}
},
"required": [
"ticker"
]
}
},
"not_covered": {
"type": "array",
"description": "Tickers asked for that Talval does not cover.",
"items": {
"type": "string"
}
}
},
"required": [
"companies",
"not_covered"
]
}🟢list_superinvestors
The investors Talval tracks through their quarterly 13F filings — portfolio size, position count and largest holdings.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"investors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Pass this to get_superinvestor."
},
"person": {
"type": [
"string",
"null"
]
},
"manager": {
"type": [
"string",
"null"
]
},
"n_positions": {
"type": [
"integer",
"null"
]
},
"portfolio_value_usd": {
"type": [
"number",
"null"
]
},
"quarter_end": {
"type": [
"string",
"null"
],
"description": "The reported quarter, YYYY-MM-DD."
}
},
"required": [
"slug"
]
}
}
},
"required": [
"investors"
]
}🟢get_superinvestor(slug)
One tracked investor's reported holdings and quarter-on-quarter activity. Call list_superinvestors first to get the slug.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Slug, e.g. 'berkshire'."
}
},
"required": [
"slug"
]
}输出模式
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"found": {
"type": "boolean",
"description": "False when no tracked investor has that slug."
},
"person": {
"type": [
"string",
"null"
]
},
"manager": {
"type": [
"string",
"null"
]
},
"quarter_end": {
"type": [
"string",
"null"
]
},
"portfolio_value_usd": {
"type": [
"number",
"null"
]
},
"n_positions": {
"type": [
"integer",
"null"
]
},
"holdings": {
"type": "array",
"description": "Largest first, capped at 30.",
"items": {
"type": "object",
"properties": {
"ticker": {
"type": [
"string",
"null"
]
},
"issuer": {
"type": [
"string",
"null"
]
},
"pct_of_portfolio": {
"type": [
"number",
"null"
],
"description": "Percent, e.g. 12.4."
},
"activity": {
"type": [
"string",
"null"
]
}
}
}
},
"activity": {
"type": [
"object",
"null"
],
"description": "Quarter on quarter. Null when there is no prior filing to compare against.",
"properties": {
"new_buys": {
"type": "array",
"items": {
"type": "string"
}
},
"added_to": {
"type": "array",
"items": {
"type": "string"
}
},
"reduced": {
"type": "array",
"items": {
"type": "string"
}
},
"sold_out": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"required": [
"slug",
"found"
]
}🟢stocks_of_the_week
Talval's current weekly picks — the latest Undervalued verdict per ticker, refreshed weekly.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"week_start": {
"type": [
"string",
"null"
]
},
"note": {
"type": [
"string",
"null"
],
"description": "This week's written note, when there is one."
},
"picks": {
"type": "array",
"description": "Empty when nothing is published for this week yet.",
"items": {
"type": "object",
"properties": {
"rank": {
"type": [
"integer",
"null"
]
},
"ticker": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"sector": {
"type": [
"string",
"null"
]
},
"verdict": {
"type": [
"string",
"null"
]
},
"conviction": {
"type": [
"integer",
"null"
]
}
},
"required": [
"ticker"
]
}
}
},
"required": [
"picks"
]
}社区
证据