# BeliefState (ai.beliefstate/investor-research): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.beliefstate%2Finvestor-research/versions/latest)
- Connected to: https://beliefstate.ai/v1/research/mcp
- Homepage: https://docs.beliefstate.ai/guides/mcp-server
- Repository: https://github.com/Antcolombo/beliefstate-agent-integrations
- Scoring rules: v2
- Tools: 18
- Average: 47.4 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how BeliefState (ai.beliefstate/investor-research)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Critical: These tools share the same description: get_tickers, search_companies.
- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `get_tickers`: 20 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: as_of.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `search_companies`: 38 / 100
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_belief_relationships`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: belief_id, as_of, from_entity_id, to_entity_id, max_depth, edge_budget.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: belief_id, from_entity_id. Name the tool or the place that returns it, or models look it up first.
- `search_entities`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: q, kind, as_of, cursor.
  - Minor: No `required` list, so every argument is optional.
- `get_author_track_record`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticker, entity_id, belief_id, corpus, person_id, source_id, published_from, published_through, as_of.
  - Minor: String arguments with no constraint or example: corpus.
  - Minor: Required identifiers whose description does not say where the value comes from: person_id. Name the tool or the place that returns it, or models look it up first.
- `get_belief_catalysts`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticker, entity_id, belief_id, corpus, person_id, source_id, object_status, published_from, published_through, as_of, limit, cursor.
  - Minor: String arguments with no constraint or example: corpus, object_status.
  - Minor: No `required` list, so every argument is optional.
- `get_belief_changes`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: person_id, source_id, domain, event_kind, revision_only, ticker, entity_id, belief_id, corpus, cursor, checkpoint, resync, as_of, changed_since, limit.
  - Minor: String arguments with no constraint or example: ticker, corpus.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument revision_only is unclear.
  - Minor: The meaning of the boolean argument resync is unclear.
- `get_belief_risks`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticker, entity_id, belief_id, corpus, person_id, source_id, object_status, severity, published_from, published_through, as_of, limit, cursor.
  - Minor: String arguments with no constraint or example: corpus, object_status.
  - Minor: No `required` list, so every argument is optional.
- `get_context_assessment`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: context_assessment_id, as_of.
  - Minor: Required identifiers whose description does not say where the value comes from: context_assessment_id. Name the tool or the place that returns it, or models look it up first.
- `get_beliefs`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticker, person_id, direction, status, time_horizon, as_of, cursor.
  - Minor: No `required` list, so every argument is optional.
- `search_beliefs`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ticker, person_id, direction, status, time_horizon, as_of.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_research_visuals`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: belief_id, as_of.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `refresh_market_data`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: ticker.
  - Minor: No `required` list, so every argument is optional.
- `evaluate_belief_scenario`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: belief_id, as_of, scenario, scenario.assumptions, scenario.assumptions[].condition_id, scenario.assumptions[].status.
  - Minor: Required identifiers whose description does not say where the value comes from: belief_id. Name the tool or the place that returns it, or models look it up first.
- `compare_beliefs`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: belief_id, compare_to_belief_id, as_of.
  - Minor: Required identifiers whose description does not say where the value comes from: belief_id, compare_to_belief_id. Name the tool or the place that returns it, or models look it up first.
- `get_research_visual`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: belief_id, as_of.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_brief`: 65 / 100
  - Minor: Arguments without a description: ticker, as_of, cursor.
  - Minor: No `required` list, so every argument is optional.
- `get_belief`: 71 / 100
  - Minor: Arguments without a description: belief_id, as_of.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
