市场数据协议服务器

AlphaVantage MCP Server 是一个通过 AlphaVantage API 提供全面市场数据和基础分析的模型上下文协议服务器,适用于集成到 Claude Desktop 和其他 MCP 兼容客户端。

  • by NonmaskableInt
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 NonmaskableInt/alphavantage-mcp

使用说明

AlphaVantage MCP服务器

模型上下文协议(MCP)服务器,通过AlphaVantage API提供全面的市场数据和基本面分析。专为与Claude Desktop和其他MCP兼容客户端集成而设计。

需求

安装

# Clone the repository
git clone <repo-url>
cd alphavantage_mcp

# Install dependencies
uv sync

配置

将AlphaVantage API键设置为环境变量:

# macOS/Linux
export ALPHA_VANTAGE_API_KEY=your_key_here

# Windows (Command Prompt)
set ALPHA_VANTAGE_API_KEY=your_key_here

# Windows (PowerShell)
$env:ALPHA_VANTAGE_API_KEY="your_key_here"

或者创建一个 .env 项目目录中的文件:

ALPHA_VANTAGE_API_KEY=your_alphavantage_api_key

服务器配置(可选)

变量 描述 默认值
ALPHAVANTAGE_DEBUG 启用调试模式 false
ALPHAVANTAGE_PORT 服务器端口 8002
ALPHAVANTAGE_LOG_LEVEL 日志级别(调试、信息、警告、错误) INFO

运行服务器

# Direct execution
uv run alphavantage-mcp-server

# Using launch script (macOS/Linux)
./launch-alphavantage.sh

# Using launch script (Windows)
launch-alphavantage.bat

使用Claude Desktop

添加到您的Claude Desktop配置文件中:

平台 配置位置
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
窗户 %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json

选项1:使用启动脚本(推荐)

{
  "mcpServers": {
    "alphavantage-data": {
      "command": "/path/to/alphavantage_mcp/launch-alphavantage.sh",
      "env": {
        "ALPHA_VANTAGE_API_KEY": "your_key"
      }
    }
  }
}

选项2:使用uv的绝对路径

首先,找到你的 uv 路径: which uv

{
  "mcpServers": {
    "alphavantage-data": {
      "command": "/Users/yourname/.local/bin/uv",
      "args": ["run", "alphavantage-mcp-server"],
      "cwd": "/path/to/alphavantage_mcp",
      "env": {
        "ALPHA_VANTAGE_API_KEY": "your_key"
      }
    }
  }
}

注: 像Claude Desktop这样的GUI应用程序不会继承shell的PATH,因此使用绝对路径比依赖 uv 在PATH中。

在Windows上,使用反斜杠: "cwd": "C:\\path\\to\\alphavantage_mcp"

可用工具

基础数据

工具 说明 参数
get_company_overview 公司基本面,包括市盈率、市值、每股收益、利润率等 symbol
get_income_statement 年度损益表数据(最近20期) symbol
get_balance_sheet 年度资产负债表数据(最近20期) symbol
get_cash_flow 年度现金流量表(最近20期) symbol
get_earnings 季度或年度收益数据 symbol, period (季度/年度)

市场数据

工具 说明 参数
get_daily_prices 每日OHLCV数据 symbol, outputsize (紧凑型=100天,完整型=20+年)
get_intraday_prices 日内价格数据 symbol, timeframe (时间帧枚举), outputsize

新闻与情绪

工具 说明 参数
get_market_news 市场新闻与情绪分析 tickers (列表), topics (列表), time_from, time_to, limit

技术分析

工具 说明 参数
get_technical_indicators 计算技术指标 symbol, indicator (技术指标枚举), timeframe (时间帧枚举), time_period

支持的指标(技术指标枚举):

  • RSI -相对强度指数
  • MACD -移动平均线收敛发散
  • BOLLINGER_BANDS -布林带
  • SMA -简单移动平均线
  • EMA -指数移动平均线
  • STOCHASTIC -随机振荡器
  • ADX -平均方向指数
  • WILLIAMS_R -威廉姆斯%R

支持的时间范围(TimeFrame枚举):

  • MINUTE -1分钟
  • FIVE_MINUTES -5分钟
  • FIFTEEN_MINUTES -15分钟
  • THIRTY_MINUTES -30分钟
  • HOUR -1小时
  • DAILY -每日
  • WEEKLY -每周
  • MONTHLY -每月一次

例子

了解公司基本情况:

"Get the company overview for AAPL"

分析价格趋势:

"Show me the daily prices for TSLA over the last 100 days"

技术分析:

"Calculate the RSI for MSFT with a 14-day period"

市场新闻:

"Get recent news about NVDA with sentiment analysis"

发展

# Install with dev dependencies
uv sync --extra dev

# Run the server directly
uv run alphavantage-mcp-server

# Run tests
uv run pytest

# Type checking
uv run mypy .

# Format code
uv run black .

API费率限制

免费的AlphaVantage API层每天允许25个请求。考虑升级到高级计划以获得更高的限额。

安全说明

  • 永远不要将API密钥提交到版本控制
  • 对API密钥使用环境变量或安全秘密管理
  • 服务器验证所有输入以防止注入攻击