Skip to main content
Glama
jaewoongy

Alpaca Trading Bot MCP Server

by jaewoongy

Alpaca Trading Bot (MCP Server)

An MCP server exposing Alpaca paper trading as tools for Claude (or any MCP client): check quotes, manage a watchlist, check market hours, and place simulated trades. No real money is ever at risk — paper=True is hardcoded in trading_mcp_server.py.

Setup

python -m venv .venv
.venv/Scripts/activate   # or source .venv/bin/activate on macOS/Linux
pip install -r requirements.txt
cp .env.example .env     # then fill in your Alpaca paper trading keys

Get paper trading API keys from the Alpaca dashboard (alpaca.markets) — sign up, then generate a key under the Paper Trading section (not Live).

Related MCP server: Alpaca MCP Server

Running

python trading_mcp_server.py

This runs as a stdio MCP server. To register it with Claude Code:

claude mcp add alpaca-trading -- python /full/path/to/trading_mcp_server.py

Tools

  • get_account — cash, buying power, portfolio value

  • get_quotes(symbols?) — latest bid/ask for given tickers, or the whole watchlist if omitted

  • get_watchlist / add_to_watchlist(symbol) / remove_from_watchlist(symbol) — manage watchlist.json

  • is_market_open — checks Alpaca's trading calendar (accounts for weekends + market holidays)

  • list_positions — current open positions

  • place_order(symbol, qty, side) — market order, paper trading only

  • list_orders — recent order history

Watchlist

watchlist.json seeds the top 25 QQQM (Nasdaq-100) holdings by weight, verified via stockanalysis.com. Edit the file directly, or use the add_to_watchlist / remove_from_watchlist tools.

Not yet built

  • Scheduled runs (e.g. every 30 minutes during market hours): the MCP server itself only responds to on-demand tool calls — it does not self-schedule. Options discussed but not decided: a local script + Task Scheduler/cron, or an Azure Function with a timer trigger (Azure Functions has GA support for MCP tool triggers as of Build 2026 — see functions-bindings-mcp-tool-trigger docs). is_market_open is the building block for whichever scheduler wraps it.

  • Autonomous vs. approval-gated trading: not yet decided whether the AI should place orders on its own or require confirmation each time.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaewoongy/alpaca-trading-bot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server