E\*TRADE MCP服务器
一个全面的模型上下文协议(MCP)服务器,用于E\*TRADE与OAuth身份验证、账户管理、风险计算、观察名单和交易护栏的集成。
特性
🔐 OAuth身份验证
- 完成E\*TRADE OAuth 1.0a流程
- 代币管理和更新
- 安全的凭证处理
💰 账户管理
- 账户余额检索
- 交易历史记录
- 投资组合查看
- 实时账户数据
📊 风险管理
- R-多重风险计算
- 每日损失跟踪
- 定位护栏尺寸
- 订单前风险验证
📋 观察名单
- 创建、读取、更新、删除观察名单
- 符号管理
- 独立于投资组合头寸
📈 市场数据
- 有到期日期的期权链
- 实时行情
- 按公司名称进行安全查找
🚨 警报
- 价格预警管理
- 预警通报
- 自定义警报条件
安装
先决条件
- Python 3.11+
- E\*TRADE具有API密钥的开发人员帐户
通过UVX安装(推荐)
uvx --from git+https://github.com/davdunc/mcp_etrade.git mcp_etrade通过pip安装
pip install git+https://github.com/davdunc/mcp_etrade.git开发安装
git clone https://github.com/davdunc/mcp_etrade.git
cd mcp_etrade
pip install -e .配置
设置您的E\*TRADE API凭证:
export ETRADE_OAUTH_CONSUMER_KEY="your_consumer_key"
export ETRADE_OAUTH_CONSUMER_SECRET="your_consumer_secret"用法
独立服务器
python -m mcp_etrade.server采用斗兽场框架
增添 ~/.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}"
}
}
}可用工具
认证
get_request_token-启动OAuth流get_authorization_url-获取用户授权URLget_access_token-完整的OAuth流程renew_access_token-刷新令牌revoke_access_token-撤销访问权限
账户管理
get_account_balance-获取账户余额和详细信息list_transactions-列出账户交易记录get_transaction_details-获取特定交易详细信息view_portfolio-查看投资组合头寸
风险管理
calculate_risk_parameters-计算R-多重风险参数validate_order_risk-根据风险限额验证订单get_daily_risk_status-获取当前每日风险利用率record_actual_loss-记录实际交易损失
观察名单
create_watch_list-创建新的观察名单get_watch_lists-获取所有观察名单update_watch_list-更新现有观察名单delete_watch_list-删除观察名单
市场数据
get_option_chains-获取符号的选项链get_option_expire_dates-获取期权到期日期get_quotes-获取实时报价lookup_product-按公司名称搜索证券
警报
list_alerts-标价提醒delete_alerts-删除警报get_alert_details-获取警报详细信息
风险管理
该服务器包括全面的风险管理功能:
- 每日风险限额:可配置的账户余额百分比
- 位置大小限制:每笔订单最多50%的账户
- 损失追踪:潜在和实际损失跟踪
- 验证:带有详细信息的预购风险验证
风险验证示例:
# 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
})测试
运行综合测试套件:
pytest测试覆盖范围:
- 105项测试通过
- OAuth身份验证流程
- 账户管理操作
- 风险计算准确性
- 观察列表CRUD操作
- 市场数据检索
- 警报管理
建筑
- 干净的JSON输出:对代理消费的结构化响应
- 全面的错误处理:优雅的故障模式
- 模拟数据支持:无需实时API调用即可实现完整功能
- 模块化设计:分别关注OAuth、风险、数据等。
整合
设计用于与以下设备集成:
- 罗马斗兽场:多代理交易框架
- LangChain:代理工具和编排
- MCP客户端:任何MCP兼容系统
许可证
GNU通用公共许可证v3.0
贡献
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
支持
对于问题和疑问:
- GitHub问题:https://github.com/davdunc/mcp_etrade/issues
- 文档:请参阅内联代码文档
