Yfinance MCP vs Signal8 MCP
A side-by-side look at the Yfinance MCP and Signal8 MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Yfinance MCP for finance & fintech work as a local process; choose Signal8 MCP for finance & fintech as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Yfinance MCP when
- You need dedicated capabilities in the Finance & Fintech domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
yfinance_get_ticker_info, yfinance_get_analyst_price_targets, yfinance_get_analyst_estimates.
Choose Signal8 MCP when
- You need dedicated capabilities in the Finance & Fintech domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
SIGNAL8_API_KEY. - You want tools like
search_companies, get_company_profile, get_quote.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 64/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | API key required |
| Pricing | Free | BYOK (pay the provider) |
| Required env vars | None listed | SIGNAL8_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 203 | 1 |
| Directory activity | 2 views 0 installs 0 upvotes | 6 views 0 installs 0 upvotes |
| Tools | 15 | 101 |
| Full listing | View Yfinance MCP | View Signal8 MCP |
Tools & capabilities
Yfinance MCP tools 15
yfinance_get_ticker_infoRetrieve comprehensive stock data including company information, financials, trading metrics and governance. Returns JSON object with fields including: - Company: symbol, longName, sector, industry, longBusinessSummary, website, city, country - Price: currentPrice, previousClose, open, dayHigh, dayLow, fiftyTwoWeekHigh, fiftyTwoWeekLow - Valuation: marketCap, enterpriseValue, trailingPE, forwardPE, priceToBook, pegRatio - Trading: volume, averageVolume, averageVolume10days, bid, ask, bidSize, askSize - Dividends: dividendRate, dividendYield, exDividendDate, payoutRatio - Financials: totalRevenue, revenueGrowth, earningsGrowth, profitMargins, operatingMargins - Performance: beta, fiftyDayAverage, twoHundredDayAverage, trailingEps, forwardEps Note: Available fields vary by security type. Timestamps are converted to readable dates.yfinance_get_analyst_price_targetsFetch the current price and analyst consensus price targets for a stock. Returns a JSON object with the fields supplied by Yahoo Finance: - current: Current market price - low: Lowest analyst price target - high: Highest analyst price target - mean: Mean analyst price target - median: Median analyst price target Analyst coverage and available fields vary by symbol.yfinance_get_analyst_estimatesFetch consensus estimates, EPS/revenue trends, revisions, recommendations, and earnings history.yfinance_get_fund_dataFetch ETF or mutual-fund composition, holdings, exposures, ratings, and operating details.yfinance_get_upgrades_downgradesFetch analyst upgrades, downgrades, initiations, and price target changes. Returns analyst actions newest first. Fields supplied by Yahoo Finance can include: - GradeDate: Date and time of the analyst action - Firm: Analyst firm name - ToGrade and FromGrade: New and previous ratings - Action: Rating action, such as upgrade, downgrade, initiation, or reiteration - priceTargetAction: Price target action, such as Raises, Lowers, or Maintains - currentPriceTarget and priorPriceTarget: New and previous price targets Available fields vary by symbol and analyst action.yfinance_get_ticker_newsFetch recent news articles and press releases for a specific stock. Returns JSON array where each news item has: - id: Unique article identifier - content: Object containing: - title: Article headline - summary: Brief article summary - pubDate: Publication date (ISO 8601 format) - provider: Object with displayName (e.g., "Yahoo Finance") and url - canonicalUrl: Object with article url, site, region, lang - thumbnail: Object with image URLs and resolutions - contentType: Type of content (e.g., "STORY", "VIDEO") Use this to track company announcements, market sentiment, and breaking news.yfinance_searchSearch Yahoo Finance for stocks, ETFs, and news articles. Returns JSON with search results based on search_type: - 'quotes': Array of securities with: - symbol: Ticker symbol - shortname/longname: Company name - quoteType: Security type (EQUITY, ETF, MUTUALFUND, etc.) - exchange: Exchange code - sector: Business sector - industry: Industry classification - score: Search relevance score - 'news': Array of articles with: - uuid: Article identifier - title: Headline - publisher: News source - link: Article URL - providerPublishTime: Unix timestamp - relatedTickers: Array of related symbols - thumbnail: Image URLs - 'all': Object with both 'quotes' and 'news' arrays Use this to find ticker symbols, discover related securities, or search financial news.yfinance_screenRun a Yahoo Finance screener query. Supports predefined Yahoo screener keys and custom equity, mutual-fund, or ETF query trees.yfinance_screen_gappersRun a custom equity screener tuned for opening-session stock gappers.yfinance_get_topGet top-ranked financial entities within a sector. This unified tool provides access to various rankings: - ETFs and mutual funds focused on the sector - Largest companies by market capitalization - Fastest-growing companies by revenue/earnings - Best-performing stocks by price appreciation Returns JSON data with relevant metrics for each entity type.yfinance_get_price_historyFetch historical price data and optionally generate technical analysis charts. When chart_type is None, returns Markdown table with columns: - Date: Trading date (index) - Open: Opening price - High: Highest price - Low: Lowest price - Close: Closing price - Volume: Trading volume - Dividends: Dividend payments (if any) - Stock Splits: Split events (if any) When chart_type is specified, returns a chart image: - 'price_volume': Candlestick chart with volume bars - 'vwap': Price with Volume Weighted Average Price overlay - 'volume_profile': Volume distribution by price level Set prepost=True to include pre-market and post-market data when available. Note: Not all period/interval combinations are valid. Minute intervals (1m, 5m, etc.) only work with short periods (1d, 5d).yfinance_get_financialsFetch financial statements (income statement, balance sheet, and cash flow) with historical data. Returns JSON with income statement, balance sheet, and cash flow data across reporting periods. Use the data to analyze trends, calculate ratios, or compare periods.- +3 more on the listing page
Signal8 MCP tools 101
search_companiesSearch for companies by name or ticker symbol in the Signal8 database. Returns matching companies with their ticker, name, CIK, and exchange. Use this as the first step to find a company before calling other tools.get_company_profileGet an enriched company profile by ticker symbol. Returns CIK, exchange, sector, industry, market cap, employee count, description, and other fundamental data. This is a lightweight lookup (1 credit) -- use this when you only need basic company info rather than the full bundle. Always includes halted/haltCode/haltedAt trading-halt status (false/null when trading normally); a halted-but-listed ticker reports delisted:false.get_quoteGet the current stock quote for a company including price, volume, change, market cap, and other real-time market data. Use this when a user asks about a stock's current price or trading activity. Always includes halted/haltCode/haltReason/haltedAt/resumptionAt trading-halt fields (false/null when trading normally); a halted ticker returns the last-known quote instead of an error, or currentPrice:null + halted:true when nothing is recoverable.get_market_metricsGet computed market metrics for a company including volume averages, volatility, SMAs, and trend direction. Use when analyzing trading patterns or technical indicators beyond the basic quote.get_short_interestGet short interest data for a company including short volume, short ratio, days to cover, and short percent of float. Use when analyzing bearish sentiment or potential short squeeze setups.get_floatGet float data for a company: floatShares, source, floatDefinition, and as-of date. Use when analyzing share supply. IMPORTANT: check "floatDefinition" to know which float you are reading — "tradeable" (shares outstanding minus affiliates minus restricted/unregistered blocks: what can actually reach the tape; used on filing-derived dilution-snapshot tickers), "non_affiliate" (the SEC I.B.6 figure, which INCLUDES restricted shares held by non-affiliates — not what a trader means by float), "non_affiliate_estimate" (approximated from ownership filings), or "free_float" (vendor methodology). On snapshot tickers "nonAffiliateFloatShares" carries the SEC I.B.6 figure separately — it is the ONLY correct input to baby-shelf / I.B.6 shelf-capacity math; never use the tradeable float there, and never present the non-affiliate figure as tradeable supply. floatShares:null with "floatWithheldReason" set ("restricted_blocks_unnetted" | "stated_figure_impossible" | "affiliate_basis_stale" | "affiliate_figure_declined") means the figure was deliberately WITHHELD, not unavailable — do not substitute a vendor float. On "affiliate_basis_stale", "affiliateBasis.floatLowerBound" / "floatUpperBound" are a RANGE the float lies in (both ends or neither; null = not measurable) — a range to state, never a number to compute with. "restrictedShares":null means NOT MEASURED (a block exists whose size the filings do not state), NEVER zero; "restrictedBlockCount":0 is an answer, not an absence. "affiliateBasisStale" (with basisSpanDays/affiliateAnchorDate) labels a float whose affiliate table is materially older than its share count — the number itself is unchanged.get_float_historyGet the POINT-IN-TIME float history for a company — one sample per trade date (float shares, shares outstanding, and the source the float came from). Use to answer "what was the float on date X" or to see float expand across a dilution event, which the latest-only get_float cannot show. IMPORTANT: this series is FORWARD-ONLY — it began accumulating in mid-2026 and is NOT backfilled, so early/absent history is expected and an empty rows array is a normal result, not an error or a delisted company. Each row carries "source" ("polygon" | "computed" | "sec_10k" | "fmp") because float quality varies by provider — weigh rows accordingly rather than treating all sources as equal. Charged per your API tier.get_historical_pricesGet historical OHLCV price candles for a stock. Supports daily, weekly, and monthly resolutions. Use period shorthand (1M, 3M, 6M, 1Y, 5Y, ALL) or explicit from/to UNIX timestamps. Default is 1 year of daily candles. Use this to compute price returns, chart price history, or analyze volume trends over time.get_stock_price_changeGet percentage price changes for a stock across multiple timeframes: 1D, 5D, 1M, 3M, 6M, YTD, 1Y, 3Y, 5Y, 10Y, and MAX. Use this for quick "how much is it up/down" answers without fetching full candle data.get_financialsGet income statement, balance sheet, and cash flow data for a company. Supports annual, quarterly, and trailing-twelve-month views. Use when analyzing revenue, profitability, debt, or cash position.get_earningsGet historical earnings data for a company including EPS actual vs estimate, revenue actual vs estimate, and surprise percentages. Use when analyzing earnings beats/misses or upcoming earnings expectations.get_executivesGet key executives and officers of a company including name, title, compensation, and tenure. Use when researching company leadership or management quality.- +89 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Yfinance MCP
{
"mcpServers": {
"narumiruna-yfinance-mcp": {
"command": "uvx",
"args": [
"yfmcp@latest"
]
}
}
}
Signal8 MCP
{
"mcpServers": {
"signal8ai-signal8-mcp": {
"command": "npx",
"args": [
"-y",
"@signal8ai/mcp"
],
"env": {
"SIGNAL8_API_KEY": "YOUR_SIGNAL8_API_KEY_HERE"
}
}
}
}
Frequently asked questions
Yfinance MCP is categorized under Finance & Fintech and uses a local stdio subprocess. Signal8 MCP belongs to Finance & Fintech and uses a local stdio subprocess. Pick Yfinance MCP for finance & fintech work and Signal8 MCP for finance & fintech.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Yfinance MCP is listed as free. Auth: no auth required. Signal8 MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add narumiruna-yfinance-mcp and signal8ai-signal8-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Yfinance MCP has a quality signal of 64/100 (Good) with 2 views, 0 installs and 203 GitHub stars. Signal8 MCP has 64/100 (Good) with 6 views, 0 installs and 1 GitHub stars.