market-research-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log verbosity. Logs go to stderr. | INFO |
| CACHE_PATH | No | SQLite cache location. | ~/.market-research/cache.db |
| JOURNAL_DIR | No | Output folder for analyze-ticker briefs. | ./analyses/ |
| FRED_API_KEY | No | Free FRED API key used for FRED macro data. | |
| MRM_ENV_FILE | No | Path of a .env file to use instead of the per-user one. | |
| PRICE_PROVIDER | No | Price source to use: 'tiingo' or 'finnhub'. | tiingo |
| SEC_USER_AGENT | No | Your name and email required by the SEC fair access policy, for example 'Your Name you@example.com'. | |
| TIINGO_API_KEY | No | Tiingo API token used when PRICE_PROVIDER is 'tiingo'. | |
| FINNHUB_API_KEY | No | Finnhub 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| get_macro_seriesA | Fetch FRED macro time series (e.g. DGS10, CPIAUCSL, UNRATE, FEDFUNDS). |
| get_price_historyA | Daily price bars (OHLCV plus adjusted close) for a US ticker from one price provider. |
| 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. |
| 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 |
| 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.
|
| get_fundamentalsA | Company fundamentals from SEC XBRL filings (10-K/10-Q), newest period first. |
| get_earnings_calendarA | Next earnings date per ticker within |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_ticker | Sourced one-page research brief for a US-listed ticker. Facts only, no recommendations. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
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.
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.
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.
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.