关于 ✅ Official Alpha Vantage MCP Server
Alpha Vantage 官方 MCP 服务,用于访问 Alphavantage 股票市场数据 API。适合需要在 LLM 中查询金融数据的开发者,支持 stdio 与 HTTP 两种运行模式。
主要功能
- 01支持 stdio 与 Streamable HTTP 模式
- 02可选 OAuth 2.1 身份验证
- 03Prometheus 指标监控
- 04提供 AWS Lambda 无服务器部署方案
适用场景
- 01在 Claude Desktop 中查询股票市场数据
- 02将股票数据服务部署到 AWS Lambda
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
✅ 官方 Alpha Vantage MCP 服务
一个用于股票市场数据 API Alphavantage API 的 MCP 服务。
MCP 服务 URL:https://mcp.alphavantage.co
PyPi:https://pypi.org/project/alphavantage-mcp/
配置
获取 API 密钥
- 注册并获取免费的 Alphavantage API 密钥
- 将 API 密钥添加到环境变量
ALPHAVANTAGE_API_KEY中
安装
选项 1:使用 uvx(推荐)
使用 AlphaVantage MCP 服务最简单的方式是使用 uvx:
# Run directly without installation
uvx alphavantage-mcp
# Or with specific arguments
uvx alphavantage-mcp --server http --port 8080
选项 2:使用 pip
pip install alphavantage-mcp
alphavantage-mcp
选项 3:从源代码安装
git clone https://github.com/calvernaz/alphavantage.git
cd alphavantage
uv run alphavantage
服务模式
AlphaVantage 服务可以在两种不同的模式下运行:
Stdio 服务(默认)
这是标准的 MCP 服务模式,适用于 Claude Desktop 等工具。
alphavantage
# or explicitly:
alphavantage --server stdio
可流式传输的 HTTP 服务
此模式通过 HTTP 流式传输提供实时更新。
alphavantage --server http --port 8080
带 OAuth 2.1 身份验证的可流式传输 HTTP 服务
此模式为 HTTP 服务添加 OAuth 2.1 身份验证,遵循 MCP 规范以确保安全访问。
alphavantage --server http --port 8080 --oauth
OAuth 配置
使用 --oauth 标志时,服务需要通过环境变量进行 OAuth 2.1 配置:
必需的环境变量:
export OAUTH_AUTHORIZATION_SERVER_URL="https://your-auth-server.com/realms/your-realm"
export OAUTH_RESOURCE_SERVER_URI="https://your-mcp-server.com"
可选的环境变量:
# Token validation method (default: jwt)
export OAUTH_TOKEN_VALIDATION_METHOD="jwt" # or "introspection"
# For JWT validation
export OAUTH_JWT_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
export OAUTH_JWT_ALGORITHM="RS256" # default
# For token introspection validation
export OAUTH_INTROSPECTION_ENDPOINT="https://your-auth-server.com/realms/your-realm/protocol/openid-connect/token/introspect"
export OAUTH_INTROSPECTION_CLIENT_ID="your-client-id"
export OAUTH_INTROSPECTION_CLIENT_SECRET="your-client-secret"
# Optional: Required scopes (space-separated)
export OAUTH_REQUIRED_SCOPES="mcp:access mcp:read"
# Optional: Enable session binding for additional security (default: true)
export OAUTH_SESSION_BINDING_ENABLED="true"
OAuth 功能
OAuth 实现提供以下功能:
- OAuth 2.0 受保护资源元数据端点(
/.well-known/oauth-protected-resource) - 对所有 MCP 请求进行Bearer 令牌身份验证
- JWT 和令牌内省验证方法
- 符合 MCP 安全最佳实践:
- 令牌受众验证(防止令牌透传攻击)
- 使用安全会话 ID 防止会话劫持
- 绑定用户的会话,以增强安全性
- 401 响应使用适当的 WWW-Authenticate 标头
示例:Keycloak 配置
使用 Keycloak 进行测试:
# Keycloak OAuth configuration
export OAUTH_AUTHORIZATION_SERVER_URL="https://keycloak.example.com/realms/mcp-realm"
export OAUTH_RESOURCE_SERVER_URI="https://mcp.example.com"
export OAUTH_TOKEN_VALIDATION_METHOD="introspection"
export OAUTH_INTROSPECTION_ENDPOINT="https://keycloak.example.com/realms/mcp-realm/protocol/openid-connect/token/introspect"
export OAUTH_INTROSPECTION_CLIENT_ID="mcp-server"
export OAUTH_INTROSPECTION_CLIENT_SECRET="your-keycloak-client-secret"
export OAUTH_REQUIRED_SCOPES="mcp:access"
# Start server with OAuth
alphavantage --server http --port 8080 --oauth
OAuth 客户端流程
启用 OAuth 后,MCP 客户端必须:
- 通过
GET /.well-known/oauth-protected-resource发现授权服务 - 向授权服务注册(如果使用动态客户端注册)
- 从授权服务获取访问令牌
- 在请求中包含令牌:
Authorization: Bearer <access-token> - 处理 401/403 响应,并根据需要刷新令牌
选项:
--server:选择stdio(默认)或http服务模式--port:指定可流式传输 HTTP 服务的端口(默认:8080)--oauth:启用 OAuth 2.1 身份验证(需要--server http)
📊 遥测
AlphaVantage MCP 服务包含可选的 Prometheus 指标,用于监控和可观测性。
启用遥测
设置以下环境变量以启用遥测:
# Enable telemetry (default: true)
export MCP_TELEMETRY_ENABLED=true
# Server identification (optional)
export MCP_SERVER_NAME=alphavantage
export MCP_SERVER_VERSION=1.0.0
# Metrics server port (default: 9464)
export MCP_METRICS_PORT=9464
指标端点
启用遥测后,可通过以下地址获取 Prometheus 指标:
http://localhost:9464/metrics
可用指标
服务会为每次工具调用收集以下指标:
mcp_tool_calls_total- 工具调用总数(按工具和结果标记)mcp_tool_latency_seconds- 工具执行延迟直方图mcp_tool_request_bytes- 请求负载大小直方图mcp_tool_response_bytes- 响应负载大小直方图mcp_tool_active_concurrency- 活跃并发工具调用量规mcp_tool_errors_total- 按类型统计的错误总数(超时、输入无效、连接错误、未知)
遥测使用示例
# Start server with telemetry enabled
export MCP_TELEMETRY_ENABLED=true
export MCP_SERVER_NAME=alphavantage-prod
export ALPHAVANTAGE_API_KEY=your_api_key
alphavantage --server http --port 8080
# View metrics
curl http://localhost:9464/metrics
🚀 AWS 无服务器部署
使用无状态 MCP 模式在 AWS Lambda 上部署 AlphaVantage MCP Server,实现适用于生产环境且可扩展的部署。
AWS 快速部署
cd deploy/aws-stateless-mcp-lambda
export ALPHAVANTAGE_API_KEY=your_api_key_here
./deploy.sh
功能:
- ✅ 无状态 MCP 模式 - 非常适合 Lambda 的执行模型
- ✅ 自动扩缩 - 借助 AWS Lambda + API Gateway 处理任意负载
- ✅ 经济高效 - 仅需为请求付费(典型用量约为每月 $1-5)
- ✅ 适用于生产环境 - 基于 AWS 官方示例模式
- ✅ 支持 OAuth 2.1 - 可选身份验证,确保访问安全
📖 完整文档: 请参阅 AWS 部署指南,了解完整的设置说明、测试、监控和故障排除信息。
在 Claude Desktop 中使用
选项 1:使用 uvx(推荐)
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"alphavantage": {
"command": "uvx",
"args": ["alphavantage-mcp"],
"env": {
"ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
选项 2:从源代码运行
如果你克隆了仓库,请使用以下配置:
{
"mcpServers": {
"alphavantage": {
"command": "uv",
"args": [
"--directory",
"<DIRECTORY-OF-CLONED-PROJECT>/alphavantage",
"run",
"alphavantage"
],
"env": {
"ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
在 Streamable HTTP 模式下运行服务
使用 uvx:
{
"mcpServers": {
"alphavantage": {
"command": "uvx",
"args": ["alphavantage-mcp", "--server", "http", "--port", "8080"],
"env": {
"ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
从源代码运行:
{
"mcpServers": {
"alphavantage": {
"command": "uv",
"args": [
"--directory",
"<DIRECTORY-OF-CLONED-PROJECT>/alphavantage",
"run",
"alphavantage",
"--server",
"http",
"--port",
"8080"
],
"env": {
"ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
📺 演示视频
观看 Alpha Vantage MCP Server 的快速演示:
🔧 开发与发布
发布到 PyPI
此项目包含用于发布到 PyPI 和 TestPyPI 的脚本:
# Publish to TestPyPI (for testing)
python scripts/publish.py --test
# Publish to PyPI (production)
python scripts/publish.py
# Use uv publish instead of twine
python scripts/publish.py --test --use-uv
脚本默认使用 twine(推荐),也可以通过 --use-uv 标志使用 uv publish。
GitHub Actions
仓库包含用于自动发布的 GitHub Actions 工作流:
- 可信发布:使用 PyPA 官方发布操作和 OpenID Connect
- 手动触发:可手动触发,并选择发布到 TestPyPI 或 PyPI
- Twine 后备方案:同时支持可信发布和基于 twine 的发布
设置发布:
-
使用可信发布(推荐):
- 在 PyPI/TestPyPI 上配置可信发布,并关联你的 GitHub 仓库
- 无需密钥 - 使用 OpenID Connect
-
使用令牌发布:
- 将
PYPI_API_TOKEN和TEST_PYPI_API_TOKEN密钥添加到你的仓库 - 在工作流触发选项中选择“Use twine”
- 将
🤝 参与贡献
欢迎社区贡献!如需开始,请查看我们的贡献指南,了解设置说明、开发技巧和准则。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。