{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_anchoragents-yfinance-mcp-server","slug":"anchoragents-yfinance-mcp-server","name":"yfinance-mcp-server","type":"mcp","url":"https://smithery.ai/servers/AnchorAgents/yfinance-mcp-server","page_url":"https://unfragile.ai/anchoragents-yfinance-mcp-server","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:AnchorAgents/yfinance-mcp-server"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_anchoragents-yfinance-mcp-server__cap_0","uri":"capability://tool.use.integration.real.time.stock.price.retrieval.via.mcp.protocol","name":"real-time stock price retrieval via mcp protocol","description":"Exposes yfinance's ticker data fetching as an MCP tool that LLM agents can invoke to retrieve current and historical stock prices. Implements the Model Context Protocol's tool-calling interface, allowing Claude or other MCP-compatible clients to request stock data through standardized JSON-RPC messages without direct library imports. The server wraps yfinance's Ticker class and marshals responses back through MCP's transport layer (stdio or HTTP).","intents":["I want my AI agent to fetch live stock prices and incorporate them into financial analysis","I need to build a chatbot that can answer questions about current stock valuations","I'm building a portfolio monitoring agent that needs real-time market data"],"best_for":["AI agents and LLM applications requiring live financial data","Teams building financial chatbots or analysis tools","Developers integrating market data into multi-tool agent workflows"],"limitations":["yfinance data is delayed by 15-20 minutes for free tier (no real-time tick data)","Rate-limited by Yahoo Finance; high-frequency polling will trigger throttling","No built-in caching — repeated requests for same ticker hit the network each time","Historical data availability varies by ticker; some delisted symbols return incomplete data"],"requires":["Python 3.8+","yfinance library (installed as dependency)","MCP-compatible client (Claude Desktop, custom MCP host, or Cline)","Network access to Yahoo Finance API endpoints"],"input_types":["ticker symbol (string, e.g., 'AAPL')","date range parameters (optional, ISO 8601 format)"],"output_types":["JSON object with OHLCV data (open, high, low, close, volume)","Structured price history with timestamps"],"categories":["tool-use-integration","financial-data"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_1","uri":"capability://data.processing.analysis.historical.ohlcv.data.aggregation.with.configurable.time.intervals","name":"historical ohlcv data aggregation with configurable time intervals","description":"Retrieves and structures historical open-high-low-close-volume (OHLCV) candlestick data for specified date ranges and intervals (daily, weekly, monthly). Leverages yfinance's built-in resampling and aggregation to convert raw tick data into standardized time-series format. Returns data as JSON arrays suitable for charting libraries or time-series analysis, with automatic handling of market holidays and trading halts.","intents":["I need to backtest a trading strategy against 5 years of daily price data","I want to analyze weekly trends for a stock to identify support/resistance levels","I'm building a chart component that needs OHLCV data in a specific time interval"],"best_for":["Quantitative analysts and traders building backtesting systems","Financial dashboard developers needing historical price series","AI agents performing technical analysis or trend detection"],"limitations":["Interval granularity limited to daily minimum; no intraday tick-level data","Historical data depth varies by ticker (typically 20+ years for major indices, less for newer stocks)","Adjusted close prices may differ from raw close due to splits/dividends; no option to toggle adjustment","Large date ranges (10+ years) may cause memory overhead when aggregating"],"requires":["Python 3.8+","yfinance library","MCP server running and accessible","Valid ticker symbol with historical data available"],"input_types":["ticker symbol (string)","start_date (ISO 8601 or datetime object)","end_date (ISO 8601 or datetime object)","interval (string: '1d', '1wk', '1mo')"],"output_types":["JSON array of OHLCV objects with timestamps","Structured time-series data compatible with pandas DataFrames"],"categories":["data-processing-analysis","financial-data"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_2","uri":"capability://data.processing.analysis.dividend.and.stock.split.history.retrieval","name":"dividend and stock split history retrieval","description":"Fetches corporate action history (dividends, stock splits, rights issues) for a given ticker through yfinance's actions API. Structures this data as MCP tool responses, enabling agents to adjust historical price data or calculate total return metrics that account for distributions. Automatically parses yfinance's internal action tables and normalizes dates and amounts.","intents":["I need to calculate total return including reinvested dividends for a stock","I want to adjust historical prices for stock splits before running technical analysis","I'm building a portfolio tracker that shows dividend income separately from capital gains"],"best_for":["Portfolio analysis and total-return calculation workflows","Financial advisors building client reporting tools","Quantitative researchers adjusting historical data for corporate actions"],"limitations":["Dividend data completeness varies; some international stocks have incomplete history","Special dividends and one-time distributions may be missing or miscategorized","No forward-looking dividend forecasts; only historical actuals","Stock split data may lag by 1-2 trading days on yfinance"],"requires":["Python 3.8+","yfinance library","MCP server instance","Ticker with available corporate action history"],"input_types":["ticker symbol (string)","optional date range (start_date, end_date)"],"output_types":["JSON object with 'dividends' array and 'splits' array","Structured corporate action records with dates and amounts"],"categories":["data-processing-analysis","financial-data"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_3","uri":"capability://data.processing.analysis.ticker.metadata.and.fundamentals.lookup","name":"ticker metadata and fundamentals lookup","description":"Retrieves company metadata (sector, industry, market cap, PE ratio, dividend yield, 52-week range) and fundamental metrics from yfinance's info endpoint. Marshals this data through MCP's tool interface, enabling agents to contextualize price data with company fundamentals. Handles missing fields gracefully and normalizes numeric values across different data types.","intents":["I want my agent to filter stocks by sector or market cap before analyzing them","I need to compare a stock's PE ratio against its industry average","I'm building a stock screener that ranks companies by dividend yield"],"best_for":["Stock screening and filtering agents","Fundamental analysis tools and chatbots","Portfolio construction workflows requiring company context"],"limitations":["Fundamental data is often stale (updated quarterly, not real-time)","Many fields are optional and may be null for smaller or international companies","Sector/industry classification varies by data source; may not align with custom taxonomies","Forward-looking metrics (forward PE, estimated earnings) are estimates and may be inaccurate"],"requires":["Python 3.8+","yfinance library","MCP server","Valid ticker symbol"],"input_types":["ticker symbol (string)"],"output_types":["JSON object with company metadata fields (sector, industry, market_cap, pe_ratio, dividend_yield, etc.)","Structured fundamental metrics"],"categories":["data-processing-analysis","financial-data"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_4","uri":"capability://tool.use.integration.multi.ticker.batch.data.retrieval.with.parallel.fetching","name":"multi-ticker batch data retrieval with parallel fetching","description":"Accepts a list of ticker symbols and returns aggregated price/fundamental data for all tickers in a single MCP call. Implements concurrent fetching using Python's asyncio or threading to parallelize yfinance requests, reducing total latency compared to sequential ticker-by-ticker calls. Structures responses as a JSON array indexed by ticker symbol for easy agent consumption.","intents":["I want to fetch current prices for a 50-stock portfolio in one agent call","I need to compare fundamentals across a sector (e.g., all S&P 500 tech stocks)","I'm building a market dashboard that updates multiple tickers simultaneously"],"best_for":["Portfolio monitoring and rebalancing agents","Market analysis tools comparing multiple securities","Batch data pipelines feeding downstream analysis"],"limitations":["Parallel fetching increases memory usage; very large batches (1000+ tickers) may cause OOM errors","Rate limiting from Yahoo Finance applies to total request volume; batch calls don't bypass throttling","Partial failures (one ticker fails) don't prevent response; failed tickers return error objects mixed with successful data","No built-in retry logic; transient network errors may cause entire batch to fail"],"requires":["Python 3.8+","yfinance library","MCP server with async support","List of valid ticker symbols"],"input_types":["array of ticker symbols (strings)","optional data fields to retrieve (prices, fundamentals, etc.)"],"output_types":["JSON object with ticker symbols as keys, data objects as values","Structured array of results with error indicators for failed tickers"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_5","uri":"capability://data.processing.analysis.currency.conversion.and.forex.data.integration","name":"currency conversion and forex data integration","description":"Retrieves exchange rates and forex data for currency pairs (e.g., EUR/USD) using yfinance's ticker support for forex symbols. Enables agents to convert portfolio values across currencies or analyze forex trends. Handles currency pair naming conventions and returns rates with timestamps for time-series analysis.","intents":["I need to convert a portfolio's international holdings to USD for consolidated reporting","I want to analyze how currency fluctuations impact my returns on foreign stocks","I'm building a multi-currency portfolio tracker that shows values in different base currencies"],"best_for":["International portfolio managers and advisors","Multi-currency financial dashboards","Agents analyzing currency risk in global portfolios"],"limitations":["Forex data is delayed by 15-20 minutes (not real-time interbank rates)","Limited to major currency pairs; exotic or emerging market currencies may have gaps","No forward-looking exchange rate forecasts; only historical and current rates","Bid-ask spreads not provided; only mid-market rates available"],"requires":["Python 3.8+","yfinance library","MCP server","Valid forex ticker symbol (e.g., 'EURUSD=X')"],"input_types":["forex pair symbol (string, e.g., 'EURUSD=X')","optional date range for historical rates"],"output_types":["JSON object with exchange rate and timestamp","Time-series array of historical rates"],"categories":["data-processing-analysis","financial-data"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_6","uri":"capability://safety.moderation.error.handling.and.data.validation.with.fallback.strategies","name":"error handling and data validation with fallback strategies","description":"Implements robust error handling for yfinance failures (invalid tickers, network timeouts, rate limiting) and returns structured error responses through MCP. Validates input parameters (date ranges, ticker formats) before making requests and provides meaningful error messages to agents. Includes optional fallback strategies such as returning cached data or degraded responses when primary data sources fail.","intents":["I want my agent to gracefully handle invalid ticker symbols without crashing","I need to know when data is stale or unavailable so my agent can adjust its behavior","I'm building a resilient system that continues operating even when yfinance is rate-limited"],"best_for":["Production agents requiring high availability","Systems handling user-provided ticker inputs (chatbots, web apps)","Workflows that must continue despite transient data source failures"],"limitations":["Fallback caching requires external storage (Redis, database); not built-in","Error messages may be verbose and require agent-side parsing to extract actionable details","No automatic retry with exponential backoff; agents must implement retry logic themselves","Rate limit detection is heuristic-based; may not catch all throttling scenarios"],"requires":["Python 3.8+","yfinance library","MCP server","Optional: Redis or database for caching fallback data"],"input_types":["ticker symbol (string)","optional parameters (dates, intervals)"],"output_types":["JSON object with 'success' boolean and 'data' or 'error' field","Structured error response with error code and message"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_anchoragents-yfinance-mcp-server__cap_7","uri":"capability://tool.use.integration.mcp.protocol.transport.abstraction.with.stdio.and.http.support","name":"mcp protocol transport abstraction with stdio and http support","description":"Implements the Model Context Protocol's transport layer, supporting both stdio (for local Claude Desktop integration) and HTTP (for remote MCP hosts). Abstracts transport details from tool implementations, allowing the same yfinance tools to work across different client architectures. Handles JSON-RPC message serialization, request routing, and response marshaling according to MCP specification.","intents":["I want to use yfinance tools in Claude Desktop without managing a separate server","I need to run the MCP server remotely and access it from multiple clients","I'm integrating yfinance into a custom MCP host that manages multiple tool servers"],"best_for":["Claude Desktop users adding financial data capabilities","Teams deploying MCP servers in cloud environments","Developers building custom MCP hosts or orchestration layers"],"limitations":["Stdio transport is single-client only; multiple concurrent clients require separate server instances","HTTP transport requires manual authentication/authorization setup; no built-in security","Message size limits may apply depending on transport (e.g., HTTP request body limits)","No built-in load balancing or failover for HTTP deployments"],"requires":["Python 3.8+","MCP SDK for Python","Claude Desktop (for stdio) or custom MCP host (for HTTP)","Network access if using HTTP transport"],"input_types":["JSON-RPC requests conforming to MCP specification"],"output_types":["JSON-RPC responses with tool results or errors"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":25,"verified":false,"data_access_risk":"high","permissions":["Python 3.8+","yfinance library (installed as dependency)","MCP-compatible client (Claude Desktop, custom MCP host, or Cline)","Network access to Yahoo Finance API endpoints","yfinance library","MCP server running and accessible","Valid ticker symbol with historical data available","MCP server instance","Ticker with available corporate action history","MCP server"],"failure_modes":["yfinance data is delayed by 15-20 minutes for free tier (no real-time tick data)","Rate-limited by Yahoo Finance; high-frequency polling will trigger throttling","No built-in caching — repeated requests for same ticker hit the network each time","Historical data availability varies by ticker; some delisted symbols return incomplete data","Interval granularity limited to daily minimum; no intraday tick-level data","Historical data depth varies by ticker (typically 20+ years for major indices, less for newer stocks)","Adjusted close prices may differ from raw close due to splits/dividends; no option to toggle adjustment","Large date ranges (10+ years) may cause memory overhead when aggregating","Dividend data completeness varies; some international stocks have incomplete history","Special dividends and one-time distributions may be missing or miscategorized","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.26,"ecosystem":0.38999999999999996,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.635Z","last_scraped_at":"2026-05-03T15:19:42.883Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=anchoragents-yfinance-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=anchoragents-yfinance-mcp-server"}},"signature":"8jU0xXAP3tA8jUe0g6TkKzR8STU9wYXN2mQJmODLCo//1J6pTlCAEJL1s71843tBsIn8cLJRrNUCvXaWQHoxCw==","signedAt":"2026-06-21T02:58:09.181Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/anchoragents-yfinance-mcp-server","artifact":"https://unfragile.ai/anchoragents-yfinance-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=anchoragents-yfinance-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}