You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: AI-native Robinhood trading interface for agents
TypeScript monorepo providing a standalone API client (@rh-for-agents/client)
and MCP server with 18 tools for AI agents to interact with Robinhood.
- Standalone client library with session caching, multi-account support,
and proper error handling (AuthenticationError, APIError)
- MCP server exposing tools for portfolio, trading, options, research,
and account management via stdio transport
- Claude Code skills with three-layer progressive disclosure
(SKILL.md → reference.md → client-api.md)
- Browser-based authentication via playwright-core: passive network
interception of OAuth tokens (no DOM interaction, resilient to UI changes)
- Token refresh flow with device_token and expires_in (matching pyrh)
- AES-256-GCM encrypted token storage with OS keychain key management
- Order placement safety checks — explicit parameters, user confirmation required
- Full test suite with mocked HTTP layer (Vitest)
- Biome v2 for linting/formatting, strict TypeScript, ESM-only
Copy file name to clipboardExpand all lines: CHANGELOG.md
+25-5Lines changed: 25 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,19 +5,39 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
-
## [0.3.0] - 2025-03-10
8
+
## [0.2.0] - 2026-03-10
9
+
10
+
### Added
11
+
12
+
-**Token refresh flow** using `refresh_token` + `device_token` with `expires_in: 734000` (~8.5 days, matching pyrh). Sessions last significantly longer before requiring browser re-login.
13
+
- Detailed encrypt/decrypt flow diagrams in `ARCHITECTURE.md`
14
+
- Authentication section in `CLAUDE.md` documenting browser auth mechanism
15
+
16
+
### Fixed
17
+
18
+
-**device_token capture** in browser login — Robinhood's frontend sends OAuth requests as JSON, not form-urlencoded. The interceptor now parses JSON first, correctly capturing `device_token`.
19
+
-**Release workflow** — added `setup-node` with `registry-url` for npm authentication
20
+
21
+
### Changed
22
+
23
+
- README prerequisites clarified: Google Chrome is required by `playwright-core` (no bundled browser)
24
+
- Removed `robin_stocks` migration context from `ARCHITECTURE.md`
25
+
- Removed OpenClaw MCP bridge references from README
26
+
27
+
## [0.1.0] - 2026-03-10
9
28
10
29
### Added
11
30
12
31
-**MCP Server** with 18 structured tools for any MCP-compatible AI agent
13
-
-**Standalone client library** (`@rh-agent-tools/client`) with ~50 async methods
32
+
-**Standalone client library** (`@rh-for-agents/client`) with ~50 async methods
14
33
-**5 Claude Code skills**: setup, portfolio, research, trade, options
15
34
- Browser-based authentication via Playwright (Chrome)
16
35
- AES-256-GCM encrypted session storage with OS keychain key management
17
36
- Multi-account support (first-class across all account-scoped methods)
0 commit comments