这是一个用于股票市场数据 API 的 MCP 服务器,即 Alphavantage API。
<a href="https://glama.ai/mcp/servers/@calvernaz/alphavantage"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=3260111951,1668260724&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Alpha Vantage Server MCP 服务器" /> </a>MCP 服务器 URL: https://mcp.alphavantage.co
PyPi: https://pypi.org/project/alphavantage-mcp/
ALPHAVANTAGE_API_KEY使用 AlphaVantage MCP 服务器最简单的方法是通过 uvx:
# 直接运行而不安装
uvx alphavantage-mcp
# 或者带有特定参数
uvx alphavantage-mcp --server http --port 8080
pip install alphavantage-mcp
alphavantage-mcp
git clone https://github.com/calvernaz/alphavantage.git
cd alphavantage
uv run alphavantage
AlphaVantage 服务器可以在两种不同的模式下运行:
这是用于工具如 Claude Desktop 的标准 MCP 服务器模式。
alphavantage
# 或者明确指定:
alphavantage --server stdio
此模式通过 HTTP 流传输提供实时更新。
alphavantage --server http --port 8080
此模式为 HTTP 服务器添加了 OAuth 2.1 认证,遵循 MCP 规范以确保安全访问。
alphavantage --server http --port 8080 --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"
可选的环境变量:
# 令牌验证方法(默认:jwt)
export OAUTH_TOKEN_VALIDATION_METHOD="jwt" # 或 "introspection"
# 对于 JWT 验证
export OAUTH_JWT_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
export OAUTH_JWT_ALGORITHM="RS256" # 默认值
# 对于令牌内省验证
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"
# 可选:所需范围(空格分隔)
export OAUTH_REQUIRED_SCOPES="mcp:access mcp:read"
# 可选:启用会话绑定以增加安全性(默认:true)
export OAUTH_SESSION_BINDING_ENABLED="true"
OAuth 实现提供了:
/.well-known/oauth-protected-resource)对于测试使用 Keycloak:
# Keycloak OAuth 配置
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"
# 启动带有 OAuth 的服务器
alphavantage --server http --port 8080 --oauth
当启用 OAuth 时,MCP 客户端必须:
GET /.well-known/oauth-protected-resourceAuthorization: Bearer <access-token>选项:
--server: 在 stdio(默认)或 http 服务器模式之间选择--port: 指定可流式传输的 HTTP 服务器端口(默认:8080)--oauth: 启用 OAuth 2.1 认证(需要 --server http)AlphaVantage MCP 服务器包括可选的 Prometheus 指标,用于监控和可观测性。
设置以下环境变量以启用监控:
# 启用监控(默认:true)
export MCP_TELEMETRY_ENABLED=true
# 服务器标识(可选)
export MCP_SERVER_NAME=alphavantage
export MCP_SERVER_VERSION=1.0.0
# 指标服务器端口(默认: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 - 按类型总计的错误(超时、输入错误、连接错误、未知错误)# 启动带有监控的服务器
export MCP_TELEMETRY_ENABLED=true
export MCP_SERVER_NAME=alphavantage-prod
export ALPHAVANTAGE_API_KEY=your_api_key
alphavantage --server http --port 8080
# 查看指标
curl http://localhost:9464/metrics
使用无状态 MCP 模式在 AWS Lambda 上部署 AlphaVantage MCP 服务器,实现生产就绪且可扩展的部署。
cd deploy/aws-stateless-mcp-lambda
export ALPHAVANTAGE_API_KEY=your_api_key_here
./deploy.sh
特性:
📖 完整文档: 请参阅 AWS 部署指南 以获取完整的设置说明、测试、监控和故障排除信息。
将以下内容添加到您的 claude_desktop_config.json 中:
{
"mcpServers": {
"alphavantage": {
"command": "uvx",
"args": ["alphavantage-mcp"],
"env": {
"ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
如果您克隆了仓库,请使用以下配置:
{
"mcpServers": {
"alphavantage": {
"command": "uv",
"args": [
"--directory",
"<DIRECTORY-OF-CLONED-PROJECT>/alphavantage",
"run",
"alphavantage"
],
"env": {
"ALPHAVANTAGE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
使用 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 服务器的快速演示:
此项目包括脚本用于发布到 PyPI 和 TestPyPI:
# 发布到 TestPyPI(用于测试)
python scripts/publish.py --test
# 发布到 PyPI(生产)
python scripts/publish.py
# 使用 uv publish 而不是 twine
python scripts/publish.py --test --use-uv
该脚本默认使用 twine(推荐),但也可以使用 uv publish 并带有 --use-uv 标志。
该仓库包括一个 GitHub Actions 工作流用于自动化发布:
要设置发布:
对于可信发布(推荐):
对于基于令牌的发布:
PYPI_API_TOKEN 和 TEST_PYPI_API_TOKEN 密钥我们欢迎社区贡献!要开始,请查看我们的 贡献指南,了解设置说明、开发技巧和指导方针。