Robinhood MCP 服务器提供了与 Robinhood Crypto API 的全面接口。该服务器通过 REST API 和 WebSocket 接口处理身份验证、账户管理、市场数据检索和交易操作。
克隆仓库:
git clone https://github.com/rohitsingh-iitd/robinhood-mcp-server
cd robinhood-mcp-server
设置虚拟环境(推荐):
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# 在 macOS/Linux 上:
source venv/bin/activate
# 在 Windows 上:
# .\venv\Scripts\activate
安装依赖项:
pip install -r requirements.txt
在项目根目录创建一个 .env 文件,内容如下:
# 必需
ROBINHOOD_API_KEY=your_api_key_here
ROBINHOOD_PRIVATE_KEY=your_base64_encoded_private_key_here
# 可选(带有默认值)
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
这将启动:
http://localhost:8000ws://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
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,quantitytype,price,time_in_force,stop_priceDELETE /trading/orders/{id} - 取消订单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 - 日志文件路径(默认:robinhood_mcp_server.log)RATE_LIMIT_ENABLED - 启用速率限制(默认:True)RATE_LIMIT_REQUESTS - 每周期最大请求次数(默认:1100)RATE_LIMIT_PERIOD - 速率限制周期(秒)(默认:60)如果遇到问题:
本项目根据 MIT 许可证发布 - 详见 LICENSE 文件。
作者不对因使用本项目而可能发生的任何损失或损害负责。