BeliefState

ai.beliefstatePublished by beliefstate.aiOfficial publisherv1.0.3Updated Oct 30, 2026

Stock research and investor research for trading agents. 16 x402 tools; data from 0.02 USDC on Base.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinanceKnowledge & Memory

Overview

AI-generated overview

BeliefState gives an assistant cited investor research on stocks: theses, risks, catalysts, author track records and research changes, via a hosted remote MCP…

What you can do
  • Find research subjects and covered tickers, and search investment ideas by thesis, topic or trade setup
  • Read a company or ETF brief, list dated investment cases, and open a full case with risks, conditions and coverage gaps
  • Read evidence-linked risks and catalysts, and compare two cases for support, contradiction or dependency
  • Check an investor's publication-based track record and inspect cited relationship paths within a case
  • Follow an ordered change journal for a case and run hypothetical scenario assumptions against its recorded model
  • List and read cited charts and tables, open engine context assessments, and refresh stale market data
When to use it
Useful when an assistant needs attributed, dated stock or investment-theme research with source links, rather than raw prices: company snapshots, investor theses, risk and catalyst review, or tracking how a case changed over time.
Requirements
A remote Streamable HTTP MCP client. Account access uses OAuth through the MCP client or an account API key sent in the Authorization header; wallet access needs an x402-capable wallet client. Research reads draw on account allowance or prepaid credit, or are paid per call in USDC on Base. The bundled Node.js example needs Node.js 22 or later.
Before you install
Paid research tools charge per call in USDC on Base (0.02 for most data tools, 0.50 for comparison, 1.50 for search), and account reads consume allowance or credit; creating a key or connecting OAuth adds no credit. Keep the API key in private secret storage and keep returned research and state files private. Some tools refresh market data or dispatch billable reads, and an uncertain dispatch may need support reconciliation.

Installation

In SourceWeft

  1. Open BeliefState in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.beliefstate%2Finvestor-research/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "beliefstate": {
      "type": "http",
      "url": "https://beliefstate.ai/v1/research/mcp"
    }
  }
}

README

BeliefState

[M8ven Score]

Bring cited investor theses, risks, catalysts and research changes into your AI through a hosted MCP server.

  • Research with evidence: read attributed investment cases with source links, dates and explicit coverage gaps.
  • Compare views: inspect differing theses, risks, conditions and publication-based outcomes.
  • Follow changes: retrieve dated case revisions, engine assessments and research journals with their separate clocks.

Connection, authentication and pricing

Both research endpoints use Streamable HTTP. No local server or BeliefState SDK is required.

ConnectionRemote endpointAuthentication and billing
Account MCPhttps://beliefstate.ai/mcpOAuth for admitted clients, or Authorization: Bearer with your BeliefState API key. Research uses your account allowance or prepaid credits.
Wallet MCPhttps://beliefstate.ai/v1/research/mcpAn x402-capable client pays in USDC on Base (eip155:8453). No BeliefState account, API key or subscription is required.

Account pay-as-you-go access is $20 for 500 nonexpiring credits ($0.04 per successful research request). One AI question can make several requests. Subscription allowances and existing grants have their own terms; check current account pricing. Connecting a client or creating a key does not add research credit.

Wallet pricing is separate: fourteen data tools cost 0.02 USDC each, compare_beliefs costs 0.50 USDC, and search_beliefs costs 1.50 USDC per call. Inspect the live catalog and exact quotes before authorizing payment. The wallet endpoint requires payment support; an ordinary OAuth-only client cannot pay its quotes.

get_tickers and search_companies are free on both endpoints. Account-only get_tracked_tickers is also free. Browser OAuth availability depends on the client's admission; check Connect AI before paying. The API-key setup below avoids assuming OAuth admission for a new client.

VS Code / GitHub Copilot · Tools · Wallet starter · Research workflow · Other integrations · Support · License

VS Code / GitHub Copilot

Use a current VS Code installation with AI features enabled and a Copilot agent session. This uses the current portable Copilot configuration format and a BeliefState API key; no local MCP runtime is needed.

  1. Sign in to BeliefState account setup and obtain a developer API key for the account you want to use.
  2. Make the key available as BELIEFSTATE_API_KEY in the environment of the host running the agent, using your private secret manager. For a remote workspace or container, provide it there. Start VS Code from that environment; setting it in an unrelated terminal after VS Code starts is insufficient.
  3. Merge this configuration into your personal ~/.copilot/mcp-config.json (or mcp-config.json inside COPILOT_HOME when set). Keep any existing server entries.
json
{  "mcpServers": {    "beliefstate": {      "type": "http",      "url": "https://beliefstate.ai/mcp",      "headers": {        "Authorization": "Bearer ${BELIEFSTATE_API_KEY}"      }    }  }}
  1. Start a new Copilot agent session. Open Chat: Open Customizations > MCP Servers to check beliefstate, and review any server-trust prompt. Enable its tools through Chat: Open Customizations > Tools if needed.
  2. Ask “Which companies does BeliefState cover?” Expand the tool result and confirm BeliefState's free get_tickers returned coverage. Then ask a normal research question, such as “What's the investment case for Nebius?”, when you want to use research credits.

The free coverage call verifies discovery and authentication. A cited research answer additionally verifies research access and available allowance. A saved configuration or a plausible answer alone does not prove that a tool ran.

These steps follow the current VS Code setup guide and MCP configuration reference. The older VS Code servers/${input:...} format is different: interactive inputs are not forwarded to Copilot harness sessions. Never put a literal key in shared configuration, source control or chat. On October 29, 2026, a standard MCP client authenticated to the account endpoint with a Bearer key, listed all 19 tools and completed the free get_tickers call. The VS Code steps follow its current configuration reference; the native editor lifecycle has not been separately tested.

MCP tools

The account endpoint exposes the following 19 tools. The wallet endpoint exposes the same tools except get_tracked_tickers: 16 paid research tools and two free discovery tools. Live server cards provide current tool names and descriptions.

ToolWhat it does
get_briefRead a company or ETF overview, or a bounded current thesis view with citations and gaps.
get_beliefsList dated investment cases filtered by company, subject, investor, direction or time.
get_beliefRead one complete investment case and its permitted supporting evidence.
search_beliefsFind investment ideas by thesis, topic or trade setup with cited matching passages.
compare_beliefsCompare two cited cases for support, contradiction or dependency.
get_belief_risksRead structured, evidence-linked risks and their assessed or unknown status.
get_belief_catalystsRead evidence-linked catalysts and qualified condition statuses.
get_author_track_recordRead stored publication-based outcomes, including losses, pending cases and coverage gaps.
search_entitiesFind released companies, industries, themes and other research subjects.
get_belief_changesRead an ordered journal of revisions, distribution changes and calculated outcomes, preserving each event's domain and dates.
get_context_assessmentRead a dated engine assessment and its evidence, separate from an investor's stated view.
list_research_visualsList cited charts and tables for a case or assessment.
get_research_visualRead a chart or table, including exact rows or data points.
get_belief_relationshipsInspect cited relationship paths within an investment case.
evaluate_belief_scenarioApply hypothetical conditions to a case's recorded model without changing its evidence.
refresh_market_dataExplicitly refresh missing or stale market context, then return a brief; this is a paid research operation.
get_tickersList direct company research coverage and counts. Free.
search_companiesSearch the SEC company directory and check research availability. Free.
get_tracked_tickersRead the connected account's tracked companies. Free; account endpoint only.

Use source dates, citations and coverage warnings from the returned records. Publication-based outcomes are not verified brokerage executions; missing coverage remains unknown.

Run a wallet-funded thesis audit

Use Node.js 22 or later on macOS or Linux. This example buys cited company research over HTTP using x402. It returns the research, source dates, coverage gaps and matching payment receipts for your own assessment. It does not execute trades or call a model. The default is one overview at 0.02 USDC; optional case opens cost another 0.02 each. An overview already includes selected cases, so open more detail only when you need it.

  1. Clone this repository, enter it, and install the pinned dependencies:

    sh
    git clone https://github.com/Antcolombo/beliefstate-agent-integrations.gitcd beliefstate-agent-integrationsnpm ci --ignore-scriptsnpm test
  2. Plan your requested company and spending cap without making network calls:

    sh
    node examples/wallet-thesis-audit.mjs --ticker NBIS --max-usdc 0.02
  3. Check the live unsigned quote. This command cannot sign or pay:

    sh
    node examples/wallet-thesis-audit.mjs --ticker NBIS --max-usdc 0.02 --quote
  4. Provide PAYMENT_WALLET_PRIVATE_KEY from your secret manager for a dedicated programmatic buyer wallet with native USDC on Base. Never export a recovery phrase or put keys in chat, source control, command arguments or shared logs. The buyer wallet is separate from BeliefState's receiving wallet.

  5. Execute the approved purchase with a private state file:

    sh
    node examples/wallet-thesis-audit.mjs --ticker NBIS --max-usdc 0.02 \  --execute --state .private/nbis-wallet-audit.json

Execution checks free released coverage first and validates the quote's exact resource, receiving wallet, native USDC token, Base chain and price before signing. The full authorization is flushed to private state before dispatch. The state directory must be mode 700; its files must be mode 600. Keep the state private, including in backups. Research output and receipts also belong in your private workspace; payment signatures and keys are never printed.

To request detail for up to two case IDs returned by the overview, plan a separate workflow with --max-cases 2 --max-usdc 0.06 and a new state filename, then execute those same arguments. Choose this before starting; an existing state's ticker, cutoff, case limit and cap cannot change. The script reserves every signed purchase against the total cap, including unresolved attempts. It never uses illustrative discovery IDs or automatically buys model search/comparison. The cap covers service payments only; wallet funding, bridges and network fees are separate. Current quotes remain authoritative; changed terms stop execution.

Use --as-of 2026-10-27T12:00:00.000Z for a requested historical UTC cutoff. Otherwise execution fixes its start time as the cutoff and retains it for every case and retry. Dates, source qualifications, omissions and unknowns remain in the returned research. No result is a claim of complete coverage or performance.

If a request is pending, interrupted or fails receipt validation, keep the same state and rerun the same command. Recovery uses the saved exact method, URL, body and signature, without signing again; a replay-only run needs no private key. An expired authorization is still retained for recovery. Honor the saved retry_after/retry_at; the script prevents an early replay. Any unresolved purchase stops subsequent purchases, including on HTTP 402, 410 or 429. HTTP 410 alone does not prove a refund; inspect the private response and resolve the purchase with support before authorizing another one. Do not delete or replace uncertain payment state. A completed run returns its saved output without network calls. Exit status 1 means the run stopped or reached its cap; inspect its status.

An exclusive .lock prevents concurrent use of one state. After a hard process termination, confirm that no process still owns that exact state before removing only its .lock; preserve the payment state. Add --test for owner QA and retain it on every retry so those requests remain excluded from customer analytics.

Dependencies are pinned to @x402/[email protected], @x402/[email protected] and [email protected]. Offline tests use real SDK signatures with a public fixture key and a fake HTTP server function; they do not submit live payments. This starter does not add wallet signing to an MCP host; use an x402-capable host for wallet MCP.

Run a company research update

Requires Node.js 22 or later. No dependency installation is needed.

Get the examples and enter their directory:

sh
git clone https://github.com/Antcolombo/beliefstate-agent-integrations.gitcd beliefstate-agent-integrations

Inspect a dated public research example without credentials or network calls:

sh
npm run demo

The dated sample summarizes a verified October 27, 2026 NBIS run: one current case with a source link, seven journal events, and an intentional stop at the two-read ceiling. The pending continuation remains separate from a completed polling checkpoint. Coverage, omitted cases, unassessed fields and event domains remain explicit. The sample omits account identity, credentials and opaque tokens; it is a compact result summary, not a complete API response or current advice.

Plan the live workflow without making any requests:

sh
node examples/research-changes.mjs --ticker NBIS --since 2026-10-20T00:00:00Z

Use the company and cutoff from your research question. The live workflow checks free released coverage, reads a compact current snapshot with up to three cases, then requests the ordered journal of research changes observed since that cutoff. The output retains attributed evidence, source links, event domains, clocks, quality gaps, history coverage, omissions and warnings. A journal event may be an engine assessment, distribution change or calculated outcome; inspect its domain before describing it as an author's revision.

For live account access, load your existing BELIEFSTATE_API_KEY from your secret store. Creating a key or connecting OAuth does not add research credit. Check current account pricing and available allowance before executing:

sh
mkdir -m 700 .privatenode examples/research-changes.mjs --ticker NBIS --since 2026-10-20T00:00:00Z \  --execute --max-reads 2 --state .private/nbis-first.json > .private/nbis-first-output.json

Create .private with mkdir -m 700 .private before redirecting output into it. The script also creates private state directories when no output redirection is used. Keep returned research, state and checkpoints private. The key is neither saved nor printed. Use --test for owner diagnostics; ordinary customer usage should omit it.

--max-reads caps total account research dispatches in that state file, including an uncertain dispatch. At the October 27 account pay-as-you-go rate, two reads use $0.08 of credit; plan allowances and legacy policies can differ. This is a read-count ceiling, not a currency authorization. Wallet x402 data reads have their separate 0.02-USDC price. This script uses account REST and signs no wallet payments; the existing x402 quickstart owns that path.

If the journal has another page, the script saves the continuation and stops at the read ceiling. Resume the identical command with the same state file and a larger explicit ceiling, up to 20. Completed results are reused locally. The bounded current snapshot is not automatically paginated; its continuation and omission fields remain in the result.

After a completed journal window, start a later poll with a new state file:

sh
node examples/research-changes.mjs --ticker NBIS --previous-state .private/nbis-first.json \  --execute --max-reads 2 --state .private/nbis-next.json

The old checkpoint stays unchanged until the new window is fully drained. resync_required, projection_catching_up and history_uninitialized need attention; they are not “no changes.” The example never creates a new request to recover an uncertain dispatch: account request IDs prevent another debit but completed response bodies are not retained for replay. Retain the state and ask support to reconcile its request ID before another attempt. A .lock file after a crash requires confirming the old process has stopped before removing it.

Run the offline safety checks with npm test.

Other integrations

ResourcePurpose
MCP setup and usage documentationAccount OAuth/API-key and wallet connection guidance.
Published Claude connectorConnect through Claude's supported directory path.
Research skillRetrieval guidance for stock and investment-theme questions.
Postman collectionFree discovery and unsigned x402 quote requests.
gemini-extension.jsonOptional Gemini CLI configuration example; native authentication and research delivery remain unverified.
OpenAPI contractCurrent REST schemas.

Gemini is an optional configuration example, not the verified quick-start path. Check current client availability before authenticating or paying. The research skill supplies instructions; hosted access must be configured separately. The Postman collection contains no credentials or payment signer.

Explore free coverage and schemas without an account or wallet:

sh
curl --fail-with-body https://beliefstate.ai/v1/researchcurl --fail-with-body 'https://beliefstate.ai/v1/tickers?q=NBIS'curl --fail-with-body https://beliefstate.ai/v1/research/get_belief

Support

Report integration issues in this repository. For account, service or private security reports, contact [email protected]. See the MCP setup guide for usage and beliefstate.ai for service information.

License

MIT covers the Gemini configuration, context and Postman collection. MIT also covers the workflow code. Research samples retain the service data terms and their stated provenance and limitations. The research skill uses MIT-0, as declared in its frontmatter. Hosted research access and data remain subject to BeliefState's service terms.

Source: README.md at commit 807a46b

Tools

18

get_belief_risks

Read structured risks

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.

Parametersas_oflimitcorpuscursortickerseveritybelief_identity_idperson_idsource_idobject_statuspublished_from+1 more

get_belief_catalysts

Read structured catalysts

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.

Parametersas_oflimitcorpuscursortickerbelief_identity_idperson_idsource_idobject_statuspublished_frompublished_through

get_author_track_record

Read author track record

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.

Parametersas_ofcorpustickerbelief_identity_idperson_idrequiredsource_idpublished_frompublished_through

search_beliefs

Search investment ideas

Find investment ideas by thesis, topic or trade setup, with cited matching passages. Per-call x402 price: 1.50 USDC on Base.

Parametersqas_oflimitcursorstatustickerdirectionentity_idperson_idtime_horizonchanged_since

get_belief

Read investment case

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.

Parametersas_ofbelief_idrequiredsupport_indexparagraph_indexsupport_text_offset

compare_beliefs

Compare investment ideas

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.

Parametersas_ofbelief_idrequiredcomparison_focuscompare_to_belief_idrequired

get_brief

Research brief

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.

Parametersas_ofcursordetailtickerentity_idmax_results

get_beliefs

List investment ideas

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.

Parametersas_oflimitcursorstatustickerdirectionentity_idperson_idtime_horizonchanged_since

search_entities

Find research subjects

Find released companies, industries, themes and other research subjects by name or kind. Per-call x402 price: 0.02 USDC on Base.

Parametersqkindas_oflimitcursor

get_belief_changes

Research changes

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.

Parametersas_oflimitcorpuscursordomainresynctickerbelief_identity_idperson_idsource_idcheckpoint+3 more

get_context_assessment

Read context assessment

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.

Parametersas_ofcontext_assessment_idrequired

list_research_visuals

List research visuals

List cited charts and tables for one investment case or context assessment. Per-call x402 price: 0.02 USDC on Base.

Parametersas_ofbelief_idvisual_offsetcontext_assessment_id

get_research_visual

Read research visual

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.

Parametersas_ofbelief_idregion_idrow_limitvisual_idrequiredrow_offsetregion_offsetcontext_assessment_id

get_belief_relationships

Inspect case relationships

Inspect cited relationship paths within one investment case. Preserves stated links, engine inferences and unknowns. Per-call x402 price: 0.02 USDC on Base.

Parametersas_ofbelief_idrequiredmax_depthrequirededge_budgetrequiredto_entity_idfrom_entity_idrequired

evaluate_belief_scenario

Test case assumptions

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.

Parametersas_ofscenariorequiredbelief_idrequired

refresh_market_data

Refresh market context

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.

Parameterstickerentity_id

get_tickers

Free research coverage and company discovery.

Parametersas_of

search_companies

Free research coverage and company discovery.

Parametersqrequired

Version history

3
  1. v1.0.3LatestOct 29, 2026
  2. v1.0.2Oct 25, 2026
  3. v1.0.0Oct 17, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts