agenthood
Robinhood trading agent: talk to your portfolio in plain English.
https://github.com/user-attachments/assets/ad8595ab-e735-4967-a095-e49b18a33f63
pip install agenthood
agenthood setup
setup walks you through Robinhood OAuth and LLM selection. Config saves to ~/.agenthood/config.json. After that, just run agenthood.
Quick start
import asyncio
from agenthood import AgentHood
async def main():
async with AgentHood() as agent:
print(await agent.chat("What are my open positions?"))
print(await agent.chat("Get me a quote for NVDA and AAPL"))
print(await agent.chat("Review a limit buy of 5 AAPL at $210"))
asyncio.run(main())
chat() sends a prompt and returns the response. The agent picks the right Robinhood tools, fetches data, and explains what it found.
CLI
agenthood # interactive REPL
agenthood "What is TSLA at?" # one-shot
agenthood --live # real orders
agenthood --stream # token-by-token
Inside the REPL, dot commands skip the LLM entirely:
.portfolio show portfolio (alias: .p)
.positions show open positions (alias: .pos)
.quote NVDA quick price quote (alias: .q NVDA)
.analyze PYPL multi-source analysis
.help all commands
Direct tool calls
import asyncio, json
from agenthood import AgentHood
async def main():
async with AgentHood() as agent:
result = json.loads(await agent.call_tool("robinhood_get_equity_quotes", {
"symbols": ["NVDA", "AAPL"]
}))
print(result["data"]["results"])
asyncio.run(main())
call_tool(name, params) bypasses the LLM and calls a Robinhood MCP tool directly. 53 tools available.
Safety
from agenthood import AgentHood, AgentHoodConfig
cfg = AgentHoodConfig(
dry_run=False, # default True -- blocks place_* tools
max_order_value=1000, # hard cap per order in USD
allowed_symbols=["AAPL", "NVDA", "TSLA"],
)
Safety hooks run at the tool-call level. The LLM cannot talk its way around them.
Config
All config lives in ~/.agenthood/:
~/.agenthood/
config.json # model, api keys, safety settings
history # readline history
sessions/ # saved chat sessions
watches.json # price alerts
triggered.db # alert history
logs/ # daemon logs
daemon.pid # background process
{
"model": "meta-llama/llama-3.3-70b-instruct:free",
"api_base": "https://openrouter.ai/api/v1",
"api_key": "sk-or-...",
"analyze_model": "llama-3.3-70b-versatile",
"analyze_api_base": "https://api.groq.com/openai/v1",
"analyze_api_key": "gsk_...",
"dry_run": false,
"max_order_value": 1000,
"max_turns": 20
}
Robinhood token is auto-discovered from ~/.mcp-auth/. No manual setup needed after the first npx mcp-remote auth flow.
Multi-provider routing
{
"model": "google/gemma-4-26b-a4b-it:free",
"model_fallbacks": ["nvidia/nemotron-3-super-120b-a12b:free"],
"analyze_model": "llama-3.3-70b-versatile",
"analyze_api_base": "https://api.groq.com/openai/v1"
}
model handles chat. analyze_model handles .analyze -- Groq runs analysis in ~1s vs ~14s on free tier. Dot commands use no model at all.
Autonomous scanning
cfg = AgentHoodConfig(scan_interval=300) # every 5 minutes
The agent wakes up on a schedule, checks for positions down >5%, scans for RSI breakouts, and records findings.
License
MIT Hemanth.HM
Metadata
Release files for agenthood 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agenthood-0.3.3.tar.gz | 71.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agenthood-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 157.7 kB
Release files / agenthood-0.3.3.tar.gz
| Download URL | agenthood-0.3.3.tar.gz |
|---|---|
| Size | 71.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8b3a18e534e08b680d70d6d20cef684e3d2cd43f6c43200354edf9a8abfb63f
|
|
BLAKE2b-256 checksum How to use checksums |
8abef1eee4ca0d185d9a99855d3fb4f76ba0a899c6424d05fa9b31fbaca80320
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / agenthood-0.3.3-py3-none-any.whl
| Download URL | agenthood-0.3.3-py3-none-any.whl |
|---|---|
| Size | 86.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
734b1f39e93060a90b05f3397b2b647506ed4f78ced3738d41d8265ae47756c0
|
|
BLAKE2b-256 checksum How to use checksums |
de6999b04b195f1cc6b5a12a4d188f6c903bbd4f351bf2a35ba5559a1f629326
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|