tasty-agent


Nametasty-agent JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol server for interacting with TastyTrade brokerage accounts
upload_time2025-01-23 00:35:57
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

## Overview

A Model Context Protocol server for interacting with TastyTrade brokerage accounts. This server enables Large Language Models to monitor portfolios, analyze positions, and execute trades through the TastyTrade platform.

Please note that tasty-agent is currently in early development. The functionality and available tools are subject to change and expansion as development continues.

## Prerequisites

- Python 3.12 or higher
- [uv](https://docs.astral.sh/uv/) package manager
- A TastyTrade account

## Installation

Install uv if you haven't already:

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

We will use `uvx` to directly run tasty-agent.

### Authentication

The server requires TastyTrade credentials. For security, these are set up via command line and stored in your system's keyring (Keychain on macOS, Windows Credential Manager on Windows, or similar secure storage on other platforms):

```bash
tasty-setup
```

### Tools

#### Portfolio Management

1. `plot_nlv_history`
   - Plots account net liquidating value history over time
   - Input:
     - `time_back` (string): Time period to plot ('1d', '1m', '3m', '6m', '1y', 'all')
   - Returns: Displays a matplotlib plot of portfolio value history
   - Example response: `"Generated plot showing NLV trend from $10,000 to $12,500 over the last 3 months"`

2. `get_account_balances`
   - Get current account balances
   - Returns: Formatted string with cash balance, buying power, and net liquidating value
   - Example response: `"Cash: $5,000.00, Buying Power: $10,000.00, NLV: $15,000.00"`

3. `get_open_positions`
   - Get all currently open positions
   - Returns: Formatted string showing all open positions
   - Example response: `"AAPL: 100 shares @ $150.00, TSLA 300P 2024-06-21: -2 contracts @ $5.00"`

#### Order Management

1. `queue_order_tool`
   - Queue a new order for later execution
   - Inputs:
     - `symbol` (string): Trading symbol (e.g., "AAPL" or "INTC 50C 2026-01-16")
     - `quantity` (integer): Number of shares/contracts
     - `action` (string): "Buy to Open" or "Sell to Close"
     - `execution_group` (integer, optional): Group number for batch execution
     - `dry_run` (boolean, optional): Test order without execution
   - Returns: Order confirmation message

2. `review_queue_tool`
   - Review all currently queued orders
   - Returns: Formatted string showing all queued orders

3. `execute_orders_tool`
   - Execute all queued orders
   - Input:
     - `force` (boolean, optional): Execute even when market is closed
   - Returns: Execution status message

4. `cancel_orders_tool`
   - Cancel queued orders based on filters
   - Inputs:
     - `execution_group` (integer, optional): Group number to cancel
     - `symbol` (string, optional): Symbol to cancel
   - Returns: Cancellation confirmation message

#### Market Analysis

1. `get_metrics`
   - Get market metrics for specified symbols
   - Input:
     - `symbols` (string[]): List of stock symbols
   - Returns: Formatted string showing IV rank, liquidity, beta, etc.

2. `get_prices`
   - Get current bid and ask prices
   - Input:
     - `symbol` (string): Stock or option symbol
   - Returns: Formatted string showing bid and ask prices

3. `get_transaction_history`
   - Get transaction history
   - Input:
     - `start_date` (string, optional): Start date in YYYY-MM-DD format
   - Returns: Formatted string showing transaction history

## Usage with Claude Desktop

Add this to your `claude_desktop_config.json`:

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

## Debugging

You can use the MCP inspector to debug the server:

```bash
npx @modelcontextprotocol/inspector uvx tasty-agent
```

For logs, run:

```bash
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
```

## Development

For local development testing:

1. Use the MCP inspector (see [Debugging](#debugging))
2. Test using Claude Desktop with this configuration:

```json
{
  "mcpServers": {
    "tastytrade": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/tasty-agent",
        "run",
        "tasty-agent"
      ]
    }
  }
}
```

## Security Notice

This server handles sensitive financial information and can execute trades. Always:

- Use secure credential storage
- Review queued orders before execution
- Use dry-run mode for testing

## License

This MCP server is licensed under the MIT License. See the LICENSE file for details.

            

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/63/47/08e81c03bfd0ed46dfbe5dd2e5e73374011ab4a89a15af33650c244fef37/tasty_agent-0.1.1.tar.gz",
    "platform": null,
    "description": "# tasty-agent: A TastyTrade MCP Server\n\n## Overview\n\nA Model Context Protocol server for interacting with TastyTrade brokerage accounts. This server enables Large Language Models to monitor portfolios, analyze positions, and execute trades through the TastyTrade platform.\n\nPlease note that tasty-agent is currently in early development. The functionality and available tools are subject to change and expansion as development continues.\n\n## Prerequisites\n\n- Python 3.12 or higher\n- [uv](https://docs.astral.sh/uv/) package manager\n- A TastyTrade account\n\n## Installation\n\nInstall uv if you haven't already:\n\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\nWe will use `uvx` to directly run tasty-agent.\n\n### Authentication\n\nThe server requires TastyTrade credentials. For security, these are set up via command line and stored in your system's keyring (Keychain on macOS, Windows Credential Manager on Windows, or similar secure storage on other platforms):\n\n```bash\ntasty-setup\n```\n\n### Tools\n\n#### Portfolio Management\n\n1. `plot_nlv_history`\n   - Plots account net liquidating value history over time\n   - Input:\n     - `time_back` (string): Time period to plot ('1d', '1m', '3m', '6m', '1y', 'all')\n   - Returns: Displays a matplotlib plot of portfolio value history\n   - Example response: `\"Generated plot showing NLV trend from $10,000 to $12,500 over the last 3 months\"`\n\n2. `get_account_balances`\n   - Get current account balances\n   - Returns: Formatted string with cash balance, buying power, and net liquidating value\n   - Example response: `\"Cash: $5,000.00, Buying Power: $10,000.00, NLV: $15,000.00\"`\n\n3. `get_open_positions`\n   - Get all currently open positions\n   - Returns: Formatted string showing all open positions\n   - Example response: `\"AAPL: 100 shares @ $150.00, TSLA 300P 2024-06-21: -2 contracts @ $5.00\"`\n\n#### Order Management\n\n1. `queue_order_tool`\n   - Queue a new order for later execution\n   - Inputs:\n     - `symbol` (string): Trading symbol (e.g., \"AAPL\" or \"INTC 50C 2026-01-16\")\n     - `quantity` (integer): Number of shares/contracts\n     - `action` (string): \"Buy to Open\" or \"Sell to Close\"\n     - `execution_group` (integer, optional): Group number for batch execution\n     - `dry_run` (boolean, optional): Test order without execution\n   - Returns: Order confirmation message\n\n2. `review_queue_tool`\n   - Review all currently queued orders\n   - Returns: Formatted string showing all queued orders\n\n3. `execute_orders_tool`\n   - Execute all queued orders\n   - Input:\n     - `force` (boolean, optional): Execute even when market is closed\n   - Returns: Execution status message\n\n4. `cancel_orders_tool`\n   - Cancel queued orders based on filters\n   - Inputs:\n     - `execution_group` (integer, optional): Group number to cancel\n     - `symbol` (string, optional): Symbol to cancel\n   - Returns: Cancellation confirmation message\n\n#### Market Analysis\n\n1. `get_metrics`\n   - Get market metrics for specified symbols\n   - Input:\n     - `symbols` (string[]): List of stock symbols\n   - Returns: Formatted string showing IV rank, liquidity, beta, etc.\n\n2. `get_prices`\n   - Get current bid and ask prices\n   - Input:\n     - `symbol` (string): Stock or option symbol\n   - Returns: Formatted string showing bid and ask prices\n\n3. `get_transaction_history`\n   - Get transaction history\n   - Input:\n     - `start_date` (string, optional): Start date in YYYY-MM-DD format\n   - Returns: Formatted string showing transaction history\n\n## Usage with Claude Desktop\n\nAdd this to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"tastytrade\": {\n      \"command\": \"uvx\",\n      \"args\": [\"tasty-agent\"]\n    }\n  }\n}\n```\n\n## Debugging\n\nYou can use the MCP inspector to debug the server:\n\n```bash\nnpx @modelcontextprotocol/inspector uvx tasty-agent\n```\n\nFor logs, run:\n\n```bash\ntail -n 20 -f ~/Library/Logs/Claude/mcp*.log\n```\n\n## Development\n\nFor local development testing:\n\n1. Use the MCP inspector (see [Debugging](#debugging))\n2. Test using Claude Desktop with this configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"tastytrade\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"path/to/tasty-agent\",\n        \"run\",\n        \"tasty-agent\"\n      ]\n    }\n  }\n}\n```\n\n## Security Notice\n\nThis server handles sensitive financial information and can execute trades. Always:\n\n- Use secure credential storage\n- Review queued orders before execution\n- Use dry-run mode for testing\n\n## License\n\nThis MCP server is licensed under the MIT License. See the LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Model Context Protocol server for interacting with TastyTrade brokerage accounts",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "broker",
        " mcp",
        " model context protocol",
        " robinhood",
        " tastytrade",
        " trading",
        " wallstreetbets"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f694deb055618b2edfce922e637c8f9fecceb0e17c251d465fcf4e7187a66ff",
                "md5": "30ed89382ffb9fb5faa1e09c3fa163ff",
                "sha256": "6e6f96e1a600a82ba5025677237bcd8f1977f9a42e81e41dbe9f47e2b4e36ed6"
            },
            "downloads": -1,
            "filename": "tasty_agent-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "30ed89382ffb9fb5faa1e09c3fa163ff",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 74037,
            "upload_time": "2025-01-23T00:35:55",
            "upload_time_iso_8601": "2025-01-23T00:35:55.845542Z",
            "url": "https://files.pythonhosted.org/packages/0f/69/4deb055618b2edfce922e637c8f9fecceb0e17c251d465fcf4e7187a66ff/tasty_agent-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "634708e81c03bfd0ed46dfbe5dd2e5e73374011ab4a89a15af33650c244fef37",
                "md5": "2a70582dac92673631cceb0ec3d212b6",
                "sha256": "628a85ee7964736e63865bc6af1fa3d98a9e2ae0fb85f9c36b5494cde95a3dd5"
            },
            "downloads": -1,
            "filename": "tasty_agent-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2a70582dac92673631cceb0ec3d212b6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 54381,
            "upload_time": "2025-01-23T00:35:57",
            "upload_time_iso_8601": "2025-01-23T00:35:57.911950Z",
            "url": "https://files.pythonhosted.org/packages/63/47/08e81c03bfd0ed46dfbe5dd2e5e73374011ab4a89a15af33650c244fef37/tasty_agent-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-23 00:35:57",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "tasty-agent"
}
        
Elapsed time: 0.45649s