tasty-agent


Nametasty-agent JSON
Version 1.2.0 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol server for interacting with TastyTrade brokerage accounts
upload_time2025-07-22 12:32:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords broker mcp model context protocol robinhood tastytrade trading wallstreetbets
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # tasty-agent: A TastyTrade MCP Server

A Model Context Protocol server for TastyTrade brokerage accounts. Enables LLMs to monitor portfolios, analyze positions, and execute trades.

## Installation

```bash
uvx tasty-agent
```

### Authentication

Set up credentials (stored in system keyring):
```bash
uvx tasty-agent setup
```

Or use environment variables:
- `TASTYTRADE_USERNAME`
- `TASTYTRADE_PASSWORD`
- `TASTYTRADE_ACCOUNT_ID` (optional)

## MCP Tools

### Account & Portfolio
- **`get_balances()`** - Account balances and buying power
- **`get_positions()`** - All open positions with current values
- **`get_net_liquidating_value_history(time_back='1y')`** - Portfolio value history ('1d', '1m', '3m', '6m', '1y', 'all')
- **`get_history(start_date=None)`** - Transaction history (format: YYYY-MM-DD, default: last 90 days)

### Market Data & Research
- **`get_quote(symbol, option_type=None, strike_price=None, expiration_date=None, timeout=10.0)`** - Real-time quotes for stocks and options via DXLink streaming
- **`get_market_metrics(symbols)`** - IV rank, percentile, beta, liquidity for multiple symbols
- **`market_status(exchanges=['Equity'])`** - Market hours and status ('Equity', 'CME', 'CFE', 'Smalls')
- **`search_symbols(symbol)`** - Search for symbols by name/ticker

### Order Management
- **`get_live_orders()`** - Currently active orders
- **`place_order(symbol, order_type, action, quantity, price, strike_price=None, expiration_date=None, time_in_force='Day', dry_run=False)`** - Simplified order placement for stocks and options
- **`delete_order(order_id)`** - Cancel orders by ID

### Watchlist Management
- **`get_public_watchlists(name=None)`** - Get public watchlists (all watchlists if name=None, specific watchlist if name provided)
- **`get_private_watchlists(name=None)`** - Get private watchlists (all watchlists if name=None, specific watchlist if name provided)
- **`create_private_watchlist(name, entries=[], group_name='main')`** - Create new private watchlist
- **`add_symbol_to_private_watchlist(watchlist_name, symbol, instrument_type)`** - Add symbol to existing watchlist
- **`remove_symbol_from_private_watchlist(watchlist_name, symbol, instrument_type)`** - Remove symbol from watchlist
- **`delete_private_watchlist(name)`** - Delete private watchlist

## Watchlist Entry Format

Watchlist entries use this format:
```json
[
  {
    "symbol": "AAPL",
    "instrument_type": "Equity"
  },
  {
    "symbol": "AAPL240119C00150000",
    "instrument_type": "Equity Option"
  }
]
```

## Key Features

- **Real-time streaming** quotes via DXLink WebSocket
- **Watchlist management** for portfolio organization
- **Dry-run testing** for all order operations
- **Automatic symbol normalization** for options
- **Fresh data** always from TastyTrade API

## Usage with Claude Desktop

Add to `claude_desktop_config.json`:
```json
{
  "mcpServers": {
    "tastytrade": {
      "command": "uvx",
      "args": ["tasty-agent"]
    }
  }
}
```

## Examples

```
"Get my account balances and current positions"
"Get real-time quote for SPY"
"Get quote for TQQQ C option with strike 100 expiring 2026-01-16"
"Place dry-run order: buy 100 AAPL shares at $150"
"Place order: buy 17 TQQQ C contracts at $8.55, strike 100, expiring 2026-01-16"
"Cancel order 12345"
"Create a watchlist called 'Tech Stocks' with AAPL and MSFT"
"Add TSLA to my Tech Stocks watchlist"
```

## Development

Debug with MCP inspector:
```bash
npx @modelcontextprotocol/inspector uvx tasty-agent
```

## License

MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tasty-agent",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "broker, mcp, model context protocol, robinhood, tastytrade, trading, wallstreetbets",
    "author": null,
    "author_email": "Ferdous <ferdous@hey.com>",
    "download_url": "https://files.pythonhosted.org/packages/ed/b5/e6e1608136332b16b44a5eee2fa0e29d1ece253c37b93f44f42d2d3cafa8/tasty_agent-1.2.0.tar.gz",
    "platform": null,
    "description": "# tasty-agent: A TastyTrade MCP Server\n\nA Model Context Protocol server for TastyTrade brokerage accounts. Enables LLMs to monitor portfolios, analyze positions, and execute trades.\n\n## Installation\n\n```bash\nuvx tasty-agent\n```\n\n### Authentication\n\nSet up credentials (stored in system keyring):\n```bash\nuvx tasty-agent setup\n```\n\nOr use environment variables:\n- `TASTYTRADE_USERNAME`\n- `TASTYTRADE_PASSWORD`\n- `TASTYTRADE_ACCOUNT_ID` (optional)\n\n## MCP Tools\n\n### Account & Portfolio\n- **`get_balances()`** - Account balances and buying power\n- **`get_positions()`** - All open positions with current values\n- **`get_net_liquidating_value_history(time_back='1y')`** - Portfolio value history ('1d', '1m', '3m', '6m', '1y', 'all')\n- **`get_history(start_date=None)`** - Transaction history (format: YYYY-MM-DD, default: last 90 days)\n\n### Market Data & Research\n- **`get_quote(symbol, option_type=None, strike_price=None, expiration_date=None, timeout=10.0)`** - Real-time quotes for stocks and options via DXLink streaming\n- **`get_market_metrics(symbols)`** - IV rank, percentile, beta, liquidity for multiple symbols\n- **`market_status(exchanges=['Equity'])`** - Market hours and status ('Equity', 'CME', 'CFE', 'Smalls')\n- **`search_symbols(symbol)`** - Search for symbols by name/ticker\n\n### Order Management\n- **`get_live_orders()`** - Currently active orders\n- **`place_order(symbol, order_type, action, quantity, price, strike_price=None, expiration_date=None, time_in_force='Day', dry_run=False)`** - Simplified order placement for stocks and options\n- **`delete_order(order_id)`** - Cancel orders by ID\n\n### Watchlist Management\n- **`get_public_watchlists(name=None)`** - Get public watchlists (all watchlists if name=None, specific watchlist if name provided)\n- **`get_private_watchlists(name=None)`** - Get private watchlists (all watchlists if name=None, specific watchlist if name provided)\n- **`create_private_watchlist(name, entries=[], group_name='main')`** - Create new private watchlist\n- **`add_symbol_to_private_watchlist(watchlist_name, symbol, instrument_type)`** - Add symbol to existing watchlist\n- **`remove_symbol_from_private_watchlist(watchlist_name, symbol, instrument_type)`** - Remove symbol from watchlist\n- **`delete_private_watchlist(name)`** - Delete private watchlist\n\n## Watchlist Entry Format\n\nWatchlist entries use this format:\n```json\n[\n  {\n    \"symbol\": \"AAPL\",\n    \"instrument_type\": \"Equity\"\n  },\n  {\n    \"symbol\": \"AAPL240119C00150000\",\n    \"instrument_type\": \"Equity Option\"\n  }\n]\n```\n\n## Key Features\n\n- **Real-time streaming** quotes via DXLink WebSocket\n- **Watchlist management** for portfolio organization\n- **Dry-run testing** for all order operations\n- **Automatic symbol normalization** for options\n- **Fresh data** always from TastyTrade API\n\n## Usage with Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n```json\n{\n  \"mcpServers\": {\n    \"tastytrade\": {\n      \"command\": \"uvx\",\n      \"args\": [\"tasty-agent\"]\n    }\n  }\n}\n```\n\n## Examples\n\n```\n\"Get my account balances and current positions\"\n\"Get real-time quote for SPY\"\n\"Get quote for TQQQ C option with strike 100 expiring 2026-01-16\"\n\"Place dry-run order: buy 100 AAPL shares at $150\"\n\"Place order: buy 17 TQQQ C contracts at $8.55, strike 100, expiring 2026-01-16\"\n\"Cancel order 12345\"\n\"Create a watchlist called 'Tech Stocks' with AAPL and MSFT\"\n\"Add TSLA to my Tech Stocks watchlist\"\n```\n\n## Development\n\nDebug with MCP inspector:\n```bash\nnpx @modelcontextprotocol/inspector uvx tasty-agent\n```\n\n## License\n\nMIT\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Model Context Protocol server for interacting with TastyTrade brokerage accounts",
    "version": "1.2.0",
    "project_urls": null,
    "split_keywords": [
        "broker",
        " mcp",
        " model context protocol",
        " robinhood",
        " tastytrade",
        " trading",
        " wallstreetbets"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7e486971ff7567ca09d904b4bd2515b9385e556c7dffcfbe97006be4aa92dbd1",
                "md5": "497c3e3c2dc35238972c025e7cff6c82",
                "sha256": "d09f0fda68e6da10e3ef9250c74ee440d40721b94b88b7f103b2a5aa017d310a"
            },
            "downloads": -1,
            "filename": "tasty_agent-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "497c3e3c2dc35238972c025e7cff6c82",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 10062,
            "upload_time": "2025-07-22T12:32:17",
            "upload_time_iso_8601": "2025-07-22T12:32:17.437542Z",
            "url": "https://files.pythonhosted.org/packages/7e/48/6971ff7567ca09d904b4bd2515b9385e556c7dffcfbe97006be4aa92dbd1/tasty_agent-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "edb5e6e1608136332b16b44a5eee2fa0e29d1ece253c37b93f44f42d2d3cafa8",
                "md5": "ea23a67e3c299d557ab876d2fa71e84d",
                "sha256": "456344e231a76d69fb2eda230af684bc697da20f9731909323f3a13c1f5b0557"
            },
            "downloads": -1,
            "filename": "tasty_agent-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ea23a67e3c299d557ab876d2fa71e84d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 47475,
            "upload_time": "2025-07-22T12:32:18",
            "upload_time_iso_8601": "2025-07-22T12:32:18.544470Z",
            "url": "https://files.pythonhosted.org/packages/ed/b5/e6e1608136332b16b44a5eee2fa0e29d1ece253c37b93f44f42d2d3cafa8/tasty_agent-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-22 12:32:18",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "tasty-agent"
}
        
Elapsed time: 0.52606s