Skip to main content

Overview

The Financial MCP Server integrates two complementary data sources to provide comprehensive financial information. Each source has distinct advantages and use cases.

YFinance

Free Python Library
  • Yahoo Finance data scraping
  • No API key required
  • Subject to rate limiting
  • 6 tools available

Financial Modeling Prep

Professional API Service
  • Reliable, structured data
  • API key required
  • 250+ requests/day free tier
  • 26 professional tools

YFinance Data Source

What is YFinance?

YFinance is a Python library that scrapes financial data directly from Yahoo Finance. It’s not an API but rather a web scraping tool that mimics browser requests to Yahoo’s servers.
import yfinance as yf

# This is what happens under the hood
ticker = yf.Ticker("AAPL")
info = ticker.info  # Scrapes Yahoo Finance web pages

Advantages

No API keys, subscriptions, or usage fees required
Works immediately without any setup or account creation
Access to years of historical price and volume data

Limitations

Yahoo Finance may temporarily block requests if too many are made
Web scraping can break if Yahoo changes their website structure
Yahoo doesn’t officially support programmatic access
Basic financial data only, no professional analytics

Available YFinance Tools

ToolDescriptionUse Case
get_stock_quoteReal-time stock pricesPortfolio tracking
get_company_overviewCompany informationResearch
get_time_series_dailyHistorical dataBacktesting
search_symbolSymbol lookupDiscovery
get_recommendationsAnalyst ratingsInvestment decisions
get_insider_transactionsInsider tradingSentiment analysis

Financial Modeling Prep (FMP)

What is FMP?

Financial Modeling Prep is a professional financial data API service that provides institutional-grade financial information through a structured REST API.
# Professional API with structured responses
response = requests.get(
    "https://financialmodelingprep.com/api/v3/quote/AAPL",
    params={"apikey": "your_api_key"}
)

Advantages

99.9% uptime, structured data, official API support
26 professional tools covering all aspects of financial analysis
DCF valuations, technical indicators, options data, insider trading
Live market data with minimal latency
From 250 requests/day (free) to millions (enterprise)

Pricing Tiers

TierRequests/DayPriceBest For
Free250$0Development, testing
Starter1,000$15/monthSmall applications
Professional10,000$50/monthProduction apps
Enterprise1,000,000+CustomLarge scale

Available FMP Tools

Core Financial Data (4 tools)

  • fmp_get_stock_quote - Real-time quotes
  • fmp_get_financial_statements - Income, balance sheet, cash flow
  • fmp_get_key_metrics - Financial ratios and metrics
  • fmp_get_dcf_valuation - Discounted cash flow analysis

Market Data (4 tools)

  • fmp_get_market_gainers - Top gaining stocks
  • fmp_get_market_losers - Biggest losers
  • fmp_get_most_active - Highest volume stocks
  • fmp_get_sector_performance - Sector analysis

Advanced Screening (6 tools)

  • fmp_stock_screener - Multi-criteria screening
  • fmp_search_advanced - Enhanced search
  • fmp_get_stock_news - Financial news
  • fmp_get_price_targets - Analyst targets
  • fmp_get_upgrades_downgrades - Rating changes
  • fmp_get_insider_trading_latest - Insider activity

Options & Technical (4 tools)

  • fmp_get_options_chain - Options data
  • fmp_get_options_volume - Options activity
  • fmp_get_technical_indicators - RSI, MACD, etc.
  • fmp_get_moving_averages - Technical analysis

International & Alternative (4 tools)

  • fmp_get_international_gainers - Global markets
  • fmp_get_currency_rates - Forex data
  • fmp_get_crypto_prices - Cryptocurrency
  • fmp_get_commodities - Commodity prices

Professional Analytics (4 tools)

  • fmp_get_analyst_estimates - Earnings estimates
  • fmp_get_earnings_surprises - Beat/miss data
  • fmp_get_senate_trades - Government trading
  • fmp_get_house_trades - Congressional activity

Comparison Matrix

FeatureYFinanceFMP
CostFreeFree tier + paid
ReliabilityModerateHigh
SetupNoneAPI key required
Rate LimitsYahoo’s discretionClearly defined
Data QualityGoodProfessional
Advanced FeaturesBasicExtensive
SupportCommunityOfficial
Real-time DataYesYes
Historical DataExtensiveExtensive
International MarketsLimitedComprehensive

Best Practices

When to Use YFinance

Perfect for prototyping and development without API key setup
Simple price monitoring and basic company information
Learning financial programming without cost barriers
Fallback when FMP daily limits are reached

When to Use FMP

Reliable data for user-facing applications
Advanced metrics, ratios, and valuation models
Applications requiring many daily requests
Need for options, international, or alternative asset data

Server Implementation

Our server implements an intelligent fallback system:

Rate Limiting Handling

The server automatically handles rate limiting:
# Automatic retry with exponential backoff
def handle_yfinance_request(func, *args, **kwargs):
    max_retries = 3
    for attempt in range(max_retries):
        try:
            return func(*args, **kwargs)
        except RateLimitError:
            wait_time = (2 ** attempt) + random.uniform(0, 1)
            time.sleep(wait_time)

Getting Started

1. No Setup Required (YFinance)

# Works immediately
curl "http://localhost:8001/api/v1/stock/AAPL/yfinance"
# Get free API key at financialmodelingprep.com
export FMP_API_KEY="your_api_key"
curl "http://localhost:8001/api/v1/stock/AAPL"

Next Steps