这是一个全面的模型上下文协议(MCP)服务器,借助yfinance提供印度和全球股票市场数据。它具备智能符号解析、实时数据以及高级图表生成等功能,可同时服务于印度国家证券交易所(NSE)、孟买证券交易所(BSE)和国际市场。
cp .env.example .env
.env 文件:AUTH_TOKEN=your_secure_auth_token_here
MY_NUMBER=your_validation_number_here
pip install -r requirements.txt
python stock_market_server.py
服务器将在 http://0.0.0.0:8087 上可用。
# 本地构建并运行
docker build -t stock-market-mcp .
docker run -p 8087:8087 \
-e AUTH_TOKEN=your-token \
-e MY_NUMBER=91xxxxxxxxxx \
stock-market-mcp
此应用针对 Railway 托管进行了优化,具备以下特性:
# 复制环境变量
cp .env.example .env
# 使用你自己的值编辑 .env 文件
# 启动服务
docker-compose up --build
# 克隆并安装开发依赖项
git clone
cd stock-market-mcp
pip install -e ".[dev]"
# 获取实时报价
get_stock_quote("Reliance") # 或 get_stock_quote("RELIANCE.NS")
# 获取历史数据
get_stock_history("TCS", "1y") # 或 get_stock_history("Tata Consultancy", "1y")
# 获取公司信息
get_stock_info("Apple") # 或 get_stock_info("AAPL")
# 获取多只股票报价
get_multiple_stock_quotes("Reliance,TCS,Infosys") # 或使用精确符号
# 跟踪指数
get_market_indices()
# 查看市场动态
get_market_movers("gainers")
# 比较股票
compare_stocks("RELIANCE.NS,TCS.NS") # 或 compare_stocks("Reliance,TCS")
# 获取分析师研究
get_analyst_recommendations("HDFC Bank")
# 获取目标价格
get_analyst_price_targets("Apple")
# 生成价格图表
create_stock_chart("Reliance", "6mo") # 或 create_stock_chart("RELIANCE.NS", "6mo")
# 生成比较图表
create_comparison_chart("TCS,Infosys", "1y")
# 生成烛台图
create_candlestick_chart("Apple", "3mo")
# 生成成交量分析图表
create_volume_analysis_chart("HDFC Bank", "6mo")
# 获取盈利数据
get_earnings_data("Microsoft")
# 获取财务报表
get_income_statement("TCS")
# 进行所有权分析
get_major_holders("Reliance")
# 获取股息历史
get_stock_dividends("HDFC Bank")
# 获取 MCP 功能指南
get_mcp_capabilities()
# 获取快速帮助和常见使用示例
get_mcp_help()
# 获取支持的股票列表
get_supported_stocks()
# 获取作者信息
stock_mcp_authors_info()
| 工具 | 描述 | 参数 | 示例用法 |
|---|---|---|---|
get_stock_quote |
通过智能解析获取实时股票报价 | symbol(公司名称或精确符号) |
get_stock_quote("Reliance") |
get_multiple_stock_quotes |
获取批量股票报价 | symbols(逗号分隔的名称/符号) |
get_multiple_stock_quotes("TCS,Infosys,Apple") |
get_stock_info |
获取全面的公司信息 | symbol(公司名称或精确符号) |
get_stock_info("HDFC Bank") |
get_stock_history |
获取历史价格数据 | symbol, period(1d - 10y) |
get_stock_history("Apple", "6mo") |
search_stocks |
通过名称查找股票 | query(搜索词) |
search_stocks("Tata") |
resolve_symbol |
将公司名称转换为精确符号 | query(公司名称) |
resolve_symbol("Bharti Airtel") |
| 工具 | 描述 | 参数 | 示例用法 |
|---|---|---|---|
get_income_statement |
分析收入和利润 | symbol |
get_income_statement("Microsoft") |
get_balance_sheet |
分析资产和负债 | symbol |
get_balance_sheet("TCS") |
get_cashflow_statement |
分析现金流量 | symbol |
get_cashflow_statement("Apple") |
get_earnings_data |
获取盈利历史 | symbol |
get_earnings_data("Reliance") |
get_stock_dividends |
获取股息历史 | symbol |
get_stock_dividends("HDFC Bank") |
| 工具 | 描述 | 参数 | 示例用法 |
|---|---|---|---|
get_market_indices |
获取主要市场指数 | 无 | get_market_indices() |
get_market_movers |
查看涨幅/跌幅最大的股票 | type(gainers/losers) |
get_market_movers("gainers") |
compare_stocks |
对多只股票进行比较 | symbols(逗号分隔) |
compare_stocks("Reliance,TCS") |
get_analyst_recommendations |
获取分析师评级 | symbol |
get_analyst_recommendations("Apple") |
get_analyst_price_targets |
获取价格预测 | symbol |
get_analyst_price_targets("Microsoft") |
| 工具 | 描述 | 参数 | 示例用法 |
|---|---|---|---|
create_stock_chart |
生成专业价格图表 | symbol, period |
create_stock_chart("TCS", "1y") |
create_comparison_chart |
生成多只股票比较图表 | symbols, period |
create_comparison_chart("Apple,Microsoft", "6mo") |
create_candlestick_chart |
生成 OHLC 烛台图 | symbol, period |
create_candlestick_chart("Reliance", "3mo") |
create_volume_analysis_chart |
使用 VWAP 进行成交量分析 | symbol, period |
create_volume_analysis_chart("HDFC Bank", "6mo") |
1d, 5d(每小时数据)1mo, 3mo, 6mo(每日数据)1y, 2y(每日数据)5y, 10y(每周数据)ytd(年初至今), max(所有可用数据).NS,为 BSE 股票添加 .BO。
"Reliance" → RELIANCE.NS, "TCS" → TCS.NS, "HDFC Bank" → HDFCBANK.NS"Apple" → AAPL, "Microsoft" → MSFT, "Google" → GOOGL^NSEI(NIFTY 50), ^BSESN(SENSEX), ^NSEBANK(BANK NIFTY)^GSPC(标准普尔 500), ^DJI(道琼斯指数), ^IXIC(纳斯达克指数)文档中未提及许可证相关信息。
stock-market-mcp/
├── stock_market_server.py # 主服务器入口点
├── auth.py # 认证提供程序
├── models.py # 数据模型和模式
├── services/ # 业务逻辑层
│ ├── stock_service.py # 股票数据操作
│ ├── market_data_service.py # 市场数据操作
│ └── chart_service.py # 图表生成
└── tools/ # MCP 工具定义
├── stock_tools.py # 股票相关工具
├── market_analysis_tools.py # 市场分析工具
└── chart_tools.py # 图表生成工具
本项目采用现代 Python 开发实践: