AlphaVantage MCP Server with Azure Functions について
Azure Functions を基盤とする MCP サーバーで、AI エージェントが AlphaVantage の金融データを分析に利用できます。企業情報や財務諸表を MCP ツールとして公開します。
主な機能
- 01企業概要データ
- 02損益計算書と貸借対照表
- 03キャッシュフローと決算情報
- 04Azure Functions へのデプロイ
活用シーン
- 01分析用の企業情報の取得
- 02AI エージェントでの財務諸表の確認
MCP 対応
企業概要、財務諸表、キャッシュフロー、決算情報などの AlphaVantage データを、MCP クライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Azure Functions を使用した AlphaVantage MCP サーバー
このプロジェクトは、エージェントと MCP サーバーの間をつなぐブリッジとして機能し、AlphaVantage Financial API と連携する Azure Function を実装します。 AI エージェントは、MCP 経由で公開されるツールを通じて、金融データにアクセスし、金融分析を実行できます。
Azure Function は、以下の金融データエンドポイントを MCP ツールとして公開します。
- 企業概要
- 損益計算書
- 貸借対照表
- キャッシュフロー
- 決算報告書
agent ディレクトリには、MCP サーバーのテストに使用できる PydanticAI で作成されたデモエージェントがあります。詳細はデモエージェントファイルをご覧ください。
前提条件
- Azure サブスクリプション
- Azure Developer CLI (azd)
- Azure Functions Core Tools
- Python 3.11
- AlphaVantage API キー(AlphaVantageを参照)
ローカル開発
- このリポジトリをクローンします
- 仮想環境を作成して、依存関係をインストールします。
uv sync --frozen
srcディレクトリに、AlphaVantage API キーを設定したlocal.settings.jsonファイルを作成します。
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"ALPHAVANTAGE_API_KEY": "your-alphavantage-api-key"
}
}
- Function をローカルで実行します。
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 に環境変数を追加する方法は 2 つあります。
1. パラメーターファイルを使用する(デプロイにおすすめ)
環境変数を infra/main.parameters.json ファイルに追加します。
{
"parameters": {
// Other 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>
MCP 開発用の VS Code の設定
このプロジェクトには、開発中に MCP エンドポイントへ接続するための .vscode/mcp.json 設定ファイルが含まれています。このファイルには、以下が記述されています。
-
入力定義 — 以下の入力を求めます。
- Azure Functions MCP Extension System Key(安全に保存されます)
- Azure Functions App 名
-
サーバー設定:
remote-mcp-function— 上記の入力を使用して、デプロイ済みの Azure Function に接続しますlocal-mcp-function— ポート 7071 で実行中のローカル Function に接続します
これにより、開発中にローカルの Function App またはデプロイ済みの Azure インスタンスを対象として、VS Code から MCP ツールを直接テストできます。
デモエージェント
agent ディレクトリには、Agno フレームワークを使用する AI エージェントでこの MCP エンドポイントを利用する方法の例が含まれています。独自の金融分析エージェントを作成する際の出発点として使用できます。
インフラストラクチャコードの出典
このプロジェクトのインフラストラクチャコードは、Azure 上で Python Function をリモート MCP ツールとしてデプロイするためのテンプレートを提供する Azure-Samples/remote-mcp-functions-python を基にしています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。