# Polygon.io Alternative MCP

> Polygon.io Alternative MCP Server gives you real-time and historical financial data for stocks, crypto, forex, and indices inside your AI agent. Check market status, pull OHLC bars, analyze dividends, or check tick-level trade activity without opening a browser tab. This server handles the full spectrum of market intelligence—from U.S. index snapshots to specific European consumer spending aggregates.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** stock-market, crypto-trading, financial-data, market-analysis, forex-data

## Description

Listen, this MCP Server gives you institutional-grade market data straight into your agent. You don't gotta open a browser tab or switch screens to check anything—you just ask it, and it runs the query for stocks, crypto, forex, indices, and even European consumer spending.

**Market Status and Overview**
You can always confirm if the U.S. markets are actually open, closed, or running a pre- or post-market session by calling **`get_market_status`**. If you're planning trades around a holiday, run **`get_market_holidays`** to see all future market closures. For a quick read on the entire U.S. stock landscape, use **`get_market_snapshot`**, or if you only care about major indices like the S&P 500, **`get_indices_snapshot`** pulls that current view for you.

To get immediate pricing action, call **`get_quotes`** to pull the National Best Bid and Offer (NBBO) quotes for any specific stock right now. If you're looking at derivatives, **`get_options_snapshot`** provides a current snapshot of all available options contracts for one underlying ticker. For discovery, you can run **`list_tickers`** to get a list of every supported asset class or use **`list_exchanges`** to see all known financial exchanges.

**Historical and Time-Series Data**
When you need history, you've got options for different data granularities. For standard stocks, **`get_custom_bars`** pulls aggregated historical Open/High/Low/Close (OHLC) metrics and volume over custom time periods. If you want every single transaction recorded for a stock ticker, use **`get_trades`** to pull tick-level trade data. When dealing with crypto, run **`get_crypto_trades`** to get individual, tick-level trades for specific currency pairs. You can also look back at what's happened with a company’s dividends using **`get_dividends`**, or see the full record of stock splits that have occurred by calling **`get_splits`**. For bonds, **`get_treasury_yields`** retrieves historical U.S. Treasury yield data spanning from one month up to 30 years.

**Calculations and Indicators**
Don't just look at prices; analyze them. You can calculate technical indicators like the Simple Moving Average (SMA) using **`get_sma`** based on historical price data, which helps you structure your trading logic. To find out what futures contracts are available or see all active and expired options contract symbols, run **`list_futures_contracts`** or **`list_options_contracts`**, respectively.

**Specialized Markets and Data Feeds**
We cover everything else too. If you're tracking currency pairs, **`get_forex_conversion`** gives you real-time exchange rates between any two fiat currencies. For crypto trades specifically, **`get_crypto_trades`** pulls the tick data. When analyzing consumer behavior, **`get_merchant_aggregates`** retrieves aggregated spending data for European economies. You're never out of the loop either; **`get_news`** provides real-time structured financial articles sourced from Benzinga.

If you need to know what ticker symbols this server supports—like stock, crypto, or forex—you can run **`list_ticker_types`**. You're covered on asset classes, market status checks, historical data dives, and actionable news feeds. It’s all ready for your AI client to use right out of the gate.

## Tools

### get_crypto_trades
Retrieves individual, tick-level trade data for specified crypto currency pairs.

### get_custom_bars
Pulls aggregated historical Open/High/Low/Close (OHLC) and volume metrics for a stock ticker.

### get_dividends
Retrieves the full history of dividend payouts for specific stocks.

### get_forex_conversion
Gives you real-time currency exchange rates between any two fiat currencies.

### get_indices_snapshot
Retrieves a current, snapshot view of one or more major market indices (like S&P 500).

### get_market_holidays
Lists all future holidays that will affect standard market trading hours.

### get_market_snapshot
Pulls a comprehensive, single snapshot of the entire U.S. stock market for a quick overview.

### get_market_status
Checks if the main markets are currently open, closed, or in pre/post-market sessions.

### get_merchant_aggregates
Retrieves aggregated consumer spending data for European economies.

### get_news
Gets real-time structured financial news articles sourced from Benzinga.

### get_options_snapshot
Retrieves a current snapshot of all available options contracts for one underlying stock ticker.

### get_quotes
Pulls the National Best Bid and Offer (NBBO) quotes for a specific stock right now.

### get_sma
Calculates the Simple Moving Average (SMA) technical indicator based on historical prices.

### get_splits
Retrieves the full record of stock splits that have occurred for a given company.

### get_trades
Pulls tick-level trade data, showing every recorded transaction, for a specific stock ticker.

### get_treasury_yields
Retrieves historical U.S. Treasury yield data spanning from 1 month to 30 years.

### list_exchanges
Provides a list of all known financial exchanges and their associated identifiers.

### list_futures_contracts
Discovers the current specifications and listings for futures contracts.

### list_options_contracts
Retrieves an index listing all active and expired options contract symbols.

### list_ticker_types
Lists every type of ticker symbol the server supports (e.g., stock, crypto).

### list_tickers
Retrieves a complete list of available ticker symbols across all supported asset classes.

## Prompt Examples

**Prompt:** 
```
List all active stock tickers on the NASDAQ exchange.
```

**Response:** 
```
I've retrieved the active tickers for NASDAQ. There are several thousand results; some notable ones include AAPL (Apple Inc.), MSFT (Microsoft Corp.), and AMZN (Amazon.com Inc.). Would you like to filter this list further or inspect a specific ticker?
```

**Prompt:** 
```
Get daily historical bars for TSLA from 2024-01-01 to 2024-02-01.
```

**Response:** 
```
I have the historical data for TSLA. During this period, the price opened at $248.42 on Jan 2nd and closed at $188.86 on Feb 1st. The highest volume was recorded on Jan 25th. Would you like a summary of the average closing price?
```

**Prompt:** 
```
What is the current market status and are there any upcoming holidays?
```

**Response:** 
```
The U.S. stock market is currently 'open'. Forex and Crypto markets are also active. Regarding holidays, the next market closure is for Presidents' Day on February 19th. Is there anything else you'd like to check?
```

## Capabilities

### Get Historical Price Bars
Retrieve Open, High, Low, Close (OHLC) bars and volume metrics for a stock over custom time periods.

### Check Market Status & Holidays
Determine if U.S. markets are open or closed, and list upcoming market holidays affecting trading hours.

### Analyze Crypto Trades
Pull tick-level trade data specifically for various cryptocurrency pairs.

### Get Index & Market Snapshots
Fetch current snapshot data for entire indices or the whole U.S. stock market in one call.

### Find Technical Indicators
Calculate metrics like Simple Moving Averages (SMA) based on historical price data to inform trading strategies.

## Use Cases

### Backtesting a Strategy Idea
A quant needs to backtest an indicator. Instead of downloading massive CSV files, they ask the agent: 'Give me daily OHLC bars for TSLA from 2023-10-01 to 2023-12-31.' The agent uses `get_custom_bars` and provides clean data instantly, letting them check their SMA calculation.

### Checking Market Readiness
A developer needs to know if a trading bot can run. They first call `get_market_status`. If the result is 'closed' or shows a holiday via `get_market_holidays`, they stop their workflow immediately, preventing unnecessary API calls and errors.

### Comparing Crypto vs. Stocks
A researcher wants to compare Ethereum trades against Apple stock performance. They run two separate queries: one for `get_crypto_trades` (ETH/USD) and another using `get_custom_bars` (AAPL), allowing them to analyze both types of assets side-by-side in the same session.

### Deep Dive on Options Trading
A derivatives trader needs options data. They first use `list_tickers` to confirm symbols, then call `list_options_contracts` to get an index, and finally request a specific snapshot using `get_options_snapshot` for the underlying asset.

## Benefits

- Get instant snapshots of the entire U.S. stock market using `get_market_snapshot`. No need to load a dashboard just to gauge current sentiment across major sectors.
- Calculate technical indicators like SMA directly by calling `get_sma` and feeding it historical data. This moves analysis from spreadsheet columns into your chat flow.
- Monitor crypto activity with `get_crypto_trades`, pulling granular, tick-level trade data for pairs that traditional stock servers ignore. Perfect for altcoin research.
- Automate fundamental checks: Use `get_dividends` or `get_splits` to gather a company’s full payout and structural history instantly. This saves hours of manual report digging.
- Get market context immediately by calling `get_market_status`. You know right away if you're asking for data during pre-market, or if the whole thing is closed for holidays via `get_market_holidays`.

## How It Works

The bottom line is that your AI client handles all the API calls and formatting, so you just talk to it.

1. First, subscribe to the server and provide your Polygon.io API Key.
2. Next, prompt your AI client with a specific financial question (e.g., 'What was TSLA's average closing price in Q1?').
3. The agent selects the necessary tool (`get_custom_bars`) and passes the parameters; you get back clean, actionable data.

## Frequently Asked Questions

**How do I find out what assets this server supports?**
Run `list_tickers` to get a massive list of available ticker symbols across all asset classes. If you need more context, check `list_exchanges` first.

**Can I compare crypto trades and stocks in one query? Using get_crypto_trades?**
Yes, your agent can handle this by running multiple tools sequentially. For example, it can pull data using `get_custom_bars` for a stock and then use `get_crypto_trades` for an altcoin in the same prompt.

**What is the best way to get general market sentiment?**
Start with `get_market_snapshot`. This tool provides a high-level view of major indices, giving you a quick gauge of overall current market health without deep diving into individual stocks.

**Do I need to worry about market hours before running get_quotes?**
Always check `get_market_status` first. This tells you if the U.S. markets are currently open or if they're closed for a holiday, so your quote request is relevant.

**What authentication do I need before running get_custom_bars?**
You must supply a valid Polygon.io API key for every request. Your AI client needs to pass this key in the headers; otherwise, the tool will reject the query with an authentication error.

**What happens if I try to run get_trades too frequently?**
The service enforces rate limits on high-volume data. Exceeding the limit returns a 429 status code, meaning your agent needs to implement an exponential backoff strategy before retrying.

**Can I use get_forex_conversion for highly niche currency pairs?**
The tool supports standard global currencies and major indices. If you request an exotic or rarely traded pair, the function will return a specific error indicating unsupported ISO codes.

**If I run get_dividends for a ticker with no history, what data do I receive?**
The tool returns an empty list or a structured JSON object. It won't fail your agent; it simply signals that no dividend records were found for the specified company and date range.

**How can I get historical price data for a specific stock like Apple?**
You can use the `get_custom_bars` tool. Provide the ticker 'AAPL', a multiplier (e.g., '1'), a timespan (e.g., 'day'), and the date range ('from' and 'to') to receive detailed OHLC and volume data.

**Can I check if the stock market is currently open or if there's a holiday?**
Yes. Use `get_market_status` to see the current state of various exchanges, and `get_market_holidays` to see upcoming dates when the markets will be closed.

**How do I find the ticker symbol for a company if I only know its name?**
Use the `list_tickers` tool and provide the company name in the `search` parameter. The agent will return a list of matching tickers along with their primary exchange and asset class.