Alpaca Trading MCP Server について
Alpaca Trading MCP Serverは、LLMがAlpaca API経由で口座・市場データを参照し、取引を行うためのPython製MCPサーバーです。プログラム取引や投資業務向けです。
主な機能
- 01口座とポートフォリオの確認
- 02気配値と過去価格の取得
- 03ポジションと直近注文の追跡
- 04成行・指値注文の発注
- 05既存注文のキャンセル
活用シーン
- 01口座残高とポートフォリオの確認
- 02気配値と過去価格の調査
- 03取引注文の発注やキャンセル
MCP 対応
Alpacaの口座、市場、ポジション、注文のリソースと、注文の発注・キャンセル、ポートフォリオ要約のツールをMCPクライアントに公開します。デフォルトではペーパートレードを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Alpaca Trading MCP Server
Anthropic Claude などの大規模言語モデル(LLM)が Alpaca の取引 API と連携できるようにする、Alpaca 取引用の Model Context Protocol(MCP)サーバー実装です。 この README に記載されている手順とコマンドは、主に MacOS/Linux ユーザー向けです。
はじめに
Model Context Protocol(MCP)
Model Context Protocol(MCP) は、アプリケーションが LLM にコンテキストを提供する方法を標準化する、Anthropic が開発したオープンプロトコルです。MCP は AI アプリケーション用の USB-C ポートのようなものと考えてください。USB-C がデバイスをさまざまな周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCP は AI モデルをさまざまなデータソースやツールに接続する標準的な方法を提供します。
Alpaca
Alpaca は、開発者向けの使いやすい API を通じて金融市場へのアクセスを提供する、最新の証券取引プラットフォームです。Alpaca API を利用することで、企業は自社サービス向けの投資アプリケーションや機能を構築できます。また、システムトレーダーは取引戦略を自動化するアルゴリズムを開発できます。
免責事項
重要:このソフトウェアは、いかなる種類の保証もなく「現状のまま」提供されます。このコードを使用することで、取引には相当なリスクが伴うことを理解し、このソフトウェアの使用によって生じた金銭的損失について作者が責任を負わないことに同意したものとみなされます。この実装を使用して行う取引の判断は、すべてユーザーの責任です。実際の資金でライブ取引を検討する前に、必ずペーパートレードでテストしてください。
参考資料
機能
- アカウント管理:アカウント情報とポートフォリオの概要を表示します
- 市場データ:リアルタイムの気配値と過去の価格バーにアクセスします
- 取引操作:成行注文と指値注文を発注します
- ポジション追跡:現在のポジションと最近の注文を監視します
前提条件
- uv(Python パッケージおよびプロジェクトマネージャー)
インストールコマンド:
curl -LsSf https://astral.sh/uv/install.sh | sh - [任意] Claude for Desktop(テスト用の Claude クライアントアプリ)
インストール
-
このリポジトリをクローンします
git clone https://github.com/MardiantoS/alpaca-mcp-server.git cd alpaca-mcp-server -
[任意ですが推奨] 仮想環境を作成して有効化します:
uv venv source .venv/bin/activate -
依存関係をインストールします。
uvはuv.lockファイルを読み込み、指定されたバージョンの依存関係をすべてインストールしますuv sync -
プロジェクトのルートに、Alpaca の認証情報を記載した
.envファイルを作成します:ALPACA_API_KEY=your_api_key ALPACA_API_SECRET=your_api_secret ALPACA_PAPER=TRUE注:Alpaca API キーは Alpaca の開発者向けウェブコンソールで取得できます。詳細はAlpaca のドキュメントを確認してください。
使用方法(Claude for Desktop で Alpaca MCP サーバーをテストする)
Claude for Desktop がインストールされていることを確認してください。
-
Claude for Desktop で「Settings」(メニューバーにある設定で、アプリ内の設定ではありません)に移動し、「Developer」タブを開いて「Edit Config」をクリックします。
claude_desktop_config.jsonファイルの場所が表示されます。または、
~/Library/Application Support/Claude/claude_desktop_config.jsonでファイルを探すこともできます(ファイルの場所が変更されている場合は、MCP documentation site を参照してください)。 -
mcpServersキーにサーバーを追加します。{ "mcpServers": { "alpaca": { "command": "/ABSOLUTE/PATH/TO/uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/alpaca-mcp-server", "run", "alpaca_mcp_server.py" ] } } }注:
uvとalpaca-mcp-serverディレクトリの絶対パスは、お使いのマシン上の実際のパスに置き換えてください。ヒント:which uvを実行すると、uvの絶対パスを確認できます。 -
Claude for Desktop をすでに起動している場合は、再起動してください。ハンマーアイコンをクリックして、利用可能な MCP ツールを確認します。次のような質問を試せます。
- 「現在の Alpaca ポートフォリオ残高はいくらですか?」
- 「JPMorgan Chase の株を10株、238ドルで買う指値注文を出してください。」
- 「GOOGL の株を1株、成行価格で買ってください。」
- 「AAPL の株を1株、210ドルで売る指値注文を出してください。」
- 「AAPL の売り指値注文をキャンセルしてください。」 注:確認を求められた場合は、ツールの実行を許可してください。
利用可能なリソース
account://info- アカウント情報を取得しますpositions://all- 現在のすべてのポジションを取得しますmarket://quote/{symbol}- 指定した銘柄の最新の価格情報を取得しますmarket://bars/{symbol}- 指定した銘柄の過去7日分のバー情報を取得しますorders://recent- 過去7日分の最近の注文を取得します
注:価格情報や過去のバー情報などのリアルタイム市場データ機能は、Alpaca のサブスクリプションレベルによっては、ライブ取引アカウントでのみ完全に利用できます。
利用可能なツール
place_market_order(symbol, side, qty)- 成行注文を出しますplace_limit_order(symbol, side, qty, limit_price)- 指値注文を出しますcancel_order(order_id)- 既存の注文をキャンセルしますget_portfolio_summary()- 現在のポートフォリオの概要を取得します
安全機能
- デフォルトでペーパートレードを使用します(
ALPACA_PAPER=TRUE) - 適切なエラー処理とログ記録
- contextlib による適切な起動と終了処理
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。
引用
この成果を研究やプロジェクトで使用する場合は、次の形式で引用してください。
Mardianto Hadiputro. (2025). Alpaca Trading MCP Server. GitHub. https://github.com/MardiantoS/alpaca-mcp-server
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。