Skip to main content

new-tasty-trade-mcp

An MCP server exposing the Tastytrade Open API to an LLM host (Claude Code, Claude Desktop, Cursor, …). Read-only account & market-data tools plus guarded live-trading tools (two-phase orders, size caps, audit log).

Published on PyPI — run it anywhere with uvx; no clone or local venv required. (The Python import name is tastytrade_mcp.)

Requirements

  • Python 3.10+
  • A Tastytrade OAuth app with a refresh token and client secret. Create it at my.tastytrade.com → Manage → My Profile → API → OAuth Applications, and select the read and trade scopes when creating the client/grant (without them the API returns 403 insufficient scopes).

Register with Claude Code

uvx fetches the package on demand, so there's nothing to install up front:

claude mcp add tastytrade \
  -e TASTY_ACCOUNT_NUMBER=... \
  -e TASTY_CLIENT_ID=... \
  -e TASTY_CLIENT_SECRET=... \
  -e TASTY_REFRESH_TOKEN=... \
  -- uvx new-tasty-trade-mcp

Restart Claude Code and the tools appear.

Other MCP clients (Claude Desktop, Cursor, Cline, …)

Add this to your mcpServers config (same shape across clients):

{
  "mcpServers": {
    "tastytrade": {
      "command": "uvx",
      "args": ["new-tasty-trade-mcp"],
      "env": {
        "TASTY_ACCOUNT_NUMBER": "...",
        "TASTY_CLIENT_ID": "...",
        "TASTY_CLIENT_SECRET": "...",
        "TASTY_REFRESH_TOKEN": "..."
      }
    }
  }
}

Optional env overrides:

  • TASTY_MAX_ORDER_NOTIONAL_USD — reject orders above this notional (Limit orders only).
  • TASTY_MAX_QUANTITY — reject orders above this total leg quantity.
  • TASTY_LOG_FILE — audit-log path (default tastytrade-mcp-trades.log in the working directory). Set an absolute path to place it elsewhere.

Tools

Account (read): get_accounts, get_account, get_balances, get_positions, get_orders, get_order, get_transactions, get_trading_status, get_nlv_history.

Market (read): get_quote, get_option_chain, get_market_metrics, search_symbols, get_equity.

Trading (guarded): dry_run_order, place_order (two-phase: execute=false previews, execute=true submits after the size-cap check), modify_order, cancel_order.

Trading guardrails

  • Two-phase: place_order always dry-runs first; it submits only when execute=true.
  • Size caps: TASTY_MAX_QUANTITY and TASTY_MAX_ORDER_NOTIONAL_USD; orders over a cap are rejected before submission. Leave unset for no cap.
  • Audit log: every place/modify/cancel (success or failure) and every dry-run appends a JSON line to TASTY_LOG_FILE.

Run directly (stdio)

uvx new-tasty-trade-mcp          # from anywhere
# or, installed in a venv:
python -m tastytrade_mcp

Development

Editable install from a clone (includes pytest, build, twine):

venv/bin/pip install -e 'mcp/tastytrade[dev]'

Common tasks via the Makefile (run from mcp/tastytrade/, or make -C mcp/tastytrade … from the repo root):

make test       # run the suite (httpx.MockTransport — no network, no live account)
make build      # clean -> test -> build wheel + sdist into dist/
make publish    # build -> twine upload (uses ~/.pypirc)
make install    # editable install with dev extras
make clean      # remove build/ and dist/

Re-publishing: bump version in pyproject.toml, then make publish (PyPI won't accept the same version twice).

Metadata

Release files for new-tasty-trade-mcp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for new-tasty-trade-mcp 0.1.2
File Size Uploaded
new_tasty_trade_mcp-0.1.2.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for new-tasty-trade-mcp 0.1.2
File Interpreter ABI Platform
new_tasty_trade_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 25.9 kB

Release files / new_tasty_trade_mcp-0.1.2.tar.gz

Download URL new_tasty_trade_mcp-0.1.2.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
da03ebe40b16385a53f867fe8ab2d9b0a2c2b05b1a608c958271fe650ee46ff6
BLAKE2b-256 checksum
How to use checksums
6063cff8d50f9de9633ff84dfaf7a955fc6e91c1ee96deccb31ce9b3c8c1cc0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.14

Release files / new_tasty_trade_mcp-0.1.2-py3-none-any.whl

Download URL new_tasty_trade_mcp-0.1.2-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0f0244ab7a38e1d13eb593a6ce67d5e3b5800c157de31114cda1091313bef4c
BLAKE2b-256 checksum
How to use checksums
a8fc37c6ddf8ca29884ef67e1039ec573fb5555cc0993c18cad171a7a545029d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.14

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page