mcpField
✅
✅ Official Alpha Vantage MCP Server

✅ Official Alpha Vantage MCP Server

本地服务
github.com/calvernaz金融数据7435 周前更新

关于 ✅ Official Alpha Vantage MCP Server

Alpha Vantage 官方 MCP 服务,用于访问 Alphavantage 股票市场数据 API。适合需要在 LLM 中查询金融数据的开发者,支持 stdio 与 HTTP 两种运行模式。

主要功能

  1. 01支持 stdio 与 Streamable HTTP 模式
  2. 02可选 OAuth 2.1 身份验证
  3. 03Prometheus 指标监控
  4. 04提供 AWS Lambda 无服务器部署方案

适用场景

  1. 01在 Claude Desktop 中查询股票市场数据
  2. 02将股票数据服务部署到 AWS Lambda

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"alphavantage": {
"command": "uvx",
"args": [
"alphavantage-mcp"
]
}
}
}
启动命令uvx alphavantage-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypialphavantage-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

✅ 官方 Alpha Vantage MCP 服务

smithery badge Verified on MseeP

一个用于股票市场数据 API Alphavantage API 的 MCP 服务。

Alpha Vantage MCP 服务

MCP 服务 URL:https://mcp.alphavantage.co

PyPi:https://pypi.org/project/alphavantage-mcp/

配置

获取 API 密钥
  1. 注册并获取免费的 Alphavantage API 密钥
  2. 将 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 客户端必须:

  1. 通过 GET /.well-known/oauth-protected-resource 发现授权服务
  2. 向授权服务注册(如果使用动态客户端注册)
  3. 从授权服务获取访问令牌
  4. 在请求中包含令牌:Authorization: Bearer <access-token>
  5. 处理 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 的快速演示:

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 的发布

设置发布:

  1. 使用可信发布(推荐):

    • 在 PyPI/TestPyPI 上配置可信发布,并关联你的 GitHub 仓库
    • 无需密钥 - 使用 OpenID Connect
  2. 使用令牌发布:

    • 将 PYPI_API_TOKEN 和 TEST_PYPI_API_TOKEN 密钥添加到你的仓库
    • 在工作流触发选项中选择“Use twine”

🤝 参与贡献

欢迎社区贡献!如需开始,请查看我们的贡献指南,了解设置说明、开发技巧和准则。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。