小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
5
最近更新:20天前

纳斯达克数据链 MCP(模型上下文协议)服务器

📈 Nasdaq Data Link MCP 🤖

License: MIT
PyPI version
Python 3.10+
Build Status
Platform

AI Powered

一个由社区开发维护的模型上下文协议(MCP)服务器,提供对Nasdaq Data Link的访问接口。专为兼容MCP的客户端设计。

本项目旨在通过自然语言界面和大型语言模型(LLMs),便捷访问和探索Nasdaq Data Link丰富而有价值的金融经济数据集。

🐍 本项目使用官方nasdaq/data-link-python SDK

免责声明: 这是一个开源项目,与纳斯达克公司(Nasdaq, Inc.)无隶属关系或获得其认可。Nasdaq®是纳斯达克公司的注册商标。

🌐 使用方式

零售交易活动 世界银行数据
Nasdaq Data Link MCP - 零售交易活动 Nasdaq Data Link MCP - 世界银行数据

安装并与MCP兼容的客户端(如Claude Desktop)连接后,该服务器会暴露多个工具供AI助手获取数据使用。

当前版本(0.1.0)支持以下数据库:

对话示例

用户: 昨天散户交易最多的股票是哪些?
Claude: 调用get_rtat(<昨日日期>)并返回相关匹配

用户: 意大利2022年的GDP是多少?
Claude: 让我查一下... 调用get_indicator_value工具
Claude: 意大利2022年GDP约为...万亿美元。

用户: 列出所有与CO₂排放相关的指标。
Claude: 调用search_worldbank_indicators("CO2")并返回相关匹配

用户: 微软的市值和市盈率是多少?
Claude: 调用get_stock_stats(symbol="MSFT")并展示关键统计数据

用户: 显示微软最近年度报告的盈利能力比率。
Claude: 调用get_fundamental_data(symbol="MSFT", dimension="MRY")并展示盈利指标

用户: 微软上季度的现金流和研发支出是多少?
Claude: 调用get_detailed_financials(symbol="MSFT", dimension="MRQ")并展示现金流和研发数据

用户: 从最新资产负债表看微软的资产构成和负债权益比率是多少?
Claude: 调用get_balance_sheet_data(symbol="MSFT", dimension="MRQ")并展示相关资产负债表项目

用户: 过去一年微软的自由现金流和资本支出有何变化?
Claude: 调用get_cash_flow_data(symbol="MSFT", dimension="MRY")并分析自由现金流趋势

用户: 特斯拉过去两年有股票拆分吗?
Claude: 调用get_corporate_action_data(symbol="TSLA", action="split")并展示拆分历史

用户: AMD属于什么行业和板块,公司总部在哪里?
Claude: 调用get_company_reference_data(symbol="AMD")并展示行业、板块和位置信息


📦 安装指南

1. 克隆仓库

bash 复制代码
git clone https://github.com/stefanoamorelli/nasdaq-data-link-mcp.git
cd nasdaq-data-link-mcp

2. 安装依赖

需要Python 3.10+和mcp命令行工具。

bash 复制代码
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. 获取API密钥

https://data.nasdaq.com/注册并复制API密钥。

4. 下载世界银行元数据CSV (可选:仅当计划使用世界银行数据库时需要)

Nasdaq Data Link下载World Bank metadata

Nasdaq Data Link世界银行元数据导出

并保存为metadata.csv至以下目录:

复制代码
nasdaq-data-link-mcp/nasdaq_data_link_mcp_os/resources/world_data_bank/metadata/metadata.csv

5. 配置环境

bash 复制代码
cp .env.example .env

编辑.env文件添加API密钥:

复制代码
NASDAQ_DATA_LINK_API_KEY=你的API密钥

以及PYTHONPATH

复制代码
PYTHONPATH=/本地仓库路径/nasdaq-data-link-mcp

6. 安装MCP服务器

bash 复制代码
mcp install nasdaq_data_link_mcp_os/server.py --env-file .env --name "Nasdaq Data Link MCP服务器" --with nasdaq-data-link --with pycountry

这将向您的MCP客户端(如Claude Desktop)注册该服务器。


🛠️ 工具集

安装后,以下工具将暴露给MCP客户端使用:


📈 零售交易活动追踪

get_rtat10

获取指定日期和可选股票代码的Retail Trading Activity Tracker 10(RTAT10)数据。

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

返回指定日期和股票代码的Nasdaq Data Link RTAT10数据。


get_rtat

获取指定日期和可选股票代码的Retail Trading Activity(RTAT)数据。

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

返回指定日期和股票代码的Nasdaq Data Link RTAT数据。


📊 世界银行工具

get_indicator_value

获取特定指标和国家的数值。

json 复制代码
{
  "action": "tool",
  "name": "get_indicator_value",
  "params": {
    "country": "Italy",
    "indicator": "NY.GDP.MKTP.CD"
  }
}

返回该指标的最新值。


country_code

返回ISO 3字母国家代码(如意大利为"ITA")。

json 复制代码
{
  "action": "tool",
  "name": "country_code",
  "params": {
    "countryName": "Italy"
  }
}

list_worldbank_indicators

返回1500+个可用指标列表。

json 复制代码
{
  "action": "tool",
  "name": "list_worldbank_indicators"
}

search_worldbank_indicators

按关键词搜索指标。

json 复制代码
{
  "action": "tool",
  "name": "search_worldbank_indicators",
  "params": {
    "keyword": "population"
  }
}

📈 Equities 360工具

get_stock_stats

从Nasdaq Equities 360数据库获取公司综合统计数据。

json 复制代码
{
  "action": "tool",
  "name": "get_stock_stats",
  "params": {
    "symbol": "MSFT"
  }
}

或使用FIGI:

json 复制代码
{
  "action": "tool",
  "name": "get_stock_stats",
  "params": {
    "figi": "BBG000BPH459"
  }
}

返回公司统计数据,包括市值、市盈率、52周高低点、股息信息等。


list_stock_stat_fields

列出股票统计数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_stock_stat_fields"
}

返回可通过get_stock_stats工具查询的所有字段信息。


get_fundamental_data

从Nasdaq Equities 360 Fundamental Summary数据库获取基本面财务数据。

json 复制代码
{
  "action": "tool",
  "name": "get_fundamental_data",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRY"
  }
}

或使用多参数:

json 复制代码
{
  "action": "tool",
  "name": "get_fundamental_data",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRQ"
  }
}

返回基本面数据,包括盈利能力比率(ROA、ROE、ROS)、估值指标(P/E、P/S)、利润表项目(收入、毛利)和财务健康指标(流动比率、负债权益比)。


list_fundamental_fields

列出基本面摘要数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_fundamental_fields"
}

返回可通过get_fundamental_data工具查询的所有字段信息。


get_detailed_financials

从Nasdaq Equities 360 Fundamental Details数据库获取详细财务数据。

json 复制代码
{
  "action": "tool",
  "name": "get_detailed_financials",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRQ"
  }
}

或使用多参数:

json 复制代码
{
  "action": "tool",
  "name": "get_detailed_financials",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRY"
  }
}

返回全面财务报表数据,包括资产负债表项目(资产、负债、权益)、利润表组成(收入、支出、利润)、现金流量明细(经营、投资、筹资)以及详细财务比率。


list_detailed_financial_fields

列出基本面详情数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_detailed_financial_fields"
}

返回可通过get_detailed_financials工具查询的所有字段信息。


get_balance_sheet_data

从Nasdaq Equities 360 Balance Sheet数据库获取资产负债表数据。

json 复制代码
{
  "action": "tool",
  "name": "get_balance_sheet_data",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRQ"
  }
}

或使用多参数:

json 复制代码
{
  "action": "tool",
  "name": "get_balance_sheet_data",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRY"
  }
}

返回全面资产负债表数据,包括资产(流动、非流动、无形资产)、负债(流动、非流动、债务)、股东权益和关键资产负债表指标。


list_balance_sheet_fields

列出资产负债表数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_balance_sheet_fields"
}

返回可通过get_balance_sheet_data工具查询的所有字段信息。


get_cash_flow_data

从Nasdaq Equities 360 Cash Flow数据库获取现金流量表数据。

json 复制代码
{
  "action": "tool",
  "name": "get_cash_flow_data",
  "params": {
    "symbol": "MSFT",
    "dimension": "MRQ"
  }
}

或使用多参数:

json 复制代码
{
  "action": "tool",
  "name": "get_cash_flow_data",
  "params": {
    "figi": "BBG000BPH459",
    "calendardate": "2022-12-31",
    "dimension": "MRY"
  }
}

返回现金流量表数据,包括经营活动(ncfo)、投资活动(ncfi)、筹资活动(ncff)、自由现金流(fcf)、资本支出(capex)等。


list_cash_flow_fields

列出现金流量表数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_cash_flow_fields"
}

返回可通过get_cash_flow_data工具查询的所有字段信息。


get_corporate_action_data

从Nasdaq Equities 360 Corporate Actions数据库获取公司行为数据。

json 复制代码
{
  "action": "tool",
  "name": "get_corporate_action_data",
  "params": {
    "symbol": "TSLA",
    "action": "split"
  }
}

或其他参数:

json 复制代码
{
  "action": "tool",
  "name": "get_corporate_action_data",
  "params": {
    "date": "2023-03-24"
  }
}

返回关于公司事件的信息,如股票拆分、合并、收购等可能影响股价和所有权的重大公司行为。


list_corporate_action_fields

列出公司行为数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_corporate_action_fields"
}

返回可通过get_corporate_action_data工具查询的所有字段信息。


get_company_reference_data

从Nasdaq Equities 360 Reference Data数据库获取公司参考数据。

json 复制代码
{
  "action": "tool",
  "name": "get_company_reference_data",
  "params": {
    "symbol": "AMD"
  }
}

或使用FIGI:

json 复制代码
{
  "action": "tool",
  "name": "get_company_reference_data",
  "params": {
    "figi": "BBG000BBQCY0"
  }
}

返回公司静态信息,包括交易所、行业、板块分类、网站URL、SEC文件链接和位置信息。


list_reference_data_fields

列出公司参考数据库中所有可用字段及其描述。

json 复制代码
{
  "action": "tool",
  "name": "list_reference_data_fields"
}

返回可通过get_company_reference_data工具查询的所有字段信息。


🧪 MCP开发与调试

要在本地使用UI测试服务器:

bash 复制代码
mcp dev nasdaq_data_link_mcp_os/server.py --env-file .env

这将打开MCP开发界面,您可以手动调用工具、检查结果并进行故障排除。


📊 架构图

C[MCP客户端, 如Claude Desktop] end C -->|用户提示| D[LLM如Claude 3.7 Sonnet] D -->|调用工具| A A -->|获取数据| B[Nasdaq Data Link API] B -.-> E[零售交易活动追踪器] B -.-> F[世界银行元数据] 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">graph TD subgraph "本地机器" A[MCP服务器: Nasdaq Data Link MCP] --> C[MCP客户端, 如Claude Desktop] end C -->|用户提示| D[LLM如Claude 3.7 Sonnet] D -->|调用工具| A A -->|获取数据| B[Nasdaq Data Link API] B -.-> E[零售交易活动追踪器] B -.-> F[世界银行元数据] 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