BeliefState
REMOTE · BELIEFSTATE.AI · 2 COMPONENTS
Stock research and investor research for trading agents. 16 x402 tools; data from 0.02 USDC on Base.
Available components
Last scanned (28 minutes ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 2 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability54
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2826 tokens (~157/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage78
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 22% of tool parameters carry a description.Partial
- Structured output schemas are declared (89% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 0
- Tool “get_brief” rewrote its description, which is the text the model reads security
- “get_brief” reworded the description of “detail” cosmetic
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 25 Oct 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://beliefstate.ai/v1/research/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=beliefstate.ai | CN=WE1,O=Google Trust Services,C=US | 10 Sept 2026 | 9 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d2eaf4deb4c258a20e8bf06b23a38343 |
| SANs: beliefstate.ai, *.beliefstate.ai | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of beliefstate.ai. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| beliefstate.ai. | present | 2371 | 13 | Verified |
| beliefstate.ai. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://beliefstate.ai/v1/research/mcp | Verified | 200 | |
| http (plaintext) | http://beliefstate.ai/v1/research/mcp | HTTPS enforced | 301 | https://beliefstate.ai/v1/research/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_beliefs Compare investment ideas ~148
Compare two cited investment cases for support, contradiction or dependency, including explicit unknown and unrelated outcomes. Optional comparison_focus selects a public research topic within both complete cases; the result applies to that topic only. Shared-source provenance does not establish research independence. Per-call x402 price: 0.50 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | yes | – |
| compare_to_belief_id | string | yes | – |
| comparison_focus | string | – | Optional public research topic or proposition to compare within both complete cases. Supply a topic, not a desired relation, private portfolio information or instructions. Other relations in the case… |
Structured output declared, but exposes no named fields.
No examples provided.
evaluate_belief_scenario Test case assumptions ~76
Apply up to eight hypothetical condition assumptions to a case's recorded scenario model. Does not alter evidence or predict the investor's response. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | yes | – |
| scenario | object | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_author_track_record Read author track record ~166
Read an investor's stored publication-based outcome cohorts over one explicit ticker, entity, Belief or released corpus scope and optional source/publication window. Includes losses, pending and ineligible counts, preserves action/price/horizon cohorts and verified exits. Historical source completeness remains unknown. This read buys no new market data. Narrow scopes exceeding the supported bound. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | – | – |
| corpus | string | – | – |
| entity_id | string | – | – |
| person_id | string | yes | – |
| published_from | string | – | – |
| published_through | string | – | – |
| source_id | string | – | – |
| ticker | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_belief Read investment case ~213
Read a requested complete investment case or evidence beyond a brief, with risks, conditions and coverage gaps. An ordinary library overview can use get_brief without opening each case. Use paragraph_index only when it appears in the returned investment_case; follow support/text offsets. Records without investment_case return their full claims and citations without paragraph selectors. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | yes | – |
| paragraph_index | integer | – | Read exact source support only for a paragraph_index present in the returned investment_case. Records without investment_case do not support this selector. Requires belief_id. Continue with returned… |
| support_index | integer | – | Source support within the selected paragraph; defaults to 0. Use next_support_index for another passage. |
| support_text_offset | integer | – | UTF-16 offset within the selected supporting passage; defaults to 0. Use next_text_offset to continue its text. |
Structured output declared, but exposes no named fields.
No examples provided.
get_belief_catalysts Read structured catalysts ~185
Read evidence-linked Catalyst objects with qualified current status or explicit unknowns. Filter one ticker, entity, Belief or released corpus by person, source, publication dates or status. Current briefs include pending and unassessed attached catalysts; met, missed and superseded records remain available here. Follow signed pagination with identical filters. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | – | – |
| corpus | string | – | – |
| cursor | string | – | – |
| entity_id | string | – | – |
| limit | integer | – | – |
| object_status | string | – | – |
| person_id | string | – | – |
| published_from | string | – | – |
| published_through | string | – | – |
| source_id | string | – | – |
| ticker | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_belief_changes Research changes ~198
Read a mixed, ordered change journal: author-view revisions, distribution changes and calculated publication outcomes are separate domains with distinct clocks. Use belief_id for changes to one case and inspect each event's domain. Use get_brief for a current synthesis; continuation is for requested journal history or polling. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | – | – |
| changed_since | string | – | – |
| checkpoint | string | – | – |
| corpus | string | – | – |
| cursor | string | – | – |
| domain | string | – | – |
| entity_id | string | – | – |
| event_kind | string | – | – |
| limit | integer | – | – |
| person_id | string | – | – |
| resync | boolean | – | – |
| revision_only | boolean | – | – |
| source_id | string | – | – |
| ticker | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_belief_relationships Inspect case relationships ~98
Inspect cited relationship paths within one investment case. Preserves stated links, engine inferences and unknowns. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | yes | – |
| edge_budget | integer | yes | – |
| from_entity_id | string | yes | – |
| max_depth | integer | yes | – |
| to_entity_id | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_belief_risks Read structured risks ~209
Read evidence-linked Risk objects for exactly one ticker, entity, Belief or explicit released corpus. Filter by person, source, publication dates, status or severity. Unknown assessments remain unknown; an empty high-severity filter does not prove no material risks. Current briefs include attached open risks, continuing materialized risks and separately marked unknown concerns; no implicit age or severity cutoff. Follow signed pagination with identical filters. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | – | – |
| corpus | string | – | – |
| cursor | string | – | – |
| entity_id | string | – | – |
| limit | integer | – | – |
| object_status | string | – | – |
| person_id | string | – | – |
| published_from | string | – | – |
| published_through | string | – | – |
| severity | string | – | – |
| source_id | string | – | – |
| ticker | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_beliefs List investment ideas ~243
List dated investment ideas for a requested inventory or filtered research on one ticker or subject. Investor, direction and time filters are optional. An ordinary overview uses get_brief; listing the same research afterward is unnecessary unless the user needs additional cases. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| changed_since | string | – | Find initial research, author revisions, condition checks/plans or released outcomes becoming available after this cutoff. Keeps author dates and stance separate from system activity. Release changes… |
| cursor | string | – | – |
| direction | string | – | – |
| entity_id | string | – | Released subject ID returned by search_entities. |
| limit | integer | – | Requested page size. For ticker/entity belief lists, MCP returns up to twelve complete summaries within its response budget; pagination.limit is the effective size. Continue with next_cursor and the… |
| person_id | string | – | – |
| status | string | – | – |
| ticker | string | – | – |
| time_horizon | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_brief Research brief ~435
Start with overview for an ordinary company or ETF research question, including outlook and changes. Present findings in plain language with named investors, dated source links and important gaps; include record IDs and field names when requested for verification or export. Use detail=current for up to three current Beliefs, each with up to three attached risks and three pending or unassessed catalysts, evidence URLs, timestamps, material qualifications and explicit unknowns. Open risks and materialized risks with supported continuing relevance qualify; no implicit severity or age cutoff. Selection reserves opposing views then distinct stances and recency. The 32 KiB current response reports whole-case omissions, quality gaps and pagination; it is not complete coverage. Full opens machine export. Historical reads preserve their cutoff. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| cursor | string | – | – |
| detail | string | – | Current returns up to three reviewed current Beliefs with up to three Risks and three Catalysts each, direct evidence URLs, clocks and explicit unknowns under 32KiB. Attached open Risks or materializ… |
| entity_id | string | – | Released subject ID returned by search_entities. |
| max_results | integer | – | Maximum returned views. Overview returns at most five (default five); larger valid requests are capped at five with explicit returned and omitted counts. Full supports 1–20. Omit for an ordinary over… |
| ticker | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_context_assessment Read context assessment ~65
Open a dated engine context assessment and its permitted evidence. Engine analysis is separate from an investor's stated view. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| context_assessment_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_research_visual Read research visual ~194
Read one cited chart or table, including its regions and paginated exact rows or data points. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | – | – |
| context_assessment_id | string | – | Open a neutral engine context assessment returned by a brief or ordered change. It is not an author Belief. |
| region_id | string | – | Use a region_id returned in the selected visual's regions to retrieve structured data. |
| region_offset | integer | – | Continue a selected visual's region descriptors using next_region_offset. |
| row_limit | integer | – | Rows or chart points per read; defaults to 50, maximum 100. |
| row_offset | integer | – | Zero-based starting row or chart-point index in the selected region. |
| visual_id | string | yes | Saved visual ID returned by list_research_visuals. |
Structured output declared, but exposes no named fields.
No examples provided.
get_tickers ~24
Free research coverage and company discovery.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
No output schema declared.
No examples provided.
list_research_visuals List research visuals ~102
List cited charts and tables for one investment case or context assessment. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| belief_id | string | – | – |
| context_assessment_id | string | – | Open a neutral engine context assessment returned by a brief or ordered change. It is not an author Belief. |
| visual_offset | integer | – | Continue saved visual descriptors using next_visual_offset. |
Structured output declared, but exposes no named fields.
No examples provided.
refresh_market_data Refresh market context ~67
Explicitly refresh missing or stale market data for one current company or subject, then return its research brief. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| entity_id | string | – | Released subject ID returned by search_entities. |
| ticker | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
search_beliefs Search investment ideas ~240
Find investment ideas by thesis, topic or trade setup, with cited matching passages. Per-call x402 price: 1.50 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| changed_since | string | – | Find initial research, author revisions, condition checks/plans or released outcomes becoming available after this cutoff. Keeps author dates and stance separate from system activity. Release changes… |
| cursor | string | – | Use next_cursor for another page of the same search. |
| direction | string | – | – |
| entity_id | string | – | Released subject ID returned by search_entities. |
| limit | integer | – | Requested page size. For ticker/entity belief lists, MCP returns up to twelve complete summaries within its response budget; pagination.limit is the effective size. Continue with next_cursor and the… |
| person_id | string | – | – |
| q | string | – | Thesis, topic or trade setup. Required on the first page. |
| status | string | – | – |
| ticker | string | – | – |
| time_horizon | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
search_companies ~44
Free research coverage and company discovery.
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | yes | Search the current SEC company directory by ticker or name, independently of direct research coverage. Omit as_of. |
No output schema declared.
No examples provided.
search_entities Find research subjects ~119
Find released companies, industries, themes and other research subjects by name or kind. Per-call x402 price: 0.02 USDC on Base.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| cursor | string | – | – |
| kind | string | – | – |
| limit | integer | – | Requested page size. For ticker/entity belief lists, MCP returns up to twelve complete summaries within its response budget; pagination.limit is the effective size. Continue with next_cursor and the… |
| q | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the BeliefState MCP server?
BeliefState is a hosted endpoint at https://beliefstate.ai/v1/research/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · beliefstate.ai
claude mcp add --transport http ai-beliefstate-investor-research 'https://beliefstate.ai/v1/research/mcp'
What is the BeliefState MCP server?
BeliefState is an MCP server listed in the public MCP registry as ai.beliefstate/investor-research. Stock research and investor research for trading agents. 16 x402 tools; data from 0.02 USDC on Base. This page covers its hosted endpoint (https://beliefstate.ai/v1/research/mcp).
Is the BeliefState MCP server safe to use?
BeliefState scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the BeliefState MCP server expose?
BeliefState exposes 18 tools: get_belief_risks, get_belief_catalysts, get_author_track_record, search_beliefs, get_belief, and 13 more. Their descriptions and schemas cost roughly 2,826 tokens of context every time the server is loaded.
Does the BeliefState MCP server require authentication?
No. We connected to BeliefState without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the BeliefState MCP server still maintained?
BeliefState is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.