E*TRADE MCP Server
Enables comprehensive E\*TRADE integration with OAuth authentication, account management, risk calculations, watch lists, and trading operations. Includes built-in risk management guardrails, portfolio tracking, market data access, and trading validation for safe automated trading operations.
README
E*TRADE MCP Server
A comprehensive Model Context Protocol (MCP) server for E*TRADE integration with OAuth authentication, account management, risk calculations, watch lists, and trading guardrails.
Features
🔐 OAuth Authentication
- Complete E*TRADE OAuth 1.0a flow
- Token management and renewal
- Secure credential handling
💰 Account Management
- Account balance retrieval
- Transaction history
- Portfolio viewing
- Real-time account data
📊 Risk Management
- R-multiple risk calculations
- Daily loss tracking
- Position sizing guardrails
- Risk validation before orders
📋 Watch Lists
- Create, read, update, delete watch lists
- Symbol management
- Independent from portfolio positions
📈 Market Data
- Option chains with expiration dates
- Real-time quotes
- Security lookup by company name
🚨 Alerts
- Price alerts management
- Alert notifications
- Custom alert conditions
Installation
Prerequisites
- Python 3.11+
- E*TRADE developer account with API keys
Install via UVX (Recommended)
uvx --from git+https://github.com/davdunc/mcp_etrade.git mcp_etrade
Install via pip
pip install git+https://github.com/davdunc/mcp_etrade.git
Development Install
git clone https://github.com/davdunc/mcp_etrade.git
cd mcp_etrade
pip install -e .
Configuration
Set your E*TRADE API credentials:
export ETRADE_OAUTH_CONSUMER_KEY="your_consumer_key"
export ETRADE_OAUTH_CONSUMER_SECRET="your_consumer_secret"
Usage
Standalone Server
python -m mcp_etrade.server
With Colosseum Framework
Add to ~/.config/colosseum/mcp.json:
{
"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
Authentication
get_request_token- Start OAuth flowget_authorization_url- Get user authorization URLget_access_token- Complete OAuth flowrenew_access_token- Refresh tokensrevoke_access_token- Revoke access
Account Management
get_account_balance- Get account balance and detailslist_transactions- List account transactionsget_transaction_details- Get specific transaction detailsview_portfolio- View portfolio positions
Risk Management
calculate_risk_parameters- Calculate R-multiple risk parametersvalidate_order_risk- Validate order against risk limitsget_daily_risk_status- Get current daily risk utilizationrecord_actual_loss- Record actual trading losses
Watch Lists
create_watch_list- Create new watch listget_watch_lists- Get all watch listsupdate_watch_list- Update existing watch listdelete_watch_list- Delete watch list
Market Data
get_option_chains- Get option chains for symbolsget_option_expire_dates- Get option expiration datesget_quotes- Get real-time quoteslookup_product- Search securities by company name
Alerts
list_alerts- List price alertsdelete_alerts- Delete alertsget_alert_details- Get alert details
Risk Management
The server includes comprehensive risk management features:
- Daily Risk Limits: Configurable percentage of account balance
- Position Size Limits: Maximum 50% of account per order
- Loss Tracking: Both potential and actual loss tracking
- Validation: Pre-order risk validation with detailed messages
Example risk validation:
# Validate order before placement
result = await call_tool("validate_order_risk", {
"account_id": "your_account",
"order_value": 1000.00,
"risk_amount": 50.00,
"risk_percentage": 1.0
})
Testing
Run the comprehensive test suite:
pytest
Test Coverage:
- 105 passing tests
- OAuth authentication flows
- Account management operations
- Risk calculation accuracy
- Watch list CRUD operations
- Market data retrieval
- Alert management
Architecture
- Clean JSON Output: Structured responses for agent consumption
- Comprehensive Error Handling: Graceful failure modes
- Mock Data Support: Full functionality without live API calls
- Modular Design: Separate concerns for OAuth, risk, data, etc.
Integration
Designed for integration with:
- Colosseum: Multi-agent trading framework
- LangChain: Agent tooling and orchestration
- MCP Clients: Any MCP-compatible system
License
GNU General Public License v3.0
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Support
For issues and questions:
- GitHub Issues: https://github.com/davdunc/mcp_etrade/issues
- Documentation: See inline code documentation
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。