XiaYeAI/mg-mcp-server
If you are the rightful owner of mg-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Alpha Vantage MCP Server provides access to comprehensive financial data via the Alpha Vantage API, including stocks, forex, cryptocurrencies, and technical indicators.
get_stock_quote
Retrieve real-time stock quotes
get_stock_daily
Fetch daily historical stock data
get_exchange_rate
Get currency exchange rates
get_crypto_daily
Retrieve daily cryptocurrency data
get_sma
Calculate simple moving average
Alpha Vantage MCP 服务器
一个基于模型上下文协议(MCP)的服务器,提供对 Alpha Vantage 综合金融数据 API 的访问,包括股票、外汇、加密货币和技术指标。
⚠️ 重要声明
本项目仅供个人学习和研究使用,严禁用于任何非法用途。
- 🔒 个人使用:本项目仅限个人学习、研究和合法的金融数据分析
- 🚫 禁止商用:不得用于商业目的或盈利活动
- 📜 遵守法律:使用者必须遵守当地法律法规和 Alpha Vantage 服务条款
- 🛡️ 免责声明:开发者不对使用本项目造成的任何损失承担责任
🚀 项目支持情况
✅ 已支持功能
- 股票数据:实时报价、历史数据(日线、周线、月线、分时)
- 外汇数据:货币对实时汇率
- 加密货币:数字货币日线数据和汇率
- 技术指标:SMA、RSI、MACD 等多种技术分析指标
- 新闻情感:AI 驱动的新闻情感分析
- 速率限制:内置 Alpha Vantage API 限制处理
- 错误处理:完善的错误处理和数据验证
🔄 开发状态
- 当前版本:v1.0.0
- 维护状态:积极维护中
- 兼容性:支持所有主流 MCP 客户端
📦 安装说明
方式一:通过 npm 安装(推荐)
# 全局安装
npm install -g mg-mcp-server
# 或本地安装
npm install mg-mcp-server
安装后可直接使用 npx mg-mcp-server
启动。
方式二:从源码构建
- 克隆本仓库
- 安装依赖:
npm install
- 构建服务器:
npm run build
⚙️ 配置说明
🔑 获取 API 密钥
- 访问 Alpha Vantage 获取免费 API 密钥
- 免费版每日限制 25-500 次请求(根据具体 API 端点而定)
🛠️ MCP 客户端配置
推荐配置方式:在 MCP 客户端配置文件中设置(如 Claude Desktop):
{
"mcpServers": {
"alpha-mg-mcp": {
"command": "npx",
"args": ["mg-mcp-server"],
"env": {
"ALPHAVANTAGE_API_KEY": "你的API密钥"
}
}
}
}
配置步骤:
- 确保已全局安装或在项目目录中安装了
mg-mcp-server
包 - 在
ALPHAVANTAGE_API_KEY
环境变量中设置你的 Alpha Vantage API 密钥 - (可选)设置
ALPHAVANTAGE_PREMIUM=true
启用付费版功能 - (可选)设置
ALPHAVANTAGE_ENTERPRISE=true
启用企业版功能 - 重启你的 MCP 客户端以加载新配置
- 服务器将以
alpha-mg-mcp
名称可用
参考 mcp-config-example.json
获取完整配置示例。
💰 订阅版本说明
🆓 免费版限制
- 请求限制:每分钟 5 次请求,每天 500 次请求
- 功能限制:基础股票数据、外汇、加密货币、基础技术指标
- 延迟:12 秒请求间隔以避免超限
💎 付费版优势
- Premium 版:每分钟 75 次请求,每天 15,000 次请求
- Enterprise 版:每分钟 1,200 次请求,无每日限制
- 高级功能:公司基本面数据、高级技术指标、实时数据等
📊 功能对比
详细功能对比请查看:
🎯 使用方法
通过 npx 启动(推荐)
# 直接使用 npx 启动(无需手动安装)
npx mg-mcp-server
开发模式启动
# 开发模式(从源码)
npm run dev
# 生产模式(从源码)
npm run build
npm start
注意:MCP 服务器通常由 MCP 客户端自动启动,无需手动运行上述命令。
🛠️ 可用工具
📈 股票工具
-
get_stock_quote
- 获取实时股票报价- 参数:
symbol
(股票代码,字符串)
- 参数:
-
get_stock_daily
- 获取日线历史数据- 参数:
symbol
(股票代码,字符串),outputsize
(数据量:compact/full,可选)
- 参数:
-
get_stock_intraday
- 获取分时数据- 参数:
symbol
(股票代码,字符串),interval
(时间间隔:1min/5min/15min/30min/60min,可选)
- 参数:
-
get_stock_weekly
- 获取周线历史数据- 参数:
symbol
(股票代码,字符串)
- 参数:
-
get_stock_monthly
- 获取月线历史数据- 参数:
symbol
(股票代码,字符串)
- 参数:
💱 外汇工具
get_exchange_rate
- 获取货币汇率- 参数:
fromCurrency
(源货币,字符串),toCurrency
(目标货币,字符串)
- 参数:
🪙 加密货币工具
get_crypto_daily
- 获取加密货币日线数据- 参数:
symbol
(加密货币代码,字符串),market
(交易市场,字符串,可选,默认:USD)
- 参数:
📊 技术指标
-
get_sma
- 简单移动平均线- 参数:
symbol
(股票代码),interval
(时间间隔),timePeriod
(周期),seriesType
(数据类型)
- 参数:
-
get_rsi
- 相对强弱指数- 参数:
symbol
(股票代码),interval
(时间间隔),timePeriod
(周期),seriesType
(数据类型)
- 参数:
-
get_macd
- 指数平滑异同移动平均线- 参数:
symbol
(股票代码),interval
(时间间隔),seriesType
(数据类型)
- 参数:
📰 新闻情感
get_news_sentiment
- 获取新闻情感分析- 参数:
tickers
(股票代码数组),topics
(主题数组),limit
(数量限制)
- 参数:
💎 付费版功能(需要 Premium+ 订阅)
📋 基本面数据
get_company_overview
- 获取公司概况和基本面数据get_earnings
- 获取财报数据get_balance_sheet
- 获取资产负债表数据get_income_statement
- 获取利润表数据get_cash_flow
- 获取现金流量表数据
📈 高级技术指标
get_bollinger_bands
- 布林带指标get_stochastic
- 随机振荡器get_williams_r
- 威廉指标get_atr
- 平均真实波幅
🚀 企业版功能(需要 Enterprise 订阅)
get_options_data
- 获取股票期权数据get_etf_profile
- 获取 ETF 资料和持仓get_economic_indicator
- 获取经济指标数据get_real_time_quote
- 获取无延迟实时报价
🔧 实用工具
get_subscription_info
- 获取当前订阅信息get_available_features
- 获取可用功能列表
📝 使用示例
获取股票报价
{
"name": "get_stock_quote",
"arguments": {
"symbol": "AAPL"
}
}
获取历史数据
{
"name": "get_stock_daily",
"arguments": {
"symbol": "MSFT",
"outputsize": "full"
}
}
获取汇率
{
"name": "get_exchange_rate",
"arguments": {
"fromCurrency": "USD",
"toCurrency": "EUR"
}
}
获取技术指标
{
"name": "get_sma",
"arguments": {
"symbol": "GOOGL",
"interval": "daily",
"timePeriod": "20"
}
}
❓ 常见问题
Q: 为什么我的 API 请求失败了?
A: 请检查以下几点:
- ✅ API 密钥是否正确配置
- ✅ 是否超过了免费版的请求限制(每天 25-500 次)
- ✅ 股票代码格式是否正确(如:AAPL、MSFT)
- ✅ 网络连接是否正常
Q: 如何升级到付费版?
A: 访问 Alpha Vantage 付费计划 选择适合的订阅方案,然后在 MCP 配置中设置相应的环境变量。
Q: 支持哪些股票市场?
A: 支持全球主要股票市场,包括:
- 🇺🇸 美国股市(NYSE、NASDAQ)
- 🇨🇳 中国股市(需要正确的股票代码格式)
- 🇪🇺 欧洲股市
- 🇯🇵 日本股市
- 其他主要国际市场
🔧 故障排除
API 限制问题
如果遇到 "API rate limit exceeded" 错误:
- 等待限制重置(免费版每日重置)
- 考虑升级到付费版
- 优化请求频率
配置问题
如果 MCP 服务器无法启动:
- 检查 Node.js 版本(推荐 v16+)
- 确认文件路径正确
- 验证 API 密钥格式
- 查看控制台错误信息
📚 相关文档
📄 许可证
本项目采用 MIT 许可证 - 详见 文件。
🤝 贡献
欢迎提交 Issue 和 Pull Request!请确保:
- 遵循现有代码风格
- 添加适当的测试
- 更新相关文档
⚠️ 免责声明
本项目仅供学习和研究使用。使用者需要:
- 遵守 Alpha Vantage 服务条款
- 承担数据使用风险
- 确保合法合规使用
开发者不对因使用本项目而产生的任何直接或间接损失承担责任。
获取新闻情感
{
"name": "get_news_sentiment",
"arguments": {
"tickers": ["AAPL", "MSFT"],
"limit": 10
}
}
付费版功能示例
获取公司概况
{
"name": "get_company_overview",
"arguments": {
"symbol": "AAPL"
}
}
获取布林带指标
{
"name": "get_bollinger_bands",
"arguments": {
"symbol": "MSFT",
"interval": "daily",
"timePeriod": "20"
}
}
获取订阅信息
{
"name": "get_subscription_info",
"arguments": {}
}
🚦 速率限制
- 免费版:每分钟 5 次 API 调用,每天 500 次调用
- 付费版:更高的限制额度
- 内置限制:自动防止超过 API 限制
🛡️ 错误处理
服务器包含全面的错误处理机制:
- ❌ 无效的 API 密钥
- ⏰ 超过速率限制
- 📝 无效参数
- 🌐 网络错误
- 📡 API 响应错误
🔨 开发指南
# 安装依赖
npm install
# 开发模式运行
npm run dev
# 生产构建
npm run build
# 代码检查
npm run lint
# 代码格式化
npm run format
📞 技术支持
- Alpha Vantage 文档:https://www.alphavantage.co/documentation/
- API 密钥注册:https://www.alphavantage.co/support/#api-key
- 问题反馈:请在 GitHub 上提交 Issue
感谢使用 Alpha Vantage MCP 服务器! 🎉