Open Markets

by danchev

279 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server for agentic retrieval of financial data. This server leverages YFinance to provide a simple and efficient way to access historical stock prices, dividends, stock splits, company information, and other financial metrics.

Details

Author
danchev
Downloads
279
Categories
Finance

- Stock information, historical data, and analyst recommendations
- Corporate actions: dividends and stock splits
- Market data: sector performance, indices, trending tickers
- Stock screening by market cap, P/E, yield, sector, and more
- Technical analysis: indicators, volatility, support/resistance
- Options chain, volume analysis, and moneyness filtering

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Open Markets
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Connect to the server via an MCP-compatible client and call the available tools. The README lists the tools and their arguments but does not provide installation or configuration instructions.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "open markets": {
            "yfinance": {
                "command": "uvx",
                "args": [
                    "openmarkets@latest"
                ]
            }
        }
    }
}

McpServers

{
    "yfinance": {
        "command": "uvx",
        "args": [
            "openmarkets@latest"
        ]
    }
}

Open Markets

A Model Context Protocol (MCP) server for agentic retrieval of financial market data. This server leverages YFinance to provide a simple and efficient way to access historical stock prices, dividends, stock splits, company information, and other financial metrics.

This MCP server is designed to be used with various LLM applications that support the Model Context Protocol, such as Claude Desktop and Cursor. It allows users to retrieve financial data in a structured way, making it easy to integrate into AI applications.

Available Tools

This MCP server provides a variety of tools for retrieving financial data. Below is a list of available tools and their main arguments:

---

Stock Information


- get_stock_info(ticker: str)
Get basic information about a stock.

Historical Data

- get_historical_data(ticker: str, period: str = "1mo", interval: str = "1d") Get historical price data for a stock. - get_multiple_tickers(tickers: list[str], period: str = "1d") Get data for multiple stocks at once. - download_bulk_data(tickers: list[str], period: str = "1mo", interval: str = "1d", ...) Download bulk historical data for multiple tickers. - get_ticker_history_metadata(ticker: str) Get available periods, intervals, and metadata for a ticker.

Analyst Data

- get_recommendations(ticker: str) Get analyst recommendations for a stock. - get_analyst_price_targets(ticker: str) Get analyst price targets. - get_upgrades_downgrades(ticker: str) Get recent upgrades and downgrades. - get_recommendations_summary(ticker: str) Get recommendations summary.

Corporate Actions

- get_dividends(symbol: str, period: str = "5y") Get dividend history for a stock. - get_splits_history(symbol: str, period: str = "5y") Get stock split history.

Market Data

- get_market_status() Get current US market status. - get_trending_tickers(region: str = "US", count: int = 10) Get trending/popular tickers. - get_sector_performance() Get sector performance using ETFs. - get_index_data(indices: list[str] = None) Get data for major market indices.

Calendar & Market Hours

- get_market_calendar_info(ticker: str) Get market calendar and session info. - get_market_hours(ticker: str) Get market hours and session information. - get_exchange_info(ticker: str) Get detailed exchange and trading information.

Screener & Search

- screen_stocks_by_criteria(...) Screen stocks by market cap, P/E, dividend yield, sector, etc. - get_similar_stocks(ticker: str, count: int = 5) Find similar stocks by sector and market cap. - get_top_performers(period: str = "1mo", sector: str = None, count: int = 10) Get top performing stocks.

Technical Analysis

- get_technical_indicators(ticker: str, period: str = "6mo") Get technical indicators (SMA, price position, etc.). - get_volatility_metrics(ticker: str, period: str = "1y") Get volatility and risk metrics. - get_support_resistance_levels(ticker: str, period: str = "6mo") Get support and resistance levels.

Options

- get_options_expiration_dates(ticker: str) Get available options expiration dates. - get_option_chain(ticker: str, expiration_date: str = None) Get option chain for a ticker. - get_options_volume_analysis(ticker: str, expiration_date: str = None) Analyze options volume and open interest. - get_options_by_moneyness(ticker: str, expiration_date: str = None, moneyness_range: float = 0.1) Filter options by proximity to current price.

Financial Statements

- get_financials_summary(ticker: str) Get key financial metrics summary.

Funds & ETFs

- get_fund_profile(ticker: str) Get fund/ETF profile. - get_fund_holdings(ticker: str, count: int = 20) Get top holdings of a fund/ETF. - get_fund_sector_allocation(ticker: str) Get sector allocation of a fund/ETF. - get_fund_performance(ticker: str) Get fund/ETF performance metrics. - compare_funds(tickers: list[str]) Compare multiple funds/ETFs.

Crypto

- get_crypto_info(crypto_symbol: str) Get cryptocurrency info. - get_crypto_historical_data(crypto_symbol: str, period: str = "1mo", interval: str = "1d") Get historical data for a cryptocurrency. - get_top_cryptocurrencies(count: int = 10) Get data for top cryptocurrencies. - get_crypto_fear_greed_proxy(crypto_symbols: list[str] = None) Get a proxy for crypto fear/greed index.

Currency & Validation

- get_currency_data(base_currency: str = "USD", target_currencies: list[str] = None) Get currency exchange rates. - validate_tickers(tickers: list[str]) Validate if tickers are valid and available.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.