Polygon.io
Access real-time and historical financial market data from Polygon.io's API.
[!IMPORTANT] :test_tube: This project is experimental and could be subject to breaking changes.
Polygon.io MCP Server
A Model Context Protocol (MCP) server that provides access to Polygon.io financial market data API through an LLM-friendly interface.
Overview
This server exposes all Polygon.io API endpoints as MCP tools, providing access to comprehensive financial market data including:
- Stock, options, forex, and crypto aggregates and bars
- Real-time and historical trades and quotes
- Market snapshots
- Ticker details and reference data
- Dividends and splits data
- Financial fundamentals
- Market status and holidays
Installation
Prerequisites
- Python 3.10+
- A Polygon.io API key
- Astral UV
- For existing installs, check that you have a version that supports the
uvx
command.
- For existing installs, check that you have a version that supports the
Claude Code
First, install Claude Code
npm install -g @anthropic-ai/claude-code
Use the following command to add the Polygon MCP server to your local environment.
This assumes uvx
is in your $PATH; if not, then you need to provide the full
path to uvx
.
# Claude CLI
claude mcp add polygon -e POLYGON_API_KEY=your_api_key_here -- uvx --from git+https://github.com/polygon-io/mcp_polygon@v0.5.1 mcp_polygon
This command will install the MCP server in your current project.
If you want to install it globally, you can run the command with -s <scope>
flag.
See claude mcp add --help
for more options.
To start Claude Code, run claude
in your terminal.
- If this is your first time using, follow the setup prompts to authenticate
You can also run claude mcp add-from-claude-desktop
if the MCP server is installed already for Claude Desktop.
Claude Desktop
- Follow the Claude Desktop MCP installation instructions to complete the initial installation and find your configuration file.
- Use the following example as reference to add Polygon's MCP server.
Make sure you complete the various fields.
- Path find your path to
uvx
, runwhich uvx
in your terminal. - Replace
<your_api_key_here>
with your actual Polygon.io API key. - Replace
<your_home_directory>
with your home directory path, e.g.,/home/username
(Mac/Linux) orC:\Users\username
(Windows).
- Path find your path to
{
"mcpServers": {
"polygon": {
"command": "<path_to_your_uvx_install>/uvx",
"args": [
"--from",
"git+https://github.com/polygon-io/mcp_polygon@v0.5.1",
"mcp_polygon"
],
"env": {
"POLYGON_API_KEY": "<your_api_key_here>",
"HOME": "<your_home_directory>"
}
}
}
}
Transport Configuration
By default, STDIO transport is used.
To configure SSE or Streamable HTTP, set the MCP_TRANSPORT
environment variable.
Example:
MCP_TRANSPORT=streamable-http \
POLYGON_API_KEY=<your_api_key_here> \
uv run entrypoint.py
Usage Examples
Once integrated, you can prompt Claude to access Polygon.io data:
Get the latest price for AAPL stock
Show me yesterday's trading volume for MSFT
What were the biggest stock market gainers today?
Get me the latest crypto market data for BTC-USD
Available Tools
This MCP server implements all Polygon.io API endpoints as tools, including:
get_aggs
- Stock aggregates (OHLC) data for a specific tickerlist_trades
- Historical trade dataget_last_trade
- Latest trade for a symbollist_ticker_news
- Recent news articles for tickersget_snapshot_ticker
- Current market snapshot for a tickerget_market_status
- Current market status and trading hourslist_stock_financials
- Fundamental financial data- And many more...
Each tool follows the Polygon.io SDK parameter structure while converting responses to standard JSON that LLMs can easily process.
Development
Running Locally
Check to ensure you have the Prerequisites installed.
# Sync dependencies
uv sync
# Run the server
POLYGON_API_KEY=your_api_key_here uv run mcp_polygon
"mcpServers": {
"polygon": {
"command": "/your/path/.cargo/bin/uv",
"args": [
"run",
"--with",
"/your/path/mcp_polygon",
"mcp_polygon"
],
"env": {
"POLYGON_API_KEY": "your_api_key_here",
"HOME": "/Users/danny"
}
}
}
Debugging
For debugging and testing, we recommend using the MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp_polygon run mcp_polygon
This will launch a browser interface where you can interact with your MCP server directly and see input/output for each tool.
Code Linting
This project uses just for common development tasks. To lint your code before submitting a PR:
just lint
This will run ruff format
and ruff check --fix
to automatically format your code and fix linting issues.
Links
Privacy Policy
This MCP server interacts with Polygon.io's API to fetch market data. All data requests are subject to Polygon.io's privacy policy and terms of service.
- Polygon.io Privacy Policy: https://polygon.io/legal/privacy
- Data Handling: This server does not store or cache any user data. All requests are proxied directly to Polygon.io's API.
- API Key: Your Polygon.io API key is used only for authenticating requests to their API.
Contributing
If you found a bug or have an idea for a new feature, please first discuss it with us by submitting a new issue. We will respond to issues within at most 3 weeks. We're also open to volunteers if you want to submit a PR for any open issues but please discuss it with us beforehand. PRs that aren't linked to an existing issue or discussed with us ahead of time will generally be declined.
Related Servers
MCP-PostgreSQL-Ops
MCP-PostgreSQL-Ops is a professional MCP server for PostgreSQL database operations, monitoring, and management. Supports PostgreSQL 12-17 with comprehensive database analysis, performance monitoring, and intelligent maintenance recommendations through natural language queries.
MCP Microsoft SQL Server
An MCP server for integrating with Microsoft SQL Server databases.
MongoDB That Works
A MongoDB MCP server with schema discovery and field validation. Requires a MONGODB_URI environment variable.
Veeva MCP Server by CData
A read-only MCP server by CData that enables LLMs to query live data from Veeva.
HubDB MCP Server by CData
A read-only MCP server by CData that enables LLMs to query live data from HubDB.
Fresha
Access the Fresha Data Connector through Snowflake.
NEPSE Stock Data MCP Server
Access comprehensive stock market data from the Nepal Stock Exchange (NEPSE) via the ShareBazaar API.
COTI Blockchain MCP
Interact with the COTI blockchain for private token and NFT operations, including ERC20 and ERC721, with privacy features.
Memory Custom : PouchDB
Extends the Memory server with PouchDB for robust document-based storage, custom memory file paths, and interaction timestamping.
Certinia MCP Server by CData
A read-only MCP server that allows LLMs to query live Certinia data. Powered by CData.