nasdaq-data-link-mcp

nasdaq-data-link-mcp avatar

by stefanoamorelli

Community Servers

A Nasdaq Data Link MCP (Model Context Protocol) Server

What is nasdaq-data-link-mcp

๐Ÿ“ˆ Nasdaq Data Link MCP ๐Ÿค–

License: MIT PyPI version Python 3.10+ Build Status Platform

A community developed and maintained Model Context Protocol (MCP) server that provides access to Nasdaq Data Link. Built for use with MCP-compatible clients.

This project aims at making easy to access and explore Nasdaq Data Linkโ€™s extensive and valuable financial and economic datasets through natural language interfaces and large language models (LLMs).

๐Ÿ This project uses the official nasdaq/data-link-python SDK

Disclaimer: This is an open-source project not affiliated with or endorsed by Nasdaq, Inc. Nasdaqยฎ is a registered trademark of Nasdaq, Inc.

๐ŸŒ Usage

Retail Trading Activity World Bank Data
Nasdaq Data Link MCP - Retail Trading Activity Nasdaq Data Link MCP - World Bank Data

Once installed and connected to an MCP-compatible client (e.g., Claude Desktop, this server exposes several tools that your AI assistant can use to fetch data.

In this version (0.1.0) the project supports the following databases:

Example conversations might include:

You: What were the most traded stocks by retailers yesterday?
Claude: calls get_rtat(<yetserday>) and returns relevant matches

Or:

You: What was the GDP of Italy in 2022?
Claude: Let me look that up... calls get_indicator_value tool
Claude: The GDP of Italy in 2022 was approximately ... trillion USD.

Or:

You: List all indicators related to COโ‚‚ emissions.
Claude: calls search_worldbank_indicators("CO2") and returns relevant matches

Or:

You: What's the market cap and P/E ratio of Microsoft?
Claude: calls get_stock_stats(symbol="MSFT") and presents the key statistics


๐Ÿ“ฆ Installation

1. Clone the Repository

git clone https://github.com/stefanoamorelli/nasdaq-data-link-mcp.git
cd nasdaq-data-link-mcp

2. Install Requirements

You'll need Python 3.10+ and the mcp CLI.

pip install mcp nasdaq-data-link pycountry

MCP SDK: https://github.com/modelcontextprotocol/python-sdk
Nasdaq Data Link SDK: https://github.com/Nasdaq/data-link-python

3. Get Your API Key

Sign up on https://data.nasdaq.com/ and copy your API key.

4. Download World Bank metadata CSV (optional: only if you plan to use the World Bank database)

Download the World Bank metadata from Nasdaq Data Link:

Nasdaq Data Link World Bank metadata export

And save it as metadata.csv in the following directory:

nasdaq-data-link-mcp/src/resources/world_data_bank/metadata/metadata.csv

5. Configure the Environment

cp .env.example .env

Then edit .env and add your API key:

NASDAQ_DATA_LINK_API_KEY=your_api_key_here

6. Start the MCP Server

mcp install nasdaq_data_link_mcp_os/server.py --env-file .env --name "Nasdaq Data Link MCP Server"

This registers the server with your MCP client (e.g., Claude Desktop).


๐Ÿ› ๏ธ Tools

After installation, the following tools are exposed to MCP clients:


get_rtat10

Retrieves Retail Trading Activity Tracker 10 (RTAT10) data for specific dates and optional tickers.

{
  "action": "tool",
  "name": "get_rtat10",
  "params": {
    "dates": "2025-03-31,2025-03-28,2025-03-27",
    "tickers": "TSLA,TQQQ,SQQQ"
  }
}

Returns RTAT10 data from Nasdaq Data Link for the given dates and tickers.


get_rtat

Retrieves Retail Trading Activity (RTAT) data for specific dates and optional tickers.

{
  "action": "tool",
  "name": "get_rtat",
  "params": {
    "dates": "2025-03-31,2025-03-28,2025-03-27",
    "tickers": "TSLA,TQQQ,SQQQ"
  }
}

Returns RTAT data from Nasdaq Data Link for the given dates and tickers.


get_indicator_value

Fetch the value for a specific indicator and country.

{
  "action": "tool",
  "name": "get_indicator_value",
  "params": {
    "country": "Italy",
    "indicator": "NY.GDP.MKTP.CD"
  }
}

Returns the latest value for that indicator.


country_code

Returns the ISO 3-letter country code (e.g., "ITA" for Italy).

{
  "action": "tool",
  "name": "country_code",
  "params": {
    "countryName": "Italy"
  }
}

list_worldbank_indicators

Returns a list of all 1500+ indicators available.

{
  "action": "tool",
  "name": "list_worldbank_indicators"
}

search_worldbank_indicators

Searches for indicators by keyword.

{
  "action": "tool",
  "name": "search_worldbank_indicators",
  "params": {
    "keyword": "population"
  }
}

get_stock_stats

Retrieves comprehensive statistics for a company from the Nasdaq Equities 360 database.

{
  "action": "tool",
  "name": "get_stock_stats",
  "params": {
    "symbol": "MSFT"
  }
}

Or using FIGI:

{
  "action": "tool",
  "name": "get_stock_stats",
  "params": {
    "figi": "BBG000BPH459"
  }
}

Returns company statistics including market cap, PE ratio, 52-week highs/lows, dividend information, and more.


list_stock_stat_fields

Lists all available fields in the stock statistics database with descriptions.

{
  "action": "tool",
  "name": "list_stock_stat_fields"
}

Returns information about all available fields that can be queried through the get_stock_stats tool.


๐Ÿงช MCP Dev & Debugging

To test the server locally with a UI:

mcp dev nasdaq_data_link_mcp_os/server.py --env-file .env

This opens the MCP Dev interface where you can call tools manually, inspect results, and troubleshoot.


๐Ÿ“Š Architecture Diagram

graph TD
  subgraph "Local Machine"
    A[MCP Server: Nasdaq Data Link MCP] --> C[MCP Client, ie. Claude Desktop]
  end

  C -->|user prompt| D[LLM ie. Claude 3.7 Sonnet]
  D -->|calls tool| A
  A -->|fetches data| B[Nasdaq Data Link API]
  B -.-> E[Retail Trading Activity Tracker]
  B -.-> F[World Bank Metadata]
  B -.-> G[Equities 360 Statistics]

๐Ÿ“š References


๐Ÿ“„ License

MIT License ยฉ 2025 Stefano Amorelli

Leave a Comment

Comments section will be available soon. Stay tuned!

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.