Nasdaq Data Link MCP logo

Nasdaq Data Link MCP

by stefanoamorelli

A community developed and maintained Model Context Protocol (MCP) server that provides access to Nasdaq Data Link. It aims to make it easy to access and explore Nasdaq Data Link’s extensive financial and economic datasets through natural language interfaces and large language models (LLMs).

View on GitHub

Last updated: N/A

<div align="center">

📈 Nasdaq Data Link MCP 🤖

</div> <div align="center">

PyPI version

PyPI version

Python 3.10+

Python 3.10+

Build Status

Build Status

Platform

Platform

AI Powered

AI Powered

</div>

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

|

|
World Bank Data

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:

<details> <summary><strong>Example conversations</strong></summary>

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

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.

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

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

You: Show me Microsoft's profitability ratios for the most recent annual report.
Claude: calls get_fundamental_data(symbol="MSFT", dimension="MRY") and presents profitability metrics

You: What's Microsoft's cash flow and R&D spending for the last quarter?
Claude: calls get_detailed_financials(symbol="MSFT", dimension="MRQ") and presents cash flow and R&D data

You: What's Microsoft's asset breakdown and debt-to-equity ratio from the latest balance sheet?
Claude: calls get_balance_sheet_data(symbol="MSFT", dimension="MRQ") and presents relevant balance sheet items

You: How has Microsoft's free cash flow and capital expenditure changed over the past year?
Claude: calls get_cash_flow_data(symbol="MSFT", dimension="MRY") and analyzes free cash flow trends

You: Has Tesla had any stock splits in the last two years?
Claude: calls get_corporate_action_data(symbol="TSLA", action="split") and presents the split history

You: What industry and sector is AMD in, and where is the company located?
Claude: calls get_company_reference_data(symbol="AMD") and presents industry, sector, and location information

</details>

📦 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.

<details> <summary><strong>4. Download World Bank metadata CSV</strong> (optional: only if you plan to use the World Bank database)</summary>

Download the World Bank metadata from Nasdaq Data Link:

Nasdaq Data Link World Bank metadata export

Nasdaq Data Link World Bank metadata export

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

nasdaq-data-link-mcp/nasdaq_data_link_mcp_os/resources/world_data_bank/metadata/metadata.csv
</details>

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

And the PYTHONPATH:

PYTHONPATH=/path/to/your/local/cloned/repo/nasdaq-data-link-mcp

6. Install the MCP Server

mcp install nasdaq_data_link_mcp_os/server.py --env-file .env --name "Nasdaq Data Link MCP Server" --with nasdaq-data-link --with pycountry

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


🛠️ Tools

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


<details> <summary><strong>📈 Retail Trading Activity Tracker</strong></summary>

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.

</details>
<details> <summary><strong>📊 World Bank Tools</strong></summary>

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"
  }
}
</details>
<details> <summary><strong>📈 Equities 360 Tools</strong></summary>

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.


get_fundamental_data

Retrieves fundamental financial data from the Nasdaq Equities 360 Fundamental Summary database.

{
  "action": "tool",
  "name": "get_fundamental_data",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRY"
  }
}

Or using multiple parameters:

{
  "action": "tool",
  "name": "get_fundamental_data",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRQ"
  }
}

Returns fundamental data including profitability ratios (ROA, ROE, ROS), valuation metrics (P/E, P/S), income statement items (revenue, gross profit), and financial health indicators (current ratio, debt-to-equity).


list_fundamental_fields

Lists all available fields in the fundamental summary database with descriptions.

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

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


get_detailed_financials

Retrieves detailed financial data from the Nasdaq Equities 360 Fundamental Details database.

{
  "action": "tool",
  "name": "get_detailed_financials",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRQ"
  }
}

Or using multiple parameters:

{
  "action": "tool",
  "name": "get_detailed_financials",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRY"
  }
}

Returns comprehensive financial statement data including balance sheet items (assets, liabilities, equity), income statement components (revenue, expenses, profit), cash flow details (operating, investing, financing), and detailed financial ratios.


list_detailed_financial_fields

Lists all available fields in the fundamental details database with descriptions.

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

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


get_balance_sheet_data

Retrieves balance sheet data from the Nasdaq Equities 360 Balance Sheet database.

{
  "action": "tool",
  "name": "get_balance_sheet_data",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRQ"
  }
}

Or using multiple parameters:

{
  "action": "tool",
  "name": "get_balance_sheet_data",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRY"
  }
}

Returns comprehensive balance sheet data including assets (current, non-current, intangible), liabilities (current, non-current, debt), stockholders' equity, and key balance sheet metrics.


list_balance_sheet_fields

Lists all available fields in the balance sheet database with descriptions.

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

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


get_cash_flow_data

Retrieves cash flow statement data from the Nasdaq Equities 360 Cash Flow database.

{
  "action": "tool",
  "name": "get_cash_flow_data",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRQ"
  }
}

Or using multiple parameters:

{
  "action": "tool",
  "name": "get_cash_flow_data",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRY"
  }
}

Returns cash flow statement data including operating activities (ncfo), investing activities (ncfi), financing activities (ncff), free cash flow (fcf), capital expenditures (capex), and more.


list_cash_flow_fields

Lists all available fields in the cash flow statement database with descriptions.

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

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


get_corporate_action_data

Retrieves corporate actions data from the Nasdaq Equities 360 Corporate Actions database.

{
  "action": "tool",
  "name": "get_corporate_action_data",
  "params": {
    "symbol": "TSLA",
    "action": "split"
  }
}

Or using other parameters:

{
  "action": "tool",
  "name": "get_corporate_action_data",
  "params": {
    "date": "2023-03-24"
  }
}

Returns information about corporate events such as stock splits, mergers, acquisitions, and other significant company actions that can affect stock price and ownership.


list_corporate_action_fields

Lists all available fields in the corporate actions database with descriptions.

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

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


get_company_reference_data

Retrieves company reference data from the Nasdaq Equities 360 Reference Data database.

{
  "action": "tool",
  "name": "get_company_reference_data",
  "params": {
    "symbol": "AMD"
  }
}

Or using FIGI:

{
  "action": "tool",
  "name": "get_company_reference_data",
  "params": {
    "figi": "BBG000BBQCY0"
  }
}

Returns static information about companies including exchange, industry, sector classification, website URLs, SEC filing links, and location information.


list_reference_data_fields

Lists all available fields in the company reference database with descriptions.

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

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

</details>

🧪 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]
  
  subgraph " "
    G[Statistics NDAQ/STAT]
    H[Fundamentals NDAQ/FS]
    I[Fundamental Details NDAQ/FD]
    J[Balance Sheet NDAQ/BS]
    K[Cash Flow NDAQ/CF]
    L[Corporate Actions NDAQ/CA]
    M[Reference Data NDAQ/RD]
  end

B -.->|Equities 360| G

📚 References


📄 License

MIT License © 2025 Stefano Amorelli