nasdaq-data-link-mcp

nasdaq-data-link-mcp

16

Nasdaq Data Link MCP is an open-source Model Context Protocol server designed for large language models to access financial data from Nasdaq Data Link. It provides tools for accessing multiple financial and economic datasets, empowering users to query and analyze data via natural language interfaces.

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

PyPI version Python 3.13+ Build Status Platform AI Powered PyPI Downloads

A community developed and maintained Model Context Protocol (MCP) server that provides access for large language models to the 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).

๐Ÿ Nasdaq Data Link MCP uses the official Nasdaq/data-link-python SDK.

[!IMPORTANT] This is an open-source project not affiliated with or endorsed by Nasdaq, Inc. Nasdaqยฎ is a registered trademark of Nasdaq, Inc.

๐ŸŒ Usage

[!TIP] If you use this project in your research or work, please cite it using the file, or the APA format:

Amorelli, S. (2025). Nasdaq Data Link MCP (Model Context Protocol) Server [Computer software]. GitHub. https://github.com/stefanoamorelli/nasdaq-data-link-mcp

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

This project currently supports the following databases:

Example conversations

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 latest trading data for Apple?
Claude: calls get_trade_summary_data() and presents the trading data

You: Show me yesterday's trading volume for the top tech stocks. Claude: calls get_trade_summary_data() and analyzes volume data

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

You: Can you find information about mutual funds that are open-ended?
Claude: calls get_fund_master_report(investment_company_type="N-1A") and returns the fund information

You: Show me the performance metrics for fund ABCDX for the past year
Claude: calls get_performance_statistics(ticker="ABCDX") and presents the performance metrics

You: What are the fees associated with the Growth Fund?
Claude: first finds the fund ID with get_fund_master_report(name="Growth Fund"), then calls get_fees_and_expenses(fund_id="{fund_id}") and presents the fee structure

You: Compare the historical NAV for ABCDX over the last month
Claude: calls get_price_history(ticker="ABCDX", start_date="{30 days ago}", end_date="{today}") and presents the NAV trend

You: What is the investment strategy of fund ABCDX?
Claude: first finds the fund ID with get_share_class_information(ticker="ABCDX"), then calls get_fund_information(fund_id="{fund_id}") and presents the investment strategy


๐Ÿ“ฆ 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.13+ and the mcp CLI.

uv init mcp
uv add "mcp[cli]"

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

5. Install the MCP Server

uv run 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).

Docker ๐Ÿณ

If you prefer using a container, a prebuilt image is available on Docker Hub. Pull the latest image and run it with your Nasdaq Data Link API key:

docker pull stefanoamorelli/nasdaq-data-link-mcp:latest
docker run -e NASDAQ_DATA_LINK_API_KEY="your_api_key_here" stefanoamorelli/nasdaq-data-link-mcp:latest

The container automatically launches the MCP server defined in nasdaq_data_link_mcp_os/server.py, so once it starts you can connect to it just like the manual setup.

Cline example

See the Cline documentation for instructions on managing MCP configuration.

Provide Cline with the following information:

I want to add the MCP server for Nasdaq Data Link.
Here's the GitHub link: @https://github.com/stefanoamorelli/nasdaq-data-link-mcp
Can you add it?

๐Ÿ› ๏ธ Tools

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


๐Ÿ“ˆ Retail Trading Activity Tracker

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.


๐Ÿ“Š Trade Summary Tool

get_trade_summary_data

Retrieves Trade Summary data from Nasdaq Data Link NDAQ/TS datatable.

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

Returns consolidated trade data including open, high, low, close, and volume information.


๐Ÿ“Š World Bank Tools

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"
  }
}

๐Ÿ“ˆ Equities 360 Tools

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.


๐Ÿ“Š Nasdaq Fund Network (NFN) Tools

get_fund_master_report

Retrieves Fund Master Report (NFN/MFRFM) data from Nasdaq Fund Network.

{
  "action": "tool",
  "name": "get_fund_master_report",
  "params": {
    "fund_id": "12345"
  }
}

Returns basic fund data from Nasdaq Fund Network for the given fund ID.

get_fund_information

Retrieves Fund Information Report (NFN/MFRFI) data with detailed information about funds.

{
  "action": "tool",
  "name": "get_fund_information",
  "params": {
    "fund_id": "12345"
  }
}

get_share_class_master

Retrieves Fund Share Class Master (NFN/MFRSM) data with basic information about fund share classes.

{
  "action": "tool",
  "name": "get_share_class_master",
  "params": {
    "fund_id": "12345"
  }
}

get_share_class_information

Retrieves Fund Share Class Information (NFN/MFRSI) data with detailed share class attributes.

{
  "action": "tool",
  "name": "get_share_class_information",
  "params": {
    "ticker": "ABCDX"
  }
}

get_price_history

Retrieves Fund Price History (NFN/MFRPH) data with historical NAV and pricing.

{
  "action": "tool",
  "name": "get_price_history",
  "params": {
    "ticker": "ABCDX",
    "start_date": "2024-01-01",
    "end_date": "2024-04-30"
  }
}

get_recent_price_history

Retrieves recent Fund Price History (NFN/MFRPH10) data for the last 10 trading days.

{
  "action": "tool",
  "name": "get_recent_price_history",
  "params": {
    "ticker": "ABCDX"
  }
}

get_performance_statistics

Retrieves Fund Performance Statistics (NFN/MFRPS) data with performance returns.

{
  "action": "tool",
  "name": "get_performance_statistics",
  "params": {
    "ticker": "ABCDX"
  }
}

get_performance_benchmark

Retrieves Fund Performance Benchmark (NFN/MFRPRB) data about benchmark indexes.

{
  "action": "tool",
  "name": "get_performance_benchmark",
  "params": {
    "ticker": "ABCDX"
  }
}

get_performance_analytics

Retrieves Fund Performance Analytics (NFN/MFRPA) data with metrics like alpha, beta, etc.

{
  "action": "tool",
  "name": "get_performance_analytics",
  "params": {
    "ticker": "ABCDX"
  }
}

get_fees_and_expenses

Retrieves Fund Fee and Expense Data (NFN/MFRPM) about fees, expenses, and sales charges.

{
  "action": "tool",
  "name": "get_fees_and_expenses",
  "params": {
    "ticker": "ABCDX"
  }
}

get_monthly_flows

Retrieves Fund Monthly Flows (NFN/MFRMF) data showing historical fund flows.

{
  "action": "tool",
  "name": "get_monthly_flows",
  "params": {
    "ticker": "ABCDX"
  }
}

๐Ÿงช 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 -.-> N[Trade Summary NDAQ/TS]
  
  subgraph "Nasdaq Fund Network (NFN)"
    O1[Fund Master MFRFM]
    O2[Fund Information MFRFI]
    O3[Share Class Master MFRSM]
    O4[Share Class Info MFRSI]
    O5[Price History MFRPH/MFRPH10]
    O6[Performance MFRPS/MFRPRB/MFRPA]
    O7[Fees & Expenses MFRPM]
    O8[Monthly Flows MFRMF]
  end
  
  B -.-> O1
  B -.-> O2
  B -.-> O3
  B -.-> O4
  B -.-> O5
  B -.-> O6
  B -.-> O7
  B -.-> O8
  
  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

ยฉ 2025 Stefano Amorelli