Skip to main content
Glama
jwaresolutions

Polygon MCP Server

README.md
# 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

B3.4/5.0

Scored across 8 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues