E*TRADE

E*TRADE MCP Server with OAuth, account management, risk calculations, watch lists, and trading guardrails
  • python

1

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "davdunc-mcp_etrade": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/davdunc/mcp_etrade.git",
        "mcp_etrade"
      ],
      "env": {
        "ETRADE_OAUTH_CONSUMER_KEY": "YOUR_CONSUMER_KEY",
        "ETRADE_OAUTH_CONSUMER_SECRET": "YOUR_CONSUMER_SECRET"
      }
    }
  }
}

You deploy this MCP server to connect your environment with E*TRADE using OAuth, manage accounts and risk, and automate trading guardrails. It exposes practical capabilities like authenticating users, retrieving balances and transactions, calculating risk, handling watch lists, and providing market data and alerts in a structured, JSON-friendly format for agents and pipelines.

How to use

Use an MCP client to start and communicate with the E*TRADE MCP Server. You can run the server locally for development or connect it through the Colosseum framework to orchestrate multiple MCP endpoints. The server handles OAuth authentication, account operations, risk validation, watch lists, market data lookups, and alerts, and returns clean JSON responses suitable for automated agents and dashboards.

Typical usage patterns include: initializing the OAuth flow to obtain request and access tokens, querying account balances and transactions, validating orders against risk rules before placement, managing watch lists independently from your portfolio, fetching real-time quotes or option chains, and creating or responding to price alerts.

How to install

Prerequisites: Python 3.11+ and an E*TRADE developer account with API keys.

Install via UVX (recommended) by running the following command.

uvx --from git+https://github.com/davdunc/mcp_etrade.git mcp_etrade

Install via pip if you prefer Python packaging.

pip install git+https://github.com/davdunc/mcp_etrade.git

For a development setup, clone the project and install in editable mode so you can modify and test locally.

git clone https://github.com/davdunc/mcp_etrade.git
cd mcp_etrade
pip install -e .

Configuration

Configure your E*TRADE API credentials in the environment before starting the server.

export ETRADE_OAUTH_CONSUMER_KEY="your_consumer_key"
export ETRADE_OAUTH_CONSUMER_SECRET="your_consumer_secret"

Usage details

Run the standalone server directly or integrate it with Colosseum for multi-MCP workflows.

Standalone server command.

python -m mcp_etrade.server

Colosseum integration adds a configuration entry that invokes the MCP server through UVX with the required environment variables.

{
  "etrade": {
    "type": "etrade",
    "command": "uvx",
    "args": ["--from", "git+https://github.com/davdunc/mcp_etrade.git", "mcp_etrade"],
    "env": {
      "ETRADE_OAUTH_CONSUMER_KEY": "${ETRADE_OAUTH_CONSUMER_KEY}",
      "ETRADE_OAUTH_CONSUMER_SECRET": "${ETRADE_OAUTH_CONSUMER_SECRET}"
    }
  }
}

Available tools

get_request_token

Start OAuth flow by obtaining a request token from the MCP server.

get_authorization_url

Provide the user with a URL to authorize access to their account.

get_access_token

Complete the OAuth flow by exchanging the verifier for an access token.

renew_access_token

Refresh the access token when it expires.

revoke_access_token

Revoke the current access token and invalidate the session.

get_account_balance

Retrieve account balances and related details.

list_transactions

List recent account transactions.

get_transaction_details

Fetch details for a specific transaction.

view_portfolio

Display portfolio positions and holdings.

calculate_risk_parameters

Calculate R-multiple based risk parameters for orders.

validate_order_risk

Validate an order against predefined risk limits.

get_daily_risk_status

Return current daily risk utilization metrics.

record_actual_loss

Record actual trading losses for risk tracking.

create_watch_list

Create a new watch list.

get_watch_lists

Retrieve all watch lists.

update_watch_list

Update an existing watch list.

delete_watch_list

Delete a watch list.

get_option_chains

Fetch option chains for given symbols.

get_option_expire_dates

Retrieve option expiration dates for symbols.

get_quotes

Get real-time quotes for securities.

lookup_product

Search securities by company name.

list_alerts

List price alerts for monitoring.

delete_alerts

Remove one or more alerts.

get_alert_details

Fetch details for a specific alert.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
E*TRADE MCP Server - davdunc/mcp_etrade | VeilStrat