Talval

Value-investing research: fair values, valuation verdicts, quality scores and 13F portfolios

我该使用它吗

质量与安全性

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

发现(1)

  • LOWTool 'compare_stocks' description lacks action verb在 compare_stocks 中

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

上下文开销

~2,453token 数(工具定义)
~3.3 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.92%)

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

安装

一键安装

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

{
  "mcpServers": {
    "research": {
      "url": "https://talval.com/mcp"
    }
  }
}

远程端点

https://talval.com/mcpstreamable-http
https://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"
  ]
}

社区

评价此服务器

证据

最近观测

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