AlphaVantage MCP Server with Azure Functions
一个演示,用于展示一个带有 Azure Functions 的 MCP 服务器
dsaad68
README
基于 Azure Functions 的 AlphaVantage MCP 服务器
本项目实现了一个 Azure Function,它充当 Agent 作为 MCP 服务器和 AlphaVantage 金融 API 之间的桥梁。 它允许 AI agent 通过 MCP 公开的工具访问金融数据并执行金融分析。
<div align="center"> <img src="docs/az-func-mcp.drawio.png" alt="架构图" width="100%"/> </div>
Azure Function 将以下金融数据端点公开为 MCP 工具:
- 公司概览
- 利润表
- 资产负债表
- 现金流量表
- 盈利报告
agent
目录中创建了一个使用 PydanticAI 的演示 agent,可用于测试 MCP 服务器。 更多信息请参考 演示 Agent 文件。
前提条件
- Azure 订阅
- Azure Developer CLI (azd)
- Azure Functions Core Tools
- Python 3.11
- AlphaVantage API 密钥 (参见 AlphaVantage)
本地开发
- 克隆此仓库
- 创建一个虚拟环境并安装依赖项:
uv sync --frozen
- 在
src
目录中创建一个local.settings.json
文件,其中包含您的 AlphaVantage API 密钥:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"ALPHAVANTAGE_API_KEY": "your-alphavantage-api-key"
}
}
- 在本地运行该函数:
cd src
func start
部署
- 登录到 Azure:
azd auth login
- 部署应用程序:
azd up
这将预配必要的 Azure 资源并部署 Function App。
注意: 有关设置环境变量的信息,请参阅 添加环境变量 部分。
获取 MCP 端点 URL
部署后,检索您的 MCP 扩展系统密钥:
az functionapp keys list \
--resource-group <resource_group> \
--name <function_app_name>
您的 MCP 端点 URL 将是:
https://<funcappname>.azurewebsites.net/runtime/webhooks/mcp/sse?code=<your-mcp-extension-system-key>
添加环境变量
您可以通过两种方式将环境变量添加到您的 Azure Function:
1. 使用参数文件(推荐用于部署)
将您的环境变量添加到 infra/main.parameters.json
文件:
{
"parameters": {
// 其他参数...
"functionAppEnvironmentVariables": {
"value": {
"ALPHAVANTAGE_API_KEY": "your-api-key",
"MY_VARIABLE": "my-value"
}
}
}
}
然后使用以下命令部署:
azd up
2. 使用 Azure CLI(用于更新现有部署)
az functionapp config appsettings set \
--name <function_app_name> \
--resource-group <resource-group> \
--settings ALPHAVANTAGE_API_KEY=<your-api-key>
设置 VS Code 进行 MCP 开发
本项目包含一个 .vscode/mcp.json
配置文件,可帮助您在开发期间连接到您的 MCP 端点。 此文件包含:
-
输入定义 - 提示输入:
- Azure Functions MCP 扩展系统密钥(安全存储)
- 您的 Azure Functions App 名称
-
服务器配置:
remote-mcp-function
- 使用上述输入连接到您部署的 Azure Functionlocal-mcp-function
- 连接到在端口 7071 上本地运行的函数
这允许您在开发期间直接从 VS Code 测试您的 MCP 工具,无论是针对您的本地 function app 还是您部署的 Azure 实例。
演示 Agent
agent
目录包含如何使用 Agno 框架将此 MCP 端点与 AI agent 结合使用的示例。 您可以使用它作为您自己的金融分析 agent 的起点。
基础设施代码归属
此项目的基础设施代码改编自 Azure-Samples/remote-mcp-functions-python,它提供了一个用于将 Python 函数作为远程 MCP 工具部署在 Azure 上的模板。
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。