Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BLS_API_KEYNoOptional free BLS API key to raise limit from 25 to 500 queries/day and enable longer history.
SEC_USER_AGENTNoA descriptive user agent with a real contact address (e.g., 'Your Name (you@example.com)') required for SEC EDGAR tools. Requests are refused locally without one.
WEBULL_APP_KEYNoWebull app key for OpenAPI. Used for broker feed and account tools.
FINMCP_BAR_CACHENoSet to '0' to disable the on-disk bar cache shared between the MCP server and dashboard.1
WEBULL_REGION_IDNoWebull region code. Also controls the Yahoo .BK ticker fallback.th
WEBULL_ACCOUNT_IDNoPin a specific Webull account. Required if your login has more than one account; otherwise the server refuses to guess.
WEBULL_APP_SECRETNoWebull app secret for OpenAPI.
WEBULL_ENVIRONMENTNoSet to 'prod' (default) for live trading, or 'paper' (aliases: uat, sandbox, simulated) for Webull's sandbox environment. Note: 'paper' repoints the entire client to the sandbox, including quotes.prod
WEBULL_MAX_RETRIESNoMaximum number of retries for rate-limited Webull API calls before falling back.3
WEBULL_PAPER_APP_KEYNoOptional paper mode app key for Webull's sandbox. Required only if using WEBULL_ENVIRONMENT=paper and you have a separate sandbox app.
WEBULL_RETRY_BACKOFFNoBase seconds for exponential backoff on HTTP 429 responses from Webull.0.75
WEBULL_PAPER_APP_SECRETNoOptional paper mode app secret for Webull's sandbox.
WEBULL_MIN_REQUEST_INTERVALNoMinimum seconds between Webull API calls to avoid rate limiting.0.25

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_connectionA

Tests connection to Webull API and Yahoo Finance fallback.

get_account_infoA

Fetches account list / information from Webull TH (requires authenticated token).

get_market_analysisA

Price action and 50+ technical indicators for a symbol, reported as measured values with each indicator's own standard reading (oversold / overbought, above / below its signal line, inside / outside its band).

This is the usual starting point for a single symbol. For the full picture including fundamentals, filings and insider activity, call get_company_profile instead of chaining calls.

No BUY/SELL score is produced unless you ask for one. The composite verdict is a fixed-weight heuristic that underperformed buy-and-hold in backtest, and an unvalidated score anchors judgment even when it is labelled unvalidated — so the default is to hand back the evidence and leave the call to the reader.

get_technical_indicatorsA

Returns the latest calculated technical indicator values in markdown table format. Use when you want the raw indicator numbers to reason over yourself. If you want the numbers already interpreted into a BUY/SELL verdict, call get_market_analysis instead.

log_journal_entryA

Logs a trade, market thesis, or trading theorem to the local Trading Journal database. Includes atomic file writing & de-duplication protection.

get_ohlcvA

Fetches raw OHLCV (Open, High, Low, Close, Volume) candlestick bars for a symbol. Use when you need the price series itself — to eyeball recent action or do your own maths. For indicators use get_technical_indicators; for a verdict use get_market_analysis.

get_options_chainA

Option chain around the money, with IV rank and the market-implied expected move at the top — the two numbers that tell you whether the board is cheap or dear and how far it is priced to travel.

Strikes are selected to bracket spot, not taken from one end of the ladder. For greeks and put/call skew as well, call get_options_analytics; to hunt unusual flow call get_unusual_options.

scan_watchlistA

Scans a list of stock tickers, calculates consensus score & regime, and returns a ranked verdict table.

get_multi_timeframeA

Performs multi-timeframe analysis across Daily (D), 1-Hour (H1), and 15-Min (M15) for a symbol to compute a Confluence Score.

compare_symbolsA

Compares relative strength, price correlation, and return performance between two tickers.

get_journal_summaryA

Queries local Trading Journal DB for win rate, total trades, average confidence, and recent trade logs.

get_open_positionsA

Pulls open Webull account positions and holdings summary.

get_earningsA

Next earnings date, historical EPS estimates vs actuals, and — critically — whether the upcoming date is CONFIRMED or merely Yahoo's ESTIMATE.

Yahoo publishes an estimated report date as a window ("Oct 28 - Nov 3") and a set one as a single day. Both look identical once formatted, so an estimated date can read as fact and be wrong by a week. This tool says which it is.

Past quarters are confirmed against the SEC: an 8-K carrying Item 2.02 ("Results of Operations") is the filing a company makes when it actually releases a quarter, and its acceptance timestamp is authoritative to the second.

get_sector_heatmapA

Scans the 11 major S&P sector ETFs (Technology, Financials, Energy, Healthcare, Industrial, Consumer, Utilities, Real Estate, Materials) by momentum to identify sector rotation.

set_alertA

Sets a local price or technical indicator alert for a ticker (e.g. "RSI < 30" or "PRICE > 250").

get_unusual_optionsA

Scans for unusual options activity (Volume > Open Interest or high IV > 50%) to detect smart money positioning.

get_short_interestA

Fetches short interest metrics (Short % of Float, Days to Cover / Short Ratio, Shares Short) for squeeze or squeeze-fade thesis.

draft_orderA

Drafts an order for human review and approval in the Streamlit Dashboard. For safety, Claude NEVER places orders directly. All orders must be drafted and manually approved.

preview_orderA

Asks Webull to price and validate an order WITHOUT placing it. Non-binding and safe. Returns the broker's estimated cost and transaction fee, plus a buying-power comparison. Use this before draft_order to check affordability and fees.

get_open_ordersA

Fetches all active/pending/working orders on the Webull account.

cancel_orderA

Cancels a pending or active order on the Webull account immediately.

get_newsA

Fetches the most recent news headlines for a given stock using Yahoo Finance. Crucial for analyzing fundamental catalysts or identifying the source of technical momentum breakouts.

get_insider_tradesA

Recent insider transactions as Yahoo reports them — a quick summary view.

Prefer get_insider_activity for anything you will act on: it parses the Form 4 XML from SEC EDGAR directly, so it can tell an open-market purchase (code P) from a grant or from shares withheld to pay tax on a vest, and it reports whether a sale was pre-scheduled under a Rule 10b5-1 plan. Yahoo's table flattens all of those into one "Transaction" column, which is how routine compensation mechanics get reported as "insiders sold $X".

get_sec_filingsB

Fetches the most recent SEC filings (10-K, 10-Q, 8-K) and their URLs. Provides raw access to corporate regulatory documents.

get_company_profileA

Everything worth knowing about a company, in one call. Start here.

Answers "tell me about X" without the caller needing to know which of the other tools to reach for: what the business is, what it filed with the SEC, what insiders and the market are doing, and where the stock trades. Sections are fetched concurrently, and each is labelled with how much weight its numbers carry — a figure taken from a filing is not the same kind of fact as one scraped from a third-party feed.

calculate_position_sizeA

Sizes a position from account risk rather than gut feel: how many shares can be bought such that being stopped out costs no more than risk_percent of the account. Also reports the ATR-based stop distance for context.

get_volume_profileA

Volume-by-price for a symbol: point of control, value area, and the high and low volume nodes around the current price.

Answers "where did this market previously agree on value, and where did it refuse to trade" — the auction-theory reading that price and oscillators cannot give. High volume nodes are shelves the market accepted and tends to revisit; low volume nodes are thin prices it rejected, and price usually travels through them quickly, so they act as breakout levels.

get_portfolio_riskA

Analyses the live account: position-level P&L, concentration, and portfolio volatility/beta versus SPY. Highlights over-concentration and correlated clusters.

get_options_analyticsA

Options analytics beyond a raw chain: implied-volatility rank and percentile against the past year of realised volatility, the ATM straddle's implied move, put/call skew, and Black-Scholes greeks for near-the-money strikes.

get_company_financialsA

Headline financials taken straight from the company's filed XBRL on SEC EDGAR — revenue, net income, diluted EPS, assets, liabilities, cash, equity and shares outstanding. Every figure carries the form and filing date it came from.

Prefer this over get_company_profile when a number has to be right: this is the filing itself, not a third-party summary of it.

get_insider_activityA

Parsed SEC Form 4 insider transactions — who traded, when, at what price, and crucially whether the sale was made under a Rule 10b5-1 plan.

That distinction is the whole point: a pre-scheduled 10b5-1 sale carries almost no information about an insider's view, while a discretionary open-market sale does. The tool also separates real decisions (codes P/S) from compensation mechanics — option exercises, grants, and shares withheld to pay tax on vesting — which are routinely and wrongly reported as "insiders sold $X".

read_filingA

Read a named section out of a company's latest filing, or search its text.

Filings are far too large to hand over whole — a Micron 10-K is ~610,000 tokens raw and ~97,000 after stripping markup — so this locates what you asked for and returns it under a character budget.

get_institutional_holdingsA

Latest 13F-HR portfolio for an institutional manager — every reported position, largest first. Accepts a ticker (BRK-B) or a raw CIK (1067983).

Positions are merged across the manager rows a fund files separately: Berkshire reports Apple across 12 rows, and reading only the first understates the holding threefold.

get_data_sourcesA

Configuration and remaining quota for every external data source, plus how to raise the limits. Use this when a data tool fails or seems rate-limited.

validate_bls_keyA

Test a BLS registration key against the live API and report which tier it unlocks.

A mistyped key does not raise an error — it silently drops you to the 25/day unregistered limit, which only surfaces days later as an exhausted quota. Run this once after setting BLS_API_KEY.

get_economic_calendarA

Upcoming US macroeconomic events with their scheduled date, time and — where the release has already happened — the number that came out.

Three live sources, all free and keyless: the Bureau of Labor Statistics (CPI, core CPI, PPI, the employment situation/NFP, JOLTS), the Federal Reserve (FOMC rate decisions, flagged when they carry a Summary of Economic Projections), and the BEA (PCE — the Fed's target measure — plus GDP and the trade balance).

Each row carries a reading: the actual print for a release that has happened, or the PREVIOUS print for one that has not. There is no consensus/expectations feed here — street forecasts are a licensed product — so every comparison is against the prior reading and is labelled that way. Do not read a "prior" figure as a forecast for the release being waited on.

get_macro_dataA

Historical macroeconomic series from the BLS with month-over-month and year-over-year changes — the numbers behind the inflation and labour narrative.

get_edgar_filingsA

SEC EDGAR filings, as close to real time as a public feed allows — timestamps carry the second the SEC accepted the document.

Three modes, chosen by what you pass:

  • symbol set → that company's recent filings (earnings 8-Ks, 10-Q, 10-K, Form 4).

  • query set → full-text search across filing bodies, 2001-present.

  • neither → the live firehose of form_type filings from every registrant.

get_updatesA

What has actually changed since a point in time: new SEC filings, macro releases that have printed, and outsized price moves.

Every other tool here answers "what is true now". Answering "what is new" without this means refetching everything and diffing by hand, which is expensive and easy to get wrong. This does the diff against a timestamp you supply.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Blahaj-gif/Finance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server