MCP Avantage

Alpha Vantage API 用の MCP サーバー (@missionsquad/avantage)

このプロジェクトは、 @missionsquad/avantageライブラリをラップするモデル コンテキスト プロトコル (MCP) サーバーを提供し、Alpha Vantage API 機能を言語学習モデル (LLM) のツールとして公開します。

概要

このサーバーにより、LLM は Alpha Vantage API と対話して、次のような財務データを取得できます。

  • コア株価データ(時系列、株価、検索)
  • 基礎データ(会社概要、財務状況、カレンダー)
  • 外国為替(FX)データ
  • 暗号通貨データ
  • 商品データ
  • 経済指標
  • テクニカル指標
  • アルファインテリジェンス(ニュース、感情など)
  • オプションデータ(プレミアム)

これは@missionsquad/avantage TypeScript ライブラリを活用し、マルチユーザー API キーの処理やAVantageクライアント インスタンスのリソース管理など、汎用 MCP サーバー テンプレートのアーキテクチャに従います。

主な機能:

  • 包括的なカバレッジ: @missionsquad/avantageライブラリで利用可能なほぼすべての機能に対して MCP ツールを実装します。
  • マルチユーザー サポート: extraArgs (推奨) または環境変数へのフォールバックを介して Alpha Vantage API キーを安全に処理します。
  • リソース管理: ResourceManagerを使用してAVantageクライアント インスタンスを効率的に管理します。
  • 厳密に型指定: TypeScript を使用して構築され、ツール パラメータには@missionsquad/avantageの型と Zod スキーマが活用されています。
  • 標準 MCP インターフェイス: MCP 通信に@missionsquad/fastmcp使用します。

はじめる

前提条件

  • Node.js v20以降
  • npmまたはyarn
  • Alpha Vantage API キー (こちらから取得)

設定

  1. **複製またはコピー:**このリポジトリを複製するか、ファイルをコピーします。
    git clone <repository-url> mcp-avantage-server cd mcp-avantage-server
  2. 依存関係をインストールします:
    npm install # or yarn install
  3. 環境を構成する:
    • .env.example.envにコピーします。
    • .envを編集し、 API_KEY Alpha Vantage API キーに設定します。
    • プレミアム サブスクリプションをお持ちの場合は、オプションでAV_PREMIUM=trueを設定します。
    • 必要に応じて、 LOG_LEVELまたはRESOURCE_CLEANUP_INTERVALを調整します。
  4. プロジェクトをビルドします。
    npm run build # or yarn build
  5. サーバーを起動します。
    npm start # or yarn start
    サーバーは stdio で MCP 要求をリッスンします。

認証

サーバーは標準のマルチユーザー トークン処理パターンを使用します。

  1. extraArgs.apiKey (推奨): MCP call_toolリクエスト時に、 extraArgsオブジェクトのapiKeyフィールドにユーザー固有の Alpha Vantage API キーを渡します。このキーはツールのスキーマの一部ではありません
  2. .envフォールバック: extraArgs.apiKeyが指定されていない場合、サーバーは.envファイルのAPI_KEY値を使用します。

利用可能なツール

このサーバーは@missionsquad/avantageライブラリのメソッドに対応する多数のツールを公開しています。ツールは通常、 module_methodという名前が付けられます(例: coreStock_intradayfundamentalData_companyOverview )。

パラメータと戻り構造の詳細については、 Alpha Vantage のドキュメント@missionsquad/avantageライブラリの型 (ライブラリ内のsrc/types/* ) を参照してください。

ツール呼び出しの例 (概念的な MCP リクエスト):

{ "type": "call_tool", "requestId": "req-123", "tool": { "name": "coreStock_quote", "arguments": { "symbol": "IBM" } }, "context": { "extraArgs": { "apiKey": "USER_SPECIFIC_AV_KEY" // Optional: User's key } } }

ツールカテゴリ(モジュール):

  • alphaIntelligence_*
  • commodities_*
  • coreStock_*
  • crypto_*
  • economicIndicators_*
  • forex_*
  • fundamentalData_*
  • optionsData_* (プレミアム)
  • technicalIndicators_*

使用可能なツール、その説明、およびパラメータ スキーマの完全なリストを取得するには、MCP list_toolsコマンドを使用します。

構成

.envファイルで設定します:

変数説明デフォルト
API_KEYextraArgsにない場合は、Alpha Vantage API キーをフォールバックします。null
LOG_LEVELログレベル( errorwarninfodebuginfo
RESOURCE_CLEANUP_INTERVAL非アクティブな AVantage クライアントインスタンスをクリーンアップする間隔 (ミリ秒)1800000 (30m)
AV_PREMIUMプレミアムエンドポイントアクセスをavantageで有効にするにはtrueに設定しますfalse

プロジェクト構造

汎用MCPサーバーテンプレートの構造に従います。主要ファイル:

  • src/index.ts : メイン サーバーのエントリ ポイント、ツールの定義。
  • src/config.ts : 構成の読み込み。
  • src/logger.ts : ログ記録ユーティリティ。
  • src/resource-manager.ts : AVantageインスタンスを管理します。
  • src/schemas.ts : ツールパラメータの Zod スキーマ。
  • .nexus/ : Nexus のドキュメント。

Nexus ドキュメント

ライセンス

MIT (テンプレートのライセンスが MIT であると仮定します。確認してください。)

-
security - not tested
-
license - not tested
-
quality - not tested

LLM が Alpha Vantage API から株価、ファンダメンタルズ、外国為替、暗号通貨、経済指標などの包括的な財務データにアクセスできるようにするモデル コンテキスト プロトコル サーバー。

  1. Overview
    1. Getting Started
      1. Prerequisites
      2. Setup
    2. Authentication
      1. Available Tools
        1. Configuration
          1. Project Structure
            1. Nexus Documentation
              1. License
                ID: rrb3v0d7c5