nasdaq-data-link-mcp
by stefanoamorelli
A Nasdaq Data Link MCP (Model Context Protocol) Server
What is nasdaq-data-link-mcp
๐ Nasdaq Data Link MCP ๐ค
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
![]() |
![]() |
---|---|
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:
- World Bank dataset on Nasdaq Data Link (freely available for personal use)
- Nasdaq RTAT (preview available for free, full data under subscription)
- Equities 360 (company statistics and fundamental data)
Example conversations might include:
You: What were the most traded stocks by retailers yesterday?
Claude: callsget_rtat(<yetserday>)
and returns relevant matches
Or:
You: What was the GDP of Italy in 2022?
Claude: Let me look that up... callsget_indicator_value
tool
Claude: The GDP of Italy in 2022 was approximately...
trillion USD.
Or:
You: List all indicators related to COโ emissions.
Claude: callssearch_worldbank_indicators("CO2")
and returns relevant matches
Or:
You: What's the market cap and P/E ratio of Microsoft?
Claude: callsget_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:
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.
Related MCP Servers
Ableton Live MCP Server
MCP Server implementation for Ableton Live OSC control
Airbnb MCP Server
AI Agent Marketplace Index Search MCP Server
MCP Server for AI Agent Marketplace Index from DeepNLP
Algorand MCP Implementation
Algorand Model Context Protocol (Server & Client)
mcp-server-apache-airflow
pypi.org/project/mcp-server-apache-airflow/
airtable-mcp-server
๐๏ธ๐ค Airtable Model Context Protocol Server, for allowing AI systems to interact with your Airtable bases
Airtable MCP Server
Search, create and update Airtable bases, tables, fields, and records using Claude Desktop and MCP (Model Context Protocol) clients
Alphavantage MCP Server
A MCP server for the stock market data API, Alphavantage API.
Amadeus MCP Server
Amadeus MCP(Model Context Protocol) Server
Anki MCP Server
An MCP server for Anki
Submit Your MCP Server
Share your MCP server with the community
Submit Now