etrade-mcp¶
E*TRADE, one tool call away.
etrade-mcp connects MCP-compatible agents and applications to the typed, async etrade-python client. Read accounts and markets, inspect option contracts, and build precise order previews without embedding brokerage logic in your harness.
Current release: 0.1.0. Install etrade-mcp from PyPI. Interfaces may evolve
before 1.0.
Start here¶
- Install and authenticate with the client CLI.
- Connect your MCP host through loopback HTTP or stdio.
- Choose the tools you need, from focused equities to the full catalog.
- Preview orders and review the broker's complete response.
What is available?¶
| Capability | Tools |
|---|---|
| Accounts, positions, transactions, market data, orders, and alerts | 13 brokerage reads |
| General and nine specialized families, each with new/change previews | 20 previews |
| Local versions, permissions, and credential estimate | server_status |
| Explicitly enabled placement, change placement, cancellation, and alert deletion | 4 mutations |
That is 34 tools by default, or 38 with both execution capabilities enabled. Exact-name allowlists let each host expose only the tools it needs. See the coverage matrix for public client methods, request models, test evidence, and intentional omissions.
Execution belongs to the host¶
Execution defaults off. Preview is separate from placement, and neither a startup switch nor an LLM statement establishes human approval. The trusted host owns exact-request review, approval, submission history, and reconciliation after an uncertain result. See execution tools before enabling mutations. Strategies, scheduling, and portfolio decisions stay outside this package.
Reference and troubleshooting¶
- Configuration and permission boundaries
- Tool results, broker errors, and validation details
- Pagination, precision, and response sizes
- Redacted diagnostic logging
- Optional local Linux service
Development and verification¶
Python 3.11–3.14 are supported. Tests exercise real MCP stdio/loopback HTTP messages and real client serialization with synthetic broker HTTP responses. They do not establish authenticated broker acceptance, model reliability, or strategy correctness. Wheel and sdist checks install independently outside the checkout. No live orders or package publication are part of those checks.
The contributor guide contains environment setup, lint/type/test commands, coverage requirements, parallel/serial test options, and distribution verification.
Project¶
Apache-2.0. This project is not affiliated with or endorsed by E*TRADE or Morgan Stanley.