使用说明
Robinhood MCP服务器-用户指南
概述
Robinhood MCP服务器为Robinhood Crypto API提供了全面的接口。该服务器通过REST API和WebSocket接口处理身份验证、帐户管理、市场数据检索和交易操作。
目录
特性
- 用于账户管理和交易操作的REST API
- WebSocket支持实时市场数据和订单更新
- 全面的错误处理和记录
- 速率限制和安全最佳实践
- 通过环境变量轻松配置
先决条件
- Python 3.8或更高版本
- pip(Python包管理器)
- Robinhood API证书
安装
-
克隆存储库:
git clone https://github.com/rohitsingh-iitd/robinhood-mcp-server cd robinhood-mcp-server -
设置虚拟环境 (推荐):
# Create a virtual environment python -m venv venv # Activate the virtual environment # On macOS/Linux: source venv/bin/activate # On Windows: # .\venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt
配置
-
创建一个
.env文件 在项目根目录中包含以下内容:# Required ROBINHOOD_API_KEY=your_api_key_here ROBINHOOD_PRIVATE_KEY=your_base64_encoded_private_key_here # Optional (with defaults) HOST=0.0.0.0 PORT=8000 WEBSOCKET_PORT=8001 DEBUG=False LOG_LEVEL=INFO LOG_FILE=robinhood_mcp_server.log RATE_LIMIT_ENABLED=True RATE_LIMIT_REQUESTS=100 RATE_LIMIT_PERIOD=60 -
替换占位符值 使用您的实际Robinhood API证书。
运行服务器
使用以下命令启动服务器:
python -m src.main
这将开始:
- 位于的REST API服务器
http://localhost:8000 - WebSocket服务器位于
ws://localhost:8001
在生产中运行
对于生产用途,考虑使用生产级ASGI服务器,如Uvicorn和Gunicorn:
pip install gunicorn uvicorn[standard]
gunicorn src.main:app --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
运行服务器
使用以下命令启动服务器:
python -m src.main
这将启动REST API服务器(默认端口8000)和WebSocket服务器(默认端8001)。
REST API端点
认证
GET /auth/status-检查身份验证状态
账户
GET /account-获取帐户信息GET /account/holdings-获取账户持有量(可选查询参数:asset_code)
市场数据
GET /market/best-price-获取最佳买卖价格(可选查询参数:symbol)GET /market/estimated-price-获取数量的预估价格(必填查询参数:symbol,side,quantity)
交易
GET /trading/pairs-获取可用交易对(可选查询参数:symbol)GET /trading/orders-获取订单历史记录(可选查询参数:status)GET /trading/orders/{id}-获取订单详细信息POST /trading/orders-下新订单- 必填字段:
symbol,side,quantity - 可选字段:
type,price,time_in_force,stop_price
- 必填字段:
DELETE /trading/orders/{id}-取消订单
Websocket API
WebSocket服务器提供市场数据和订单状态的实时更新。
连接
连接到WebSocket服务器:
ws://localhost:8001
市场数据订阅
订阅市场数据更新:
{
"type": "market_data",
"action": "subscribe",
"symbols": ["BTC-USD", "ETH-USD"]
}
取消订阅市场数据更新:
{
"type": "market_data",
"action": "unsubscribe",
"symbols": ["BTC-USD", "ETH-USD"]
}
订单更新订阅
订阅订单更新:
{
"type": "orders",
"action": "subscribe"
}
取消订阅订单更新:
{
"type": "orders",
"action": "unsubscribe"
}
乒乓球
发送ping以保持连接有效:
{
"type": "ping"
}
服务器将响应:
{
"type": "pong"
}
测试
运行验证测试以确保服务器正常工作:
python -m tests.test_server
配置选项
可以在中配置以下环境变量 .env 文件:
ROBINHOOD_API_KEY-您的Robinhood API密钥ROBINHOOD_PRIVATE_KEY-您的base64编码私钥HOST-服务器主机(默认值:0.0.0.0)PORT-REST API服务器端口(默认值:8000)DEBUG-启用调试模式(默认值:False)LOG_LEVEL-日志记录级别(默认值:INFO)LOG_FILE-日志文件路径(默认:robinhold_mcp_server.Log)RATE_LIMIT_ENABLED-启用速率限制(默认值:True)RATE_LIMIT_REQUESTS-每个时段的最大请求数(默认值:100)RATE_LIMIT_PERIOD-速率限制期(秒)(默认值:60)
安全考虑
- API密钥和机密存储在环境变量中,而不是存储在代码中
- 所有敏感数据都得到了妥善处理
- 对所有API端点实施输入验证
- 实施利率限制以防止滥用
- 正确处理错误,避免泄露敏感信息
故障排除
如果您遇到问题:
- 检查日志文件以获取详细的错误消息
- 验证您的API凭据是否正确
- 确保您有适当的网络连接
- 检查Robinhood API是否可用
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
免责声明
作者对使用本项目可能造成的任何损失或损害不承担责任。