MCP Avantage

Alpha Vantage API용 MCP 서버(@missionsquad/avantage)

이 프로젝트는 @missionsquad/avantage 라이브러리를 래핑하는 모델 컨텍스트 프로토콜(MCP) 서버를 제공하여 Alpha Vantage API 기능을 언어 학습 모델(LLM) 도구로 제공합니다.

개요

이 서버를 통해 LLM은 Alpha Vantage API와 상호 작용하여 다음을 포함한 재무 데이터를 검색할 수 있습니다.

  • 핵심 주식 데이터(시계열, 시세, 검색)
  • 기본 데이터(회사 개요, 재무, 일정)
  • 외환(FX) 데이터
  • 암호화폐 데이터
  • 상품 데이터
  • 경제 지표
  • 기술 지표
  • 알파 인텔리전스(뉴스, 감정 등)
  • 옵션 데이터(프리미엄)

@missionsquad/avantage TypeScript 라이브러리를 활용하고 일반 MCP 서버 템플릿의 아키텍처를 따르며, 여기에는 다중 사용자 API 키 처리 및 AVantage 클라이언트 인스턴스의 리소스 관리가 포함됩니다.

주요 특징:

  • 포괄적인 적용 범위: @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. 복제 또는 복사: 이 저장소를 복제하거나 파일을 복사합니다.지엑스피1
  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_intraday , fundamentalData_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 에 없으면 Fallback Alpha Vantage API 키가 사용됩니다.null
LOG_LEVEL로깅 수준( error , warn , info , debug )info
RESOURCE_CLEANUP_INTERVAL비활성 AVantage 클라이언트 인스턴스를 정리하는 간격(ms)1800000 (30m)
AV_PREMIUMavantage 에서 프리미엄 엔드포인트 액세스를 활성화하려면 true 로 설정하세요.false

프로젝트 구조

일반적인 MCP 서버 템플릿 구조를 따릅니다. 주요 파일:

  • src/index.ts : 메인 서버 진입점, 도구 정의.
  • src/config.ts : 구성 로딩.
  • src/logger.ts : 로깅 유틸리티.
  • src/resource-manager.ts : AVantage 인스턴스를 관리합니다.
  • src/schemas.ts : 도구 매개변수에 대한 Zod 스키마.
  • .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