Skip to main content
Glama

Что это?

alpaka-mcp — это готовый к продакшену MCP-сервер + CLI, который подключает AI-ассистентов (Claude Desktop, Cursor, VS Code Copilot) и ваш терминал напрямую к Alpaca Trading API. Торгуйте акциями, ETF и криптовалютой на естественном языке — или из командной строки.

Построен на alpaca-py и MCP Python SDK.

По умолчанию используется бумажная торговля — реальные рыночные данные, виртуальные средства, ноль реальных денег под риском.


Related MCP server: FinClaw

Быстрый старт

1. Получите ключи Alpaca API (бесплатно)

Зарегистрируйтесь на alpaca.markets → Paper Trading → API Keys

2. Установка

git clone https://github.com/vikrambtech2025-png/alpaka-mcp.git
cd alpaka-mcp
uv sync

3. Настройка

cp .env.example .env
# Add your API keys to .env

4. Запуск

uv run alpaka-mcp          # MCP server (stdio for Claude/Cursor)
uv run alpaka account      # CLI — check account
uv run mcp dev src/alpaka_mcp/server.py  # MCP Inspector

Подключение к AI-ассистентам

Добавьте в %AppData%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "alpaka": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\alpaka-mcp", "run", "alpaka-mcp"],
      "env": {
        "ALPACA_API_KEY": "your_key",
        "ALPACA_SECRET_KEY": "your_secret",
        "ALPACA_PAPER": "true"
      }
    }
  }
}

Добавьте в .cursor/mcp.json в корне вашего проекта:

{
  "mcpServers": {
    "alpaka": {
      "command": "uv",
      "args": ["--directory", "/path/to/alpaka-mcp", "run", "alpaka-mcp"],
      "env": {
        "ALPACA_API_KEY": "your_key",
        "ALPACA_SECRET_KEY": "your_secret",
        "ALPACA_PAPER": "true"
      }
    }
  }
}

Добавьте в .vscode/mcp.json:

{
  "servers": {
    "alpaka": {
      "command": "uv",
      "args": ["--directory", "/path/to/alpaka-mcp", "run", "alpaka-mcp"],
      "env": {
        "ALPACA_API_KEY": "your_key",
        "ALPACA_SECRET_KEY": "your_secret",
        "ALPACA_PAPER": "true"
      }
    }
  }
}

MCP-инструменты (16)

Инструмент

Описание

get_account

Баланс, капитал, покупательная способность, дневные сделки

get_portfolio

Все открытые позиции с P&L

Инструмент

Описание

buy

Разместить ордер на покупку (рыночный/лимитный/стоп/стоп-лимит)

sell

Разместить ордер на продажу (рыночный/лимитный)

get_orders

Список ордеров по статусу и символам

cancel_order

Отменить конкретный ордер

cancel_all_orders

Отменить все открытые ордера

Инструмент

Описание

get_position

Детали одной позиции

close_position

Ликвидировать (полностью или частично)

Инструмент

Описание

get_stock_quote

Последняя котировка (бид/аск)

get_stock_bars

Исторические бары OHLCV

get_stock_snapshot

Полный снимок (сделка, котировка, дневной, 1-минутный)

Инструмент

Описание

get_crypto_quote

Последний бид/аск по криптовалюте

get_crypto_bars

Исторические бары OHLCV по криптовалюте

Инструмент

Описание

search_assets

Поиск акций/ETF/криптовалют по названию или символу

get_market_clock

Статус открытия/закрытия рынка


CLI-команды (12)

alpaka account                    # Account balance & buying power
alpaka portfolio                  # Open positions with color-coded P&L
alpaka quote AAPL                 # Bid/ask quote (stocks or crypto)
alpaka buy AAPL --qty 10          # Buy 10 shares
alpaka buy BTC/USD -n 500         # Buy $500 of Bitcoin
alpaka sell AAPL --qty 5          # Sell 5 shares
alpaka orders                     # List open orders
alpaka orders --status closed     # List filled orders
alpaka cancel <order-id>          # Cancel specific order
alpaka cancel-all                 # Cancel everything open
alpaka bars AAPL --tf 1Day        # Historical bars
alpaka clock                      # Is the market open?
alpaka search apple               # Find tradeable assets

Все команды поддерживают --json для машиночитаемого вывода:

$ uv run alpaka account --json
{
  "status": "ACTIVE",
  "equity": "100000.00",
  "buying_power": "200000.00",
  "cash": "100000.00",
  "portfolio_value": "100000.00",
  "daytrade_count": 0,
  "pattern_day_trader": false,
  "mode": "paper"
}

Производственные возможности

Возможность

Как это работает

Устойчивый клиент

Прозрачный прокси оборачивает каждый вызов API с ограничением скорости и повторными попытками

Ограничение скорости

3 независимых корзины токенов (200 запросов/мин каждая) — торговля, данные по акциям, криптовалюта

Повторные попытки + задержка

3 попытки с экспоненциальной задержкой 1с/2с/4с при ошибках 429, 500 и ошибках соединения

Неблокирующая асинхронность

MCP-инструменты используют asyncio.to_thread() — цикл событий никогда не блокируется

Структурированное логирование

JSON-журнал аудита: logs/trades.jsonl + logs/errors.jsonl

Проверка входных данных

Символы, количества, цены, типы ордеров проверяются перед вызовами API

Защита от реальной торговли

Требует ALPACA_LIVE_CONFIRM=true + 5-секундный обратный отсчет для реальных денег

Проверка конфигурации

Отклоняет заглушки ключей API с понятными инструкциями по настройке

Потокобезопасность

Инициализация клиента через lru_cache, нет изменяемого глобального состояния

Обработка ошибок CLI

Каждая команда обернута — чистые ошибки, без трассировок


Архитектура

src/alpaka_mcp/
├── server.py          # MCP server entry point (stdio)
├── cli.py             # 12 Typer commands + JSON output
├── config.py          # pydantic-settings + credential validation
├── clients.py         # ResilientClient proxy (rate limit + retry + async)
├── utils.py           # Response formatting
├── logging.py         # Structured JSON logging
├── rate_limiter.py    # Token bucket rate limiters (sync + async)
├── retry.py           # Exponential backoff (sync + async)
├── validation.py      # Input validation
└── tools/             # 16 MCP tools
    ├── account.py     # get_account, get_portfolio
    ├── trading.py     # buy, sell, get_orders, cancel_order, cancel_all
    ├── positions.py   # get_position, close_position
    ├── stock_data.py  # get_stock_quote, get_stock_bars, get_stock_snapshot
    ├── crypto_data.py # get_crypto_quote, get_crypto_bars
    └── discovery.py   # search_assets, get_market_clock

Docker

# MCP server
docker compose up alpaka-mcp

# CLI via docker
docker compose run --rm alpaka-cli account
docker compose run --rm alpaka-cli portfolio

Логи сохраняются в Docker-томе по пути /app/logs.


Переменные окружения

Переменная

По умолчанию

Описание

ALPACA_API_KEY

(обязательно)

Ваш ключ Alpaca API

ALPACA_SECRET_KEY

(обязательно)

Ваш секретный ключ Alpaca

ALPACA_PAPER

true

Режим бумажной торговли

ALPACA_LIVE_CONFIRM

false

Должно быть true для реальной торговли

ALPACA_LOG_DIR

logs

Каталог файлов журнала

ALPACA_LOG_LEVEL

INFO

Подробность логирования


Тестирование

# Unit tests (no API keys needed)
uv run pytest tests/ --ignore=tests/test_integration.py -v

# Integration tests (needs real paper API keys)
ALPACA_API_KEY=pk_xxx ALPACA_SECRET_KEY=sk_xxx uv run pytest tests/test_integration.py -v

Безопасность

  • Бумажная торговля по умолчанию — реальные деньги требуют явного согласия

  • Реальная торговля требует и ALPACA_PAPER=false, и ALPACA_LIVE_CONFIRM=true

  • 5-секундный обратный отсчет при запуске реальной торговли

  • Все ошибки форматируются аккуратно — никаких трассировок, отправляемых LLM

  • Ограничение скорости предотвращает случайное злоупотребление API

  • Структурированный журнал аудита для каждой сделки


Лицензия

MIT


F
license - not found
Not graded
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.

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    MCP server that exposes Alpaca Market Data & Broker API as tools, enabling access to financial data like stock bars, assets, market days, and news through the Message Control Protocol.
    4
    54
    2
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides AI agents with financial tools including real-time quotes, backtesting, technical analysis, and multi-exchange data via a simple CLI interface.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server implementation for Alpaca's Trading API that enables LLMs to interact with Alpaca's trading infrastructure using natural language, supporting stock, options, and crypto trading, portfolio management, watchlists, and market data.
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    This MCP server connects AI assistants to a Public.com brokerage account, enabling natural language trading of stocks, options, and crypto, along with portfolio management, quotes, and orders.
    37
    65
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • MCP server for Gainium — manage trading bots, deals, and balances via AI assistants

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Alpaca MCP — real-time US stock market data via the Alpaca Market Data API

View all MCP Connectors

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/vikrambtech2025-png/alpaka-mcp'

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