Skip to main content
Glama
romanmoravskyi

market-research-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLog verbosity. Logs go to stderr.INFO
CACHE_PATHNoSQLite cache location.~/.market-research/cache.db
JOURNAL_DIRNoOutput folder for analyze-ticker briefs../analyses/
FRED_API_KEYNoFree FRED API key used for FRED macro data.
MRM_ENV_FILENoPath of a .env file to use instead of the per-user one.
PRICE_PROVIDERNoPrice source to use: 'tiingo' or 'finnhub'.tiingo
SEC_USER_AGENTNoYour name and email required by the SEC fair access policy, for example 'Your Name you@example.com'.
TIINGO_API_KEYNoTiingo API token used when PRICE_PROVIDER is 'tiingo'.
FINNHUB_API_KEYNoFinnhub API key used when PRICE_PROVIDER is 'finnhub'.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Check that the market-research server is running.

resolve_tickerA

Resolve a ticker (e.g. MSFT, BRK.B) or company name to its SEC CIK, exchange and SIC industry code. Source: SEC EDGAR.

list_filingsA

List a company's SEC filings, newest first. Filter by form types (e.g. ["10-K", "10-Q", "8-K"]) and filing date since (YYYY-MM-DD). Source: SEC EDGAR.

get_macro_seriesA

Fetch FRED macro time series (e.g. DGS10, CPIAUCSL, UNRATE, FEDFUNDS).

Returns, per series: title, units, frequency, last_updated and observations
(date, value; missing values are null) oldest to newest, the last `limit` points
on or after `start` (YYYY-MM-DD). `as_of` is the date of the last observation.
Up to 10 series per call. Source: FRED, Federal Reserve Bank of St. Louis.
get_price_historyA

Daily price bars (OHLCV plus adjusted close) for a US ticker from one price provider.

Only interval "1d" is supported. Dates are YYYY-MM-DD. Returns at most `limit` most recent
bars in the range. The response names the provider; there is no fallback to another one.
get_price_statsB

Price statistics from one provider's adjusted closes: 1m/3m/1y/5y returns (21/63/252/1260 trading days), 5-year max drawdown with peak and trough dates, 52-week high/low and 1-year annualized volatility. Descriptive only; not a recommendation.

get_filing_sectionA

Plain text of one section of a 10-K or 10-Q filing, in chunks of about 24,000 characters. section: an item such as "1A", "Item 7", "7A", "1", "2", "Part II Item 1A", or a name such as "Risk Factors" or "MD&A" (10-Q: MD&A is Part I Item 2). Pass the returned next_cursor to get the next chunk. Get accession numbers from list_filings. Source: SEC EDGAR.

get_filing_exhibitA

Plain text of one exhibit of a filing (e.g. "EX-99.1", the press release attached to an earnings 8-K), in chunks of about 24,000 characters. Pass the returned next_cursor to get the next chunk. Get accession numbers from list_filings. Source: SEC EDGAR.

get_insider_transactionsA

Insider transactions reported on SEC Form 4, newest first: insider, role, date, transaction code, shares, price, holdings after, derivative flag and Rule 10b5-1 flag. Only non-derivative codes P and S count as open-market purchases/sales; derivative rows, awards (A), tax withholding (F), option exercises (M) and other codes are labelled not open-market. Includes Form 4/A amendments (an amendment replaces its original in the totals). Filings where the company reports as an owner of another issuer are skipped. since is a filing date (YYYY-MM-DD, default 12 months ago). Source: SEC EDGAR Form 4.

get_fundamentalsA

Company fundamentals from SEC XBRL filings (10-K/10-Q), newest period first.

metrics: any of revenue, gross_profit, operating_income, net_income, diluted_eps,
basic_eps, operating_cash_flow, capex, total_debt, cash, shares_diluted,
shares_outstanding (default: all). periods: "annual" or "quarterly". n: number of
periods (1-40). Each value carries the XBRL tag used, the period dates, the filing's
form, accession, filed date and URL. Missing values are null with a reason.
Source: SEC EDGAR XBRL companyfacts.
get_earnings_calendarA

Next earnings date per ticker within days_ahead days (1-180, max 20 tickers).

Source: Finnhub earnings calendar; when Finnhub has nothing (or no key / unavailable) the
date is estimated from prior SEC 8-K Item 2.02 filings and marked estimated=True.
Each row names its own method and source. No EPS or revenue forecasts are returned.

Prompts

Interactive templates invoked by user choice

NameDescription
analyze_tickerSourced one-page research brief for a US-listed ticker. Facts only, no recommendations.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation4/5

Each tool targets a distinct resource: prices (history vs. stats), SEC filings (list vs. section vs. exhibit), insider transactions, fundamentals, macro series, earnings calendar. The closest pair is get_price_stats vs. get_price_history, but the stat-vs-bars distinction is clearly stated and rarely confused. The filing trio is hierarchical and the descriptions make the entry points obvious.

Naming Consistency5/5

Uniform snake_case verb_noun convention throughout: get_*, list_*, resolve_*. Only 'ping' lacks a noun, which is conventional for a health check and does not break the pattern.

Tool Count5/5

Eleven tools is squarely in the well-scoped range, and each one maps to a distinct data source or retrieval mode. No filler or redundant tools.

Completeness4/5

Strong coverage: prices, fundamentals, filings, insider activity, macro data, and earnings dates span the core research workflow. Gaps exist around earnings actuals/EPS surprises, news/sentiment, and peer comparison, but agents can work around these by combining existing tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues