Polygon MCP Server
# Polygon MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with the Polygon.io API for market data.
## Features
This MCP server provides the following tools:
- **get_ticker_details** - Get details about a ticker symbol
- **get_latest_quote** - Get real-time quote for a ticker
- **get_aggregates** - Get aggregate bars for a ticker
- **get_daily_open_close** - Get daily open/close prices
- **get_market_status** - Check if markets are open
- **get_ticker_news** - Get news articles for a ticker
- **list_tickers** - Search/list available tickers
- **get_snapshot** - Get snapshot of ticker(s)
## Installation
1. Clone this repository
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
## Configuration
The server requires the following environment variable:
- `POLYGON_API_KEY` - Your Polygon.io API key
### MCP Settings Configuration
Add the following to your MCP settings file:
```json
{
"mcpServers": {
"polygon": {
"command": "node",
"args": ["/path/to/polygon-server/build/index.js"],
"env": {
"POLYGON_API_KEY": "your-api-key"
}
}
}
}
```
## Usage Examples
### Get Market Status
```json
{
"tool": "get_market_status",
"arguments": {}
}
```
### Get Ticker Details
```json
{
"tool": "get_ticker_details",
"arguments": {
"ticker": "AAPL"
}
}
```
### Get Historical Data
```json
{
"tool": "get_aggregates",
"arguments": {
"ticker": "AAPL",
"timespan": "day",
"from": "2024-01-01",
"to": "2024-01-31"
}
}
```
### Get News
```json
{
"tool": "get_ticker_news",
"arguments": {
"ticker": "TSLA",
"limit": 5
}
}
```
## Development
- Run in watch mode: `npm run watch`
- Run tests: `npm test`
- Lint code: `npm run lint`
## API Documentation
For more information about the Polygon.io API, visit: https://polygon.io/docs
## License
MIT
TDQS
Scored across 8 tools
Every tool has a clearly distinct purpose focused on different aspects of market data retrieval. Tools like get_aggregates (historical bars), get_daily_open_close (daily prices), get_latest_quote (real-time quote), and get_snapshot (current state) all serve unique functions without overlap, making it easy for an agent to select the right tool.
All tools follow a consistent verb_noun pattern with 'get_' or 'list_' prefixes, using snake_case throughout. This predictability (e.g., get_aggregates, list_tickers) makes the tool set easy to navigate and understand at a glance.
With 8 tools, this server is well-scoped for a financial market data domain, covering essential operations like real-time quotes, historical data, news, and ticker listings. Each tool earns its place without feeling excessive or insufficient for the purpose.
The tool set provides comprehensive coverage for market data retrieval, including real-time, historical, and informational aspects. A minor gap exists in lacking update/delete operations, but this is appropriate for a read-only data source, and agents can work around this limitation effectively.